How The Game Is Played

http://blogs.sun.com/gameguy/date/20050324 Thursday March 24, 2005

Leaving WIndows, a Linux tale

Alright.

I am officially sick of Windows. When it ate a critical system file AGAIN last week and put me out of commission for 3 days I had had my fill. Something I'm not sure that Sun execs have ever entirely grasped is that *most* consumers hate their windows machines. They stay with them for one, and only one reason-- games.

Windows is the primary game platform. Everything else you want to do at this point you can do under Linux but if you want to play your games-- and admit it or not thats what 90% of the consumers do with 90% of their processing time-- you need Windows.

Which brings me to the real topic of this week's Blog: Transgaming.

No, this is not a sequel to my semi-famous "cross gender role-play" blog. Rather, Transgaming is a funny little company that makes a widget that allows *some* Windows games to play on Linux. They call their widget Cedega (I have no idea why) and they call their population of users Transgamers. A rather questionable choice given the primary meaning 'Trans' brings to mind in this country. But they're canadian so maybe they speak differently up there.

Cedega is derived from Wine. Wine, the story goes, stands for "Wine is not an emulator." Recursive definitions are an old GNU gag so don't try to hard to wrap your brain around it. The important thing is what Wine is: Wine is a binary interface for Windows programs. Basically it "looks like" the interface Windows programs use to talk to the Win32 operating system but converts all those calls to appropriate Linux calls. Its a conversion layer that sits between Linux and a Win32 app and allows the Win32 app to act like its running under Windows.

Now Wine itself is not enough to play games. This is because games depend heavily on a special operating system interface Windows designed just for them. It's called DirectX. What the Transgaming guys have done is added DirectX support to Wine. This is not as easy as it sounds.

First off, DirectX is *notoriously* badly documented. When developers code games they write code they think might work that calls DirectX then play with all the emergent properties by trial and error. Its an ugly nasty coding process and as a result most games in one way or another depend on odd, undocumented behaviors of DirectX. (This ofcourse suits Microsoft just fine as it strengthens their lock-in position.)

Secondly, decompilation of DirectX is not an option. Nor is using any of the actual Microsoft executable code. Either would get the Transgaming guys buried in Microsoft lawyers before they drew their second breath.

Instead, what Transgaming does is reverse engineer DirectX behavior based on the games. For each game they work on they run it against their DirectX emulator, see what is broken, and then in the same way game programmers hack their code to work right with DirectX these guys hack their fake DirectX to work with the game.

This is all compounded by the ever present Linux driver problem. Linux graphics drivers, although better then they used to be, still tend to be a second or third order of concern for graphics chip makers. As such, finding the right stable graphics driver version can be important. I went back one version on my NVidia drivers to get Cedega working right with my NVidia 6800 GT. While most modern Linux distributions have an easy and automated wya to install what they consider "the latest" driver (which isn't always the most current one from the manufacturer), installing other graphics drivers in Linux generally involves rebuilding the kernel and is not for the technically timid.

The end result is that Cedega success varies a lot. First you need to get Cedega and your system talking nicely with the right match of graphics driver. After that, a few lucky games at this point work right out of the box, a bunch of slightly older have gone through the tweaking process and are now solid. Many more either don't work or work poorly and in either case will require further tweaking of the Cedega emulator by the Transgaming guys to really be playable. For $5.00 a month you can "join the community." Thsi gives you access rights to donwload the Cedega emulator, a nifty little game and emulator manager called "Point2Play" that makes it relatively painless to install and run the Windows programs as well as keep your Cedega emulator up to date, and the right to vote on what games Transgaming should make their highest priorities.

Now for the good news. When it works, it works a treat. I have City of Heroes up and running and I swear its faster under Linux then it was under Win32. I can't prove that easily, but its a gut feeling I have playing it. Matrix Online on the other hand I can't even get through the patcher yet on. Hopefully they will get to it soon.

So the conclusion is today I am still dual-booting. I am 90% off of Windows. If they can get MxO working under cedega then I will be totally off Windows.. at least until the next game comes around that I can't make work under Cedega.

More info on Transgaming's products can be found at: www.transgaming.com The community site and forums are: www.transgaming.org

Comments:

I'm still in dual boot mode because of 2 games. Anarchy Online & The atrix Online. About 4 years ago Funcom stated that they were going to have a linux version for Anarchy Online. At that time I was on my 2nd year of being windows free. So I was like, GREAT this game seems awsome and it's going to be able to run on linux. They started with the windows version first. 6 months later after having a terrible launch they stated that they will not launch the linux version. I was heart broken. Hence I started my dual boot. I know that it now works with Cedega but not the expansion packs. I've just started playing MxO and it's a cool game. Only if these two games ran flawlessly on linux I'd be "FREE" again.

Posted by Ed on April 13, 2005 at 08:37 AM EDT #

I too wish MxO would work with there product, mind you my second wish is for OS X to work on standard PC hardware, cause if I could get MxO & OS X on my machine without the need to dual boot, I'd be a very, very happy man.

Posted by Jason Hall on July 03, 2005 at 09:51 PM EDT #

Post a Comment:
  • HTML Syntax: NOT allowed