How to play SC2 on Linux

I had some people talking with me earlier today about Linux so I thought I would spend some time on a nice walkthrough.

There will be some command line things here, no real way around some of them but don’t be afraid it is just copypasta :)

To start I would like to give some proof of performance and it should be at least interesting for some people. https://youtu.be/XwwHVh4idz8 (Don’t really judge the build was just messing about against AI so I didn’t really care)

As you can see from the video you have 200 ish FPS, it dips at times for various reasons but isn’t bad at all. The early dip for instance was just loading things from memory. The walkthrough is slightly different for AMD users, this is the Nvidia version of it really, if an AMD user needs help ill give the steps, the main differences is just installing the newest open source drivers, Linux kernel and firmware, a PPA specifically for Gallium Nine which gives a native DX9, it is pretty cool and only slightly different but I didn’t want to have the main walkthough be too long.

On to the how to, note the first few steps are basic really, don’t worry about specifics, if you run into issues with a few of them it won’t really matter, I can help you with them if you don’t understand.

1. If you haven’t already installed Linux I recommend Ubuntu and this entire post will be specifically written for Ubuntu, steps on other distros will be different. The version right now to install is 16.10, when 17.04 comes out use that.
2. Next thing is to install drivers, I have an AMD system so the performance above are with the open source driver. If someone needs this ill put this step in the comments below. For Nvidia users it is easy just install the Nvidia driver available for Ubuntu.

Next bits get a bit more complicated.

Install a newer version of WINE, there are 2 options here, mostly people should use the official wine builds:

sudo add-apt-repository ppa:wine/wine-builds
sudo apt-get update
sudo apt install wine-staging

The one I used is different because it only works with the open source drivers. If people are doing that path like above ill talk them through it. If you are a Windows user the above is what you need.

So you will need corefonts which is just a set of fonts needed otherwise battlenet will crash:

sudo apt install ttf-mscorefonts-installer

Next you need to download battlenet, download the windows installer. Don’t run it yet!!!!!

WINEARCH=win32 vblank_mode=0 Downloads/Battle.net-Setup.exe

Go through the install process and then quit out at the end when it shows the login screen we still need to do a few more little things.

winecfg

Now go to libraries and type into add one by one and hit enter

api-ms-win-crt-math-l1-1-0
api-ms-win-crt-stdio-l1-1-0
dgbhelp
msvcp140
ucrtbase
vcruntime140

Then go to the staging tab and select CSMT (it improves performance)

Then the last step is actually play (you can turn this into a script but it is a fairly easy command to understand so there might not be a point really). It unlocks the framerate, it runs with the debug info off and makes sure (probably unneeded here) that you are running in 32bit.

WINEARCH=win32 WINEDEBUG=-all vblank_mode=0 wine .wine/drive_c/Program\ Files/Battle.net/Battle.net.exe

Then you are good. GLHF

Side note, this is the most safe version of the process, you can try 64bit but there is a bug on my system where I have to use 32bit WINE. This is a super tested way of installing and it gives great performance.

My system information just in case anyone wants to see where am on the performance spectrum:

1. Intel i5-6600K
2. AMD RX 480
3. 16GB RAM
4. 120GB SSD (SC2 installed on a 1TB SSHD)