Skip to content
Fragmented Development

Wine and Dine Your Windows Games

I've been messing around quite a bit with my Linux installation (I'm currently running Kubuntu Linux 7.10) because I'd really like to stay away from my Windows partition as much as possible. A big part of Windows' necessity for me has to do with my crippling addiction to games.

One of the ways to bridge the gap between Linux and Windows games is to use Wine, an implementation of the Windows API that runs in Linux. This essentially allows you to run Windows programs in Linux, with a few caveats.

I've gone through two experiments with running games under Wine: Valve's Steam games, specifically the 1st-person puzzle game Portal, and a great independently-developed space-based shooter named Transcendence (think Asteroids-style navigation with an in-depth space travel sim behind it). I've had quite different experiences with each of these titles running under Wine.

Transcendence was by far the easiest to get up and running, which was a big suprise. It turns out that this application doesn't tie into the registry or register itself with the Windows installer, and instead is basically just a standalone executable file. This makes it much less complicated to run under Wine. All that was required to open the game in all it's glory was for me to change to the Transcendence directory, and open the executable using Wine:

wine transcendence.exe

Presto, I was shooting around the galaxy in no time. To make sure that my Windows environment saved to the same location as my Linux environment, I used a symbolic link to share the directory across the file systems. Sounds complicated, but it boils down to using one folder in two places. Here's the command I used:

ln -s /[*windows partition*]/transcendence/ ~/.wine/drive\_c/transcendence/

That was really it, too. No problems, no wacky configurations or switches I had to research, it just worked. The developer had mentioned that he had attempted to get away from Direct-X to allow this sort of thing, and I have to applaud him. While the game does run a little bit slower on my PC without Direct-X, it's not noticeable. If he ever provides a way to donate money or buy Transcendence, sign me up.

With Steam and Portal, however, the process wasn't as smooth. First of all, the Steam installer is distributed in a .msi file now, which is Microsoft's proprietary installer. This makes it a little harder to install using Wine, but not impossible. I found a great how-to guide for installing Steam using Wine on the ArchLinux Wiki that helped me out with a command that would run the installer:

wine msiexec /i SteamInstall.msi

Not bad, eh? With that, Steam installed just fine and ran without a hitch. The problem came with the games.

Since each Steam game is pretty hefty, downloading each one again over my internet connection just didn't make any sense when I already had them installed on my Windows partition. I tried the symlink trick, but Steam encountered problems when trying to run after then. I quickly scrapped that approach.

Since Valve is also interested in not making me re-download gigabytes of data from their servers, they have provided a neat feature of their Steam client, called "Backup Games", that allows you to back up your game data to your hard-drive. I backed up a couple of games I was interested in trying out in Linux (13 GB for Half-Life 2, Portal, Team Fortress 2, Half-Life 2: Episode 2), and restored them using Wine. Not expecting much, I ran Steam and tried launching Portal.

It worked. I was pretty shocked, but did notice that there was a huge performance hit. Apparently my hardware is very Direct-X friendly, because Portal dropped down to around five frames per second when running it under Wine. Not playable at all, but everything seemed to work. A small setback for such a major victory.

For now, I'll be playing a lot of Transcendence until I can scrap together enough money to build a new PC. My current computer has served me well, but it's showing it's limits, and I think it's time for an upgrade. I'm going to try and upgrade to 64-bit Kubuntu, to see if I can eek some more performance out of my AMD64 processor. But with all things considered, I'd say that Linux gaming may finally be something we can take off our wish lists, if only to replace it with "Native Linux games". But let's not get ahead of ourselves. :-)

Tags: linux


Add Your Comment