Pages

Saturday, January 9, 2010

Linux Gaming Are We There Yet?

Over the past few years, there has been a common question on the Linux vs. Windows desktop front: does the Linux desktop have the ability to play various major release games, and if so what is the performance difference between the two? Linux is commonly overlooked as a viable gaming platform in most communities. Our intention today is to shed some light on what does and does not work inside Linux, as well as give solid performance data for those looking for another option in the gaming world. Each OS has areas where it shows superiority over the other, but for the sake of staying true to the purpose of this article we will only be focusing on the game performance/functionality differences.

Unfortunately there are very few game releases that support running inside Linux natively. To combat this issue there are a few Linux projects that will allow Linux users to run Windows applications - note that we did not say "emulate Windows". We have selected three Linux projects in order to complete our initial round of testing. Our open source project selection "Wine" is a free, easily downloadable project that is created to support both Windows games and applications. The second selection, "Cedega", is a closed source implementation of Wine focused on gaming. The final selection is Crossover Games which like Cedega is a closed source implementation of Wine allowing for enhanced usability and gameplay over Wine.

Some are probably asking at this point, what is Wine? The Wine project was started in 1993 to allow Windows applications to be run under Linux. Wine takes the Windows API (Application Programming Interface) and implements it in the Linux user space. Since Wine is running in user space and is not a part of the Linux Kernel, it relies on the wineserver daemon to provide your basic Windows kernel functionality as well as other various tasks of X integration.

As a quick recap, there are two basic goals we want to complete in this article. First we want to compare performance and functionality of games between Linux and Windows. Second, we will look at the performance and functionality differences of Wine/Cedega/Crossover Games.

Wine Projects: Which Vintage?
Now that we have a basic understanding of Wine, we can dig into Cedega and Crossover Games a bit. The two major goals behind Cedega and Crossover Games are to offer additional game support and a friendlier user interface than what is currently implemented in Wine. That being said these projects have taken two different approaches to the solution.

Since version 2.1, Cedega has been patching and developing their code without using the public Wine source tree. This is mainly due to the license change that occurred with Wine back in 2002 from MIT to LGPL. Under LGPL Cedega would have been forced to publish all their source code for free. The result is that parts of Cedega are open source, but the GUI, Copyright Protection, texture compression, and other parts are closed source. The GUI and Copyright Protection (SecureRom and SafeDisk) is what most people really want, but there are other benefits to paying. First, you get a nice package that won't require compiling on your part - these are available for most Linux distros. If they don't have a package available, you can still get a precompiled binary. Purchasing Cedega also gives you the ability to vote on what games to support in future releases, potentially getting your personal favorite to work sooner rather than later.

Cedega will cost $25 for a 6 month subscription or $45 for one year. If you just want the free version, you lose out on the GUI and you're also going to need to try and get the project to compile on your own. That will entail finding and setting the correct flags for your distro, and in many cases you'll also need to find a patch to make it work.

Crossover Games uses the current Wine source tree and employs Wine developers to handle part of their proprietary code. Crossover Games also contributes code to the Wine project as per the LGPL license. This means more of the Crossover source code is available, but paying still provides a better experience - otherwise you're going to have to deal with the same compiling/patching issues as Cedega.
Crossover is available for Mac OS or Linux, with the Linux version costing $40 per year. (A $70 Professional version gets you enhanced features that are mostly useful for corporations and multi-user environments - nothing you need for gaming under Linux.) The free version of Crossover will provide users with some of the GUI, but the final result is still less desirable than the pay-for version. Honestly, if you're going out and buying $50 (or even $10) games and you really want to play them under Linux, you'll save yourself some headaches by just ponying up for the full version of the software. Of course, at that point you're almost half-way to the purchase of a licensed copy of Windows (though you'd still have to deal with the hassle of dual booting).

One of the key features Wine is missing is relative to Cedega/Crossover is an easy to use GUI. Wine does install shortcuts on your Linux desktop, but when it comes to managing your different Wine environments there isn't really anything available. As far as the free versions of Cedega/Crossover, you get a somewhat functional watered down version of Crossover/Cedega, but I have never had great results with the CVS versions. You might as well pay the couple of bucks to get the full version along with all the bells and whistles.

Users new to Linux will likely prefer Cedega/Crossover Games over Wine due to the interface and easy implementation of the application. Both of these projects also support different games than your standard Wine install. As far as game compatibility, the three projects use similar rating schemes. Wine and Crossover both use medals: Gold means it should install and run pretty much as you would expect; Silver means it will install and run well enough to be "usable", but you'll likely encounter some bugs or performance issues; and Bronze is for games that can install and at least partially run, but frequent bugs/crashes are likely. Wine also adds a Platinum rating, which is for games that install and run flawlessly - Gold Wine games may require a special configuration. For Cedega, the ratings are broken down into Cedega Certified (Platinum/Gold), Checkmark (Silver), and Exclamation Point (Bronze). There are of course plenty of other games that are unrated, as well as games that are known not to work.

Despite the ratings, it's possible to have a very different experience than what you would expect. A bronze game may work fine for you, or a gold game may have problems. Hardware and drivers play a role, sure, but other times you're just left with some head scratching. Of course, if you're already running Linux and intend to give any of the Wine projects a shot, you likely are familiar with the process of searching wikis and forums, a skill which can save a lot of time.

The Test Setup
One of the great things about Linux is that there are hundreds of distributions available for us to utilize. We are selecting Arch Linux (64-bit) for a few different reasons. The Arch base install is small and does not come packed with pre-configured running services. This will remove any question about what might be running in the background that affects gaming performance.

No comments: