Search This Blog

Install StarCraft BroodWar on Ubuntu Linux 20.04 LTS

Install Starcraft on Ubuntu Linux 22.04

1. Enable 32 bit (i386) arcitecture

sudo dpkg --add-architecture i386

2. Install wine-staging

  • Add WineHQ gpg key
    wget -nv https://dl.winehq.org/wine-builds/winehq.key -O - | sudo apt-key add -
  • Add WineHQ repository
    sudo add-apt-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ focal main'
    sudo apt update
  • Install winehq-staging
    sudo apt install --install-recommends winehq-staging

wine-staging will be installed into /opt/wine-staging

3. Install required packages

sudo apt update
sudo apt install libgl1-mesa-glx:i386 libasound2:i386 libasound2-plugins:i386 libc6:i386 libncurses5:i386 libstdc++6:i386 libxtst6:i386 libldap-2.4-2:i386 libfreetype6:i386

4. Download StarCraft-Setup.exe

Download StarCraft-Setup.exe from https://us.battle.net/download/getInstaller?os=win&installer=StarCraft-Setup.exe

5. Install StarCraft

Run the commands below in a Terminal window to install StarCraft:

export WINEDLLPATH=/opt/wine-staging/lib/wine/fakedlls
export LD_LIBRARY_PATH="/opt/wine-staging/lib:$LD_LIBRARY_PATH"
WINEDEBUG=-all WINEPREFIX="${HOME}/.wine" /opt/wine-staging/bin/wine ./StarCraft-Setup.exe

While installation, you may be asked to install "Mono" and "Gecko" packages for the wine prefix.

6. Fix QT platform plugin error

Installation may be failed with error: This application failed to start because it could not find or load the QT platform plugin "Windows"


To work around this, you need to install attr package and use setfattr command to removed the atrribute: user.DOSATTRIB

6.1. Install attr package

sudo apt install attr

6.2. Remove file attribute

find "${HOME}/.wine/drive_c/Program Files (x86)/Battle.net" -name qwindows.dll -exec setfattr -x user.DOSATTRIB {} \;
or
setfattr -x user.DOSATTRIB "${HOME}/.wine/drive_c/Program Files (x86)/Battle.net/Battle.net.13894/platforms/qwindows.dll"
More details about this issue: see

6.3. Continue the installation

After removing the attribute, you can then continue the installation by executing the command below in the Terminal window:

WINEDEBUG=-all WINEPREFIX="${HOME}/.wine" /opt/wine-staging/bin/wine "${HOME}/.wine/drive_c/Program Files (x86)/Battle.net/Battle.net.exe"

7. Create StarCraft startup script

After installation, you can start StarCraft using the command below:

WINEDEBUG=-all WINEPREFIX="${HOME}/.wine" /opt/wine-staging/bin/wine "${HOME}/.wine/drive_c/Program Files (x86)/StarCraft/x86/StarCraft.exe"
You can also create a wrapper script at ~/.local/bin/starcraft and add contents below
#!/bin/bash
export WINEDLLPATH=/opt/wine-staging/lib/wine/fakedlls
export LD_LIBRARY_PATH="/opt/wine-staging/lib:$LD_LIBRARY_PATH"
WINEDEBUG=-all WINEPREFIX="${HOME}/.wine" /opt/wine-staging/bin/wine "${HOME}/.wine/drive_c/Program Files (x86)/StarCraft/x86/StarCraft.exe"
You need to make the script executable:
chmod +x ~/.local/bin/starcraft


You can now start StarCraft with command
starcraft


See also

1 comment: