Linux Zealots

I play a lot of StarCraft. Here’s how I do it on my Linux box.

Installing Wine

First, I install and configure Wine. In particular, I leave the virtual desktop option off, and ensure that a sound driver (in my case, ALSA) is configured.

ISO Images

Both CDs are required for installation and play (assuming one wants to play all the campaigns), so I dump ISO images of them to my filesystem somewhere:

dd if=/dev/cdrom of=/mnt/share/wine/starcraft.iso bs=2048
dd if=/dev/cdrom of=/mnt/share/wine/broodwar.iso bs=2048

I also have these images in my /etc/fstab:

/mnt/share/wine/starcraft.iso /mnt/starcraft iso9660 ro,loop 0 0
/mnt/share/wine/broodwar.iso /mnt/broodwar iso9660 ro,loop 0 0

I mount them at boot; this can be disabled via the noauto option.

These mountpoints should be symlinked in ~/.wine/dosdevices, each as their own device, so that the executable finds them when it looks.

Installing StarCraft

Now, I install StarCraft, Brood War, and the latest patch through Wine.

Since I have several user accounts on my machine, I create a symlink in ~/.wine/dosdevices to a directory with group read-write permissions for all local (human) users, and install it there. That way, only one copy is necessary, and maps, replays, profiles, etc. all live in the same place.

At this point, the game should just work. See the AppDB entry for more information about running StarCraft through Wine.

Run Script

Finally, I create a script in my path to run the game:

#!/bin/bash
wine /mnt/share/wine/Starcraft/StarCraft.exe

A nice side effect is that in awesome, I can hit [modkey]+F1 and type starcraft all with my left hand. I’ve gotten pretty quick at it too…

Mar 3rd, 2009
Comments are closed.