Things are looking up for Linux game support

22 10 2007

While Linux probably isn’t quite ready to be a operating system choice for gamers, Linux users who happen to want to game are in for a treat.

Recently released was a native client for Enemy Territory: Quake Wars which I have been having fun playing the last couple of days. Many people have been claiming it as a BF2 rip off (mostly BF2 players) however the gameplay itself is completely different even if there are quite a few similarities (plus BF wasn’t the first game to implement its class system or vehicles, just one of the more memorable, also its something that UT2003 already did). Its a much faster passed game so there is very little waiting in a corner waiting for someone to come and capture a flag or running across the map for 5 min until you get to one, although a lot of the team play has been stripped down but this just makes it play more like a standard FPS which isn’t bad, just different. There is a list of important to note differences for BF players here.

And out next month is Unreal Tournament 3 which is getting a native client, theres a Windows beta demo out and a Linux one on its way, when ETQW is mentioned people generally cry that UT3 is better, personally I’m going to buy both although its hard to tell from prerelease hype and a beta demo exactly how good a game is going to be. They both seem like great games, and since UT3 has both FPS and BF style gameplay it should be flexible enough to keep interest.

Source games such as Team Fortress 2 are working great under WINE with the same performance as under Windows (You might loose %5 but make up for it with lower lag, the advanced shaders can apparently be enabled with a setting if you want), with the whole Orange Box going for $50USD (About $56 AUD thanks to America ruining its economy). The latest version of Wine 0.9.47 runs Steam great, although I did run into a problem with purchasing Orange Box through PayPal since it opened PayPal in Firefox but then Firefox wouldn’t execute the steam://paypal/return command, I was worried for a while that it was going to charge me without adding the game but PayPal showed no payment, I coped out and booted to a windows partition and brought it through there but its probably possible to manually pass the command with something like “wine ~/.wine/drive_c/Program Files/Steam/Steam.exe paypal/return” or set the protocol association in Firefox to run the command but I haven’t looked at it too much. now I’m awaiting my TF2 and HL2E2 download, already beat Portal which was a fun game although a bit too short hoping there is a squeal in the not too distant future. Valve recently posted that job for a Linux games programmer and have already ported source to use OpenGL for the PS2 so we could see a native Linux client in the future.

EDIT: I just tried HL2:E2 seems to have some graphical problems with the shaders turning everything bright colours, running without them causes crashes however you can run with the game in DirectX 8 mode and loose some graphical detail, this is probably something that will be fixed fairly soon since it seems like a simple bug, they already fixed some similar problems with Portal.
EDIT2: Use wine 0.9.46 not 0.9.47 this works without the -dxlevel 80 flag, I had the same problem with TF2 that I did on HL2E2, works great with 0.9.46.

Wine’s seems to have most of DirectX emulated, the main problem is a few minor bugs that crop up in games, such as the mouse cursor being stuck or leaving the window etc… Most of the bugs that are left are minor but make games unplayable and are often specific to only the one game. Unfortunately there are enough of these that most games don’t run but its certainly getting there, presumably a lot of these are in the target for Wine 1.0

Wine is improving quite fast, probably faster than new specifications are being produced and with many games ensuring that DX9 is supported due to the slow adoption of DX10 and with the OpenGL 3.0 specification approaching release its might make implementing the DirectX>OpenGL wrapper a whole lot quicker since it seems to support many of the same features, we could see WINE running more games off the shelf than ones that don’t within a few years.

Virtualization could also be another great way to run games under Linux but with %100 compatibility although requiring a copy of Windows, all that would be needed is a way to allow direct access to the video card, this can actually be done under Xen but requires a 2nd video card since the first one will be locked by the BIOS at boot. Alternatively a DirectX>OpenGL wrapper in the windows install could work, I hear this is how parallels works using the WINE one, but it might sacrifice some compatibility and speed. OpenGL can already run from a virtualized environment with VMGL, with this and WINE’s DirectX it might even be possible already. Maybe some official support from nVidia/ATI would expedite things.

Theres some interesting history about WINE’s DirectX implementation and information about a DirectX 10 implementation being underway here.