Okie dokie - so I've mentioned before that I play Starcraft 2 under my Linux install with no issues. Since the game's official release a few days ago I have been getting a good bit of traffic on those two pages - so I figured I would put together a quick HOWTO for getting Starcraft 2 working on your Linux distro of choice. The game runs under Wine 1.2 and/or Crossover Games 9.1 with a small bit of work (the latter is easier to make work).
Since free is good I'll talk about the Wine HOWTO first. First off, download and install Wine 1.2 on your system. Next, run the following commands in terminal:
cd ~/Downloads
wget http://winezeug.googlecode.com/svn/trunk/winetricks
chmod +x winetricks
./winetricks droid fontfix fontsmooth-rgb gdiplus gecko
./winetricks vcrun2008 vcrun2005 allfonts d3dx9 win7
./winetricks vcrun2008 vcrun2005 allfonts d3dx9 win7
winecfg
In the configuration Window it opens go to the libraries tab and enter mmdevapi in the new override for library box and click add. Now scroll through the existing over rides list for mmdevapi click edit and set it to disabled. Finally click on the audio tab and set it to alsa.
If you still have audio issues after doing this and your distro uses Pulse Audio (Ubuntu does) install Wine 1.2 that has been built with pulse audio support with the following commands in terminal:
sudo add-apt-repository ppa:c-korn/ppasudo apt-get update && sudo apt-get upgrade
As of Crossover 9.1 Starcraft 2 is listed as "officially support" and as such you will find that it has an entry in the automated games installer. The only issue is that after the game has actually finished installing the StarCraft 2 process hangs around - meaning Crossover never actually knows that the game has finished installing and thusly never creates menu entries for it. Thank fully there is a simple fix for this - after Starcraft 2 has finished installing, open up your system monitor and look for any rogue Starcraft 2 processes and kill them off. After you have done this the CXGames installer will know that it has finished installing and will create the menu entries as it should.
If you have audio issues under Crossover you can open your Starcraft 2 bottle's WineCFG, select the audio tab, and set hardware acceleration from full to emulated.
If you have audio issues under Crossover you can open your Starcraft 2 bottle's WineCFG, select the audio tab, and set hardware acceleration from full to emulated.
Also - if you are trying to install from the retail CD (with Wine or Crossover) you might need need to manually mount the disc due to an issue with its split PC/Mac auto mounter. To do this run the following two commands in terminal:
sudo umount /media/SC2*
sudo mount -t udf -o ro,unhide,uid=$(id -u) /dev/cdrom /media/cdrom
Note some drives may use /dev/sr0 (or other mount points) instead if /dev/cdrom. If you are having issues getting it working scroll through the comments for some good tips - if you are still unable to get it working after that, make a comment of your own :)
Also - if you are attempting to get the game running with an ATI card, it was suggested in the comments that making it run under a virtual desktop allows it to run on some systems it otherwise fails to work on.
I tested the above methods on Ubuntu 10.04, Linux Mint Debian, and Chakra - but they should be applicable to any modern Linux distribution. Have any issues feel free to drop a comment below and I will do my best to lend a hand debugging. Happy gaming!
~Jeff Hoogland