Introduction by Jarred

A few months back, I wrote an article looking at battery life on a couple of laptops using several different OSes. Windows XP, Vista, and 7 were the main focus, but I decided to test battery life on Linux running Ubuntu as well. Naturally, the Linux community wasn't happy to see their OS place last in the battery life results. One of the readers actually took the time to offer his help in getting a Linux OS configured "properly", and we started work.

Eventually, we abandoned the follow-up article as I had other pressing matters to get to and troubleshooting Linux from half a continent away is difficult (plus we started with the NV52, and ATI support under Linux is still lacking), but I offered Christopher the chance to write a couple pilot Linux articles for our site. He had shown a much better knowledge of Linux and I figured getting someone passionate about the OS was our best bet. (I'll let Christopher tell you what he does for his "real job" if he so desires.)

As a side note, with Anand's call for more writers, this sort of passion for any technology is what we like to see. Show us you know what you're talking about and you care about the technology, and there's a good chance we can use your skills.

With that out of the way, here's Christopher's first Linux article where he provides a concrete look at something few have ever attempted: Windows Gaming on Linux.


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?
Comments Locked

126 Comments

View All Comments

  • apexwm - Thursday, January 7, 2010 - link

    I've been a Linux user for over 12 years. Up until recently, getting Windoze software, particularly games, has been a challenge until the past few years. Recently I purchased two new Dell Inspiron desktops, and got two nVidia 9400 GT cards for them, and installed Fedora 10 Linux. I was pleasantly surprised as the excellent performance of 3D games in Wine. The key is the nVidia cards, which have excellent support in Linux. Other cards like ATI do not, and you will probably have issues with non-nVidia cards. My suggestion is to stick with nVidia, and you should be in good shape. And, there is hope if you still cannot get games to run in Wine,.. and that is VirtualBox. VirtualBox will allow you to install a complete Windoze 2000/XP virtual machine, with Direct3D support integrated. This allows you to run games in there as well.
  • FlyTexas - Sunday, January 3, 2010 - link

    Why on God's green Earth would you BOTHER?

    That is a whole pile of work, to do what, play some games kinda ok?

    Windows is NOT that expensive. If you can build your own computer, you can buy a copy of Windows.

    I've used Linux, I get the benefits for servers, it really does shine in many ways there...

    But for the desktop? Good lord, why bother?
  • ap90033 - Monday, January 4, 2010 - link

    I AGREE. Technet Plus is $250 with coupon, and that gets you TEN of Windows 7 Ultimate and 10 Office and TEN of most of Microsofts software.. DUH or you can go OEM for around $100 you can get a MS OS and PLAY ANY Freakin' Game you want.
  • Penti - Tuesday, January 5, 2010 - link

    Actually according to Microsoft OEM-software isn't allowed on self built machines.

    Retail copy is not THAT expensive ($300 for 7 Pro/320 for Ult) but, why not just copy/pirate as you does on any other self built Windows machine. Technet is btw dependent on existing OEM-licenses. It's a volume license and software assurance. Nobody, nobody legally license software for their self built computers.
  • eekamouse - Monday, April 26, 2010 - link

    The answer to your question is incredibly simple, Linux is by far the most stable, robust and powerful desktop operating system on the market, not to mention the most beautiful kde4 / e17 put windows 7 to shame compiz adds effects windows users can only ever dream of..

    Windows doesn't even come close to what I can do on Linux.. If I had to buy Linux I would, I wouldn't buy windows. Windows is mediocre at best. Its logging capability is non-existent, its performance is mediocre, the notion of a registry is just asinine having to reboot on package updates is stupid, its lack of a good shell is just a joke, Its user management is third rate, its tcp/ip stack is pretty poor its security is shit. IE has to be the worst browser on the market.. Its features are mostly gimmicks.. In 20 odd years of being in the market Microsoft has produced nothing original, its been copying from freebsd left, right and centre and even more so copying Mac and Linux.. Why get an operating system that has no original ideas of its own ? Why pay money for an os that has to copy everyone else ?

    So why would I run Linux ? Linux performance has always put windows to shame. It has some of the best schedulers, some of the best file systems, the best security models practically any program I want is just an apt-get away. It also has the best shell, bash.. Most importantly it has vim and it has loads of different programming languages and I can use it to get my work done, without having to faff about looking in a bajillion websites to try and find software to do my work.. I don't have to worry about adware and spyware because everything comes from a central repository and is open source so its guaranteed to do exactly as advertised and its all signed.. I don't have to worry about viruses because there are practically none in the wild and even then the Linux security model has had privilege seperation from the start (windows uac ? blatent rip off of sudo and badly implemented) ..

    The hardware support in Linux has become so good that I can connect a printer to my usb port and it automatically detects what it is and configures it all for me without me having to do anything. In windows I would have to faff about searching for the driver.. I connect my ps3 playtv tuner to my Linux box and it works out of the box I connect the ps3 eye and it works out of the box.. Everything just pretty much works and it works well and all out of the box.. The Linux hardware support is nothing short of amazing. It has more hardware support than windows because it works on practically every platform available..

    By the way this article has to be the worst article ever..

    Short answer : Linux gaming are we there yet ? No

    No it will never be there until there is first party support for games.. Games like

    Primal Carnage
    Quake Live,
    ET: Quake Wars
    Savage 2,
    ET: RTCW,
    RTCW,
    MOHAA,
    Quake3,
    Quake 2,
    Doom Series
    Unreal Tournament 1 / 2 etc
    Penny Arcade Adventures (ep 1 n 2)
    etc..

    Which all had/have native Linux clients. These are fine to look at and compare against their windows counterparts and to try and determine if Linux is capable of running games..

    Will it be there soon, will it be able to play the latest and greatest games ? Well that depends on the publishers and developers.. There is no hardware or software limitation stopping it. Most multiplat games released on consoles are developed using OpenGL or a variant of it, because the ps3 uses openGL quite obviously and all multiplat games support the ps3.. This means that the engines already natively support OpenGL are capable of running on Linux without much difficulty, the only question is is it worthwhile for the developer to build a native Linux client ?

    http://www.phoronix.com/scan.php?page=news_item&am... If this is true and Steam is coming to Linux, then yes Linux gaming will be there, yes Linux will become a very viable gaming platform.

    Trying to determine whether Linux is ready for gaming by running wine to try and run a windows layer on top of linux,to then run directx and then run windows games on Linux is frankly just retarded..

    This article proves nothing other than absolute and utter stupidity. If you run Wine to play games you are part of the problem, wine is the problem not the solution.. Wine has to constantly try and catch up to and match Microsoft to try and match the changes microsoft makes to its closed source dls and operating system.

    Its all fun, but ultimately its a battle that will never be won, because you are dependant on Microsoft and trying to decode and work out Microsofts system.. Why would publishers and developers bother porting games if people running Linux try and hack the game to work through wine and dont ask the developers for a native port ? Its just such a stupid idea.. This is why this article is just so ill conceived and so badly thought out..

    Its like using cygwin on windows and trying to say is windows ready to be a competent Unix like operating system ? Can windows run a good shell ? Can it be a good server ? Sure you can get stuff to work, but its pretty much shit and it will still be shit as a server operating system even with cygwin adding some GNU tools.

    Also to the AnandTech editorial team, by and large I love reading your hardware reviews its great to read the reviews and to get a good understanding and another source of verification for hardware capabilities. I also really respect the fact that you have tried to run a Linux column, but please please please understand Linux is not Windows..

    You have to understand and respect the origin of Linux and try and understand the operating system, not to blindly expect it to behave and act like windows looking at the article :

    Revisiting Linux Part 1: A Look at Ubuntu 8.04 By Ryan Smith.

    I get it he really doesn't know much about Unix as a whole, but seriously at least do a little bit of research before writing a column.. The worst suggestion in that article was about the FHS and renaming stuff like /home etc.. This is where most Linux people were probably banging their heads on their tables and slapping their forheads at you, do you have any idea how damn beautiful the fhs is ? I can jump onto sun solaris / FreeBSD practically any variant of Linux practically any Variant of Unix for that matter and know that logs are stored in /var usually /var/log.. All configuration exists in /etc/ .. All program files is in /usr All home directories is in /home , All system programs in /usr all spooled data in /var etc... Why fix something that isnt broken ? Why fix something that is better than on every other platform.. Where is windows config files exactly (yeah i know the horrendous registry) where are programs ? where is a specific binary where are logs ? where is the temp directory ? where is user data stored ? its all such a freaking mess , stuff is scattered throughout the system and some of it is locked in some really obscure registry keys..

    Windows pre xp installed stuff in c:\windows\documents and settings vista it moved to c:\documents n settings and now in 7 its c:\user like at last the clueless idiots worked out that having a central place to store home directories is a good idea.. An idea they ripped straight from Apple which is basically /home from unix world (infact I think its a hard link to /home so they are still maintaining fhs in some messed up way, what they are doing is getting incredibly messy as well).. So to ape on /home is just stupid.. /home is exactly what it is /users is well dumb its my home directory its my home in the system its not the "users" directory its my home its the user home in the system.. Please understand the concepts because once you understand the concepts you begin to realise just how backwards windows is..

    If you only understood the beauty of this method.. My /home is mounted as its own partition.. I reinstall my os I change stuff my /home is preserved I dont lose any of my data my documents follow me.. Try and move users around on a windows machine, its the biggest and slowest pain in the ass in the world.

    Having drive letter to connotate partitions is just asinine.. Think about that for a second.. I have a partition which is part of 1 drive but that partition is the D drive.. Which moron came up with that convention ? I should be able to have a partition and map that directly into a specific destination within the filesystem into a specific directory its still the same drive after all.. I should be able to treat it as its own entity its own partition but be able to map it to any location within my system.. My disk space on c:\ is running out oh no what do I do ? What can I possibly do ?

    Do I add another drive and dump the data across to this other partition and start installing stuff there ? How stupid is that exactly ? Why cant I plug in another drive and take the logging directory for example compress it reserving permissions and copy it across to a new partition within this drive and then map this partition to become the new logging folder in the exact same place within the partitions and remove the old logging folder and free up space on the main system ?

    Even better than that with LVM (which all linux distributions use by default) I can add another drive add the drive to the same volume group and increase the size of the volume on the fly and add partitions on the fly.. This is proper design this is proper architecture... Further examples look at btrfs the new upcoming Linux filesystem it beggers belief people are willing to develop technology like this and make it all open source for everyones benefit, it is by far the best and most sincere act of humility and humanity around.. Take a look at ZFS (Sun Solaris ) An absolutely beautiful crafted file system as well..

    This is why I say windows is just mediocre, because it is just that its a very very mediocre operating system and has a long way to go until it can compete with unix operating systems or with Linux.

    End of my rant
  • ravigehlot - Sunday, May 23, 2010 - link

    I agree with you for the most part. The Linux platform is well thought out and more robust. I have been using Linux since 1998. But until more companies start to adopt Linux as a Desktop option and begin to develop drivers for the Linux platform, it will be 2nd to Windows and 3rd to MAC. It's just reality. Yes, MOST printers work in Ubuntu out of the box when you plug it but some still don't. The few that work still isn't fully supported. My Brother printer prints text just fine but it chokes on images or PDF files. Yes, the FHS in Linux is all the way better and well designed. There is no need to get at the prompt level anymore. So proven that DELL has adopted Ubuntu Linux as an option. Why? The GUI just works fine for most people.

    Wine is a shame at all levels. Like you said, it will never catch up and most programs brake big time on Wine. VirtualBox is a much better idea.

    I would still like to see software like Photoshop, AutoCAD and CorelDraw for Linux. People would pay FULL price for these softwares if they didn't have to pay for an OS like Windows. We aren't there yet.

    As far as virus for Linux. There aren't any malign viruses for Linux because there aren't that many people to infect. When Linux takes 50% of the Desktop Market then you will see viruses being developed for the Linux platform. It isn't reality yet because it isn't worth yet. Linux only has about 8% of the market and as we all know is mostly servers. About 3% of Linux is Desktop users. I wouldn't put my time into trying to infect only 3%. So for now, Linux is safe.

    Just my $0.02 cents,
    Ravi Gehlot
    ravi@ravigehlot.net
  • eekamouse - Friday, July 16, 2010 - link

    Sorry been busy, but I thought I would just answer your points now..

    If you look at the platforms Linux works on (From Android to the top super computers in the world), it actually supports more hardware, look at the cpu and architecture support.. Linux works on Sparc / x86/ x86_64 / ARM .. ... Practically any platform you can think of it works on and has been ported to and when you combine that hardware you would also know that for a fact Linux supports a greater hardware range than practically any other OS out there..

    The Mac has the worst hardware support , not by kernel design or actual OS but by actual support, the actual Darwin Kernel and BSD core is nothing short of impressive, I also think Mac OSX is just a far better platform than Windows..

    Next to the issue of security..

    There is just things you dont seem to understand where Virus or Security is concerned. It is nothing to do with market share but to do with design..

    Lets take market share into consideration.. What is the most popular web server on this planet ? The top million busiest sites are 70% Apache I dont know what percentage of that is Linux but it would have to be high 80-90% odd running Linux..

    Put simply Linux is the most popular web serving platform with majortiy share.. Now how many times has IIS been attacked with Worms and Virii and how many times has Apache ?

    Feel free to do research into this I think the only real worm to effect Apache was the slapper worm thats about it.. Pretty pathetic. I didnt even bother trying to count the IIS outbreaks, no competition ...

    I am not saying Linux is the most secure or best designed I am sure I would have OpenBSD bods jumping up and down and screaming at me if I said that..

    It does however come with a few very important security features.. Firtsly is true privilege separation, no one logs in as or should log in as root , in ubuntu root is even completely locked out and only sudo escalates privileges..

    Next we have Chroot , dont trust a user or a process on the system ? Chuck it into its locked down process environment.. It can function properly, but will have limited access to everything.. Easy to use and completely locks down the process.

    Next we have apparmour and SELinux ..

    They implement Mandatory Access Control / Role Based Access Control..

    Each process within the system is ring fenced .. Suse Actively uses AppArmor and so does Ubuntu. Policies are written for each program such as FireFox and it is ring fenced by the policies applied to it..

    SELinux is just extreme overkill actively being pushed by redhat /fedora but we are dealing with complete fine grained control over processes and users and access to locations.. As far as security models go its incredibly secure and also incredibly annoying, because its so secure..

    Windows only now after how many years has implemented what can be classed as a true multi user system with effective privilege separation.. Sorry Windows XP doest count, it was a hack and every one still logged in as root/administrator.. In windows Vista there was the introduction of UAC and the downgrading of user rights.. User Access Control is what Linux has had from the start, its Sudo under a different name... It also happens that current windows vista/7 systems have been far less susceptible to the age old Virus problems, exactly because the core systems is locked out..

    The other issue with Windows security is the mess in which it tries to organise itself, its like swimming in a sea of shit.. c:\windows\system32\drivers\etc\hosts ? Seriously What complete moron stores the hosts file in that location Why are using etc, isnt that a Unix folder ? This is the other problem, how can you separate out processes and location properly when your layout is just so clandestine and horrible ..

    When it comes to malware.. Half the time windows users have to rely on untrusted sources to get programs and install programs, which can then in turn dump a whole load of malware and bloat onto the system.. In Linux this cannot happen, for a very simple reason.. We have centralised package management.. I want to install firefox I do an apt-get install firefox or a yum install firefox.. The packages are all verified and signed you can check the authenticity of the package maintainer and of the package..

    So you see when you take the defence mechanisms that are built into Linux it becomes very apparent that even with Majority market share it is just not as susceptible to the security issues Windows has been.. This is wholly due to the fact that Unix has been around for around 30 years and Linux borrows heavily from the Unix Paradigm and the Unix Model.. Put simply it is the evolution of Unix..

    Its not the be all and end all operating system, it is ultimately created by humans and we are fallible, we make plenty of mistakes , but what it offers is much better than the Microsoft counterpart..

  • eekamouse - Saturday, July 17, 2010 - link

    Btw Ravi I hope you don't take that personal, just me adding more cents to the convo.. I also like your site its nice.
  • valentin-835 - Tuesday, November 29, 2011 - link

    You guys are fussing too much about OS !!
    With gaming it's a bit more complicated than that.
    Over the years we had overly complicated graphics API. Plus the fact that
    manufacturers of video cards have done such a stellar job at hiding
    the hardware and jacking up prices.
    There is hope for Linux.
    It's called Open CL. And it's coming from, you guessed it, Apple.
    For details, check their website.
    The more and the sooner game developers adopt it, the better for everyone.
    Microsoft won't like it because it will kill the DirectX monster API they have
    created. Just like Web programming killed the Windows API.
    Progress is about change. Some don't like it. That's all.
  • due40 - Wednesday, September 8, 2010 - link

    Oh, most people use windows, not linux, so in that situation you're absolutely right. Do not bother if you do not need linux.

    However, for someone like me, where for work purposes windows does not have what I need most of the time, the tables are turned.

    And then you go the extra mile, to get your favourite windows game to work under linux.

    That's all. Because, why, on God's green earth, would I put up with a working environment that does not suit me if I have a working alternative ?

    RG

Log in

Don't have an account? Sign up now