World of Tuxcraft

Over the past week, I’ve been wrestling with a few computers in an attempt to prove Linux is perfectly capable, with the help of WINE, of maintaining the flow of internet crack into your intravenous drips. A number of people I’ve spoken with regarding their being fed up with Windows, have said unequivocally that “if Linux could play games, I’d switch in a second”.

This misconception that people have is disconcerting. Linux most certainly can play games — if the game developer is willing to develop with it as a target, and if video card manufacturers are willing to support their offerings adequately on the Linux platform. Case in point — with an older Nvidia card, as long as direct rendering is set up properly in X (which is a function of having the right video card drivers enabled), one can play Doom 3 and get better frame rates under Linux using Doom’s OpenGL support, than one can get on the exact same machine, under Windows XP, using the “default” DirectX support.

So, if developers wanted to support Linux, they could. Doom 3’s Linux binary apparently only came as an afterthought, showing up about three months down the road, with no indication they were part of the original development timeline. Yet, with a little bit of tweaking, apparently their original code was ported over with (relative) ease, and Linux got a feature-complete game that, without all the bloated overhead Windows (and accompanying antivirus/antispyware and ridiculous pre-loaded OEM software) invariably takes up.

That said, a lot of game designers never had Linux as a target customer group, either because it would take hiring a competent Linux programmer to do the tweaking (and we don’t generally come cheap, like .NET scripters do, because we’re few and far between), or it would take using the OpenGL architecture across the board and forego all those nifty Windows-based developer tools that Microsoft provides as incentive to game developers, or the bigwigs just figure that Windows (and sometimes Mac) is more than sufficient to recoup their development costs (if only it’s advertised well enough). So, there’s a lot of games out there right now that have a lot of draw and lasting appeal — from SimCity to Halo to, yes, World of Warcraft — and these games were never designed with Linux in mind. So when people say “I’d switch if Linux did games”, it’s these games specifically that they have in mind.

And that’s where WINE comes in. WINE is a Windows compatibility layer (it stands for “WINE Is Not an Emulator”, by the way), which allows you to run code intended for Windows using some open-source duplicates of Windows DLLs which provide all the functionality that the Windows API calls normally expect to be able to run. And the great thing is, since the last version, most of DirectX 9.0c runs flawlessly. I say “most”, because WINE is a huge game of catch-up, where every release adds a few more API calls and increases WINE’s compatibility with Windows that much more. Problem being, of course, Windows is a moving target. Anyone who’s tried to run a piece of software from one version of Windows on a newer version knows full well how incompatible Windows is with Windows. And yet, WINE can run a vast array of software from Windows 95 through Vista, many of them with very little arcane setup necessary.

Such was the case Friday night when I tried running World of Warcraft under WINE on my desktop. The ease of setup during this test case completely blindsided me, though, after how much hacking it took just to get it running on Samo’s computer last weekend.

By way of explanation, first, Sam’s computer is a Dell Dimension 5150, just upgraded to 3 gigs of RAM, with an ATI Radeon X300 on PCI Express, and an Intel 2.8GHz processor. It’s a decent machine, more than capable of running WoW with all the settings on high under Windows with the proper Radeon drivers. Once I dual-booted it to Linux, Compiz work brilliantly without any special configuration. WoW, however, was nothing short of a dog’s breakfast. First, nothing but the “fog” or “glow” effects were displaying, so the intro showed a great green cloud along the ground and a glowing blob where the frost dragon should have been. Trying to log in, showed big chunks of the player’s model in seemingly random places as transparent, like sections of her arms and legs and torso just didn’t exist. As well, Sam had logged out inside a building when she’d last played the character, and there’s apparently a bug with the minimap on ATI cards under WINE. After disabling a bunch of features, running the game in OpenGL, and hacking the WINE registry to disable some DirectX calls, I managed to get the game running in a relatively stable state, however most of the graphical effects were ugly or missing (and some other player characters showed up as white models), and the framerate, despite being stripped down to almost nothing graphically, was down around ten or fifteen frames a second in a wholly unpopulated area — utterly unplayable, not to mention ugly.

And yet, I tried it on my own computer, just to see if I could get things working any better with my Nvidia card. To put things in perspective, I had built my computer out of parts, which I had bought probably about a year after Sam’s family had bought their Dell. Its specs are as follows: dual XFX-brand NVidia 8600 GT cards in SLI, 64 bit dual-core 2.0GHz CPU, and 4 gigs of RAM. This is better than Sam’s by a good sight, however the SLI configuration isn’t coded for in WoW, much less in Linux’s version of the proprietary NVidia drivers, so under Linux only one of my cards would be getting any kind of workout. So, that it would work better, was not a surprise at all, it was more a matter of exactly how much better, and how much tweaking it would take to get it to that stage. What WAS a surprise is that I did absolutely nothing special to get it running. I installed WINE, then ran WoW to see what I’d have to tweak, in its default configuration (using DirectX rather than OpenGL), and it all… just… worked. My jaw dropped when I saw the frost dragon in all its glory fly out of the distance, land and roar, easily as beautifully as it does under Windows.

Right now, it runs with an unshakeable 50FPS (limited to this intentionally), while using about 40% of one of my two processors, with my LCD’s full native resolution of 1280×1024, and every graphics feature turned all the way up. I haven’t tried unlimiting the framerate, or disabling a specific GLX extension DirectX API call that was recommended on a number of WINE forums for both ATI and NVidia cards, and yet it’s still running beautifully. I’m absolutely certain I could get it running even better, with effort, at that — probably merely by running it under OpenGL, in fact.

So with all this in mind, I have every intention of pulling out my second card and bringing it over to Sam’s. The nice thing is, I know I won’t have to do anything special to get Linux to work with it, just throw it in and follow the prompts for the Restricted Drivers wizard. Under Windows, though, I’d have to download drivers from NVidia’s website while in the craptastic 640×480 VGA “compatibility mode”, and hope I got the right ones and don’t have to downgrade to an earlier version, as even my own video card is getting on in age. And if WoW works under Linux, then I’ll have successfully sold someone on Linux who, while fed up with Windows’ fragility and instability, never would have tried Linux on her own.

I wonder if this is what a religious person feels like when selling people on the stick-and-carrot of heaven and hell.

{advertisement}
World of Tuxcraft
{advertisement}

9 thoughts on “World of Tuxcraft

  1. 1

    I don’t have any experience with ATI cards under Linux. That’s basically because I heard bad things at an early point, and have stuck with nVidia, advising others to do the same. Of course, sometimes you don’t have the luxury of making a choice, as it’s already been made for you.

    I’ve had some rather good luck running some Windows software with wine. Several applications, though, failed miserably. That’s why I still have virtual machines at my disposal. The genealogy software I’ve used for years, which isn’t supported/developed/etc. any more, fails to install properly with wine. Google SketchUp will install okay, but doesn’t run as smoothly as in a VM, and doesn’t interface with Google Earth when running through wine.

    My wife and I have identical systems:

    · Motherboard: ASUS M2N-VM DVI (integrated Nvidia® Geforce®7Series graphics processor and ALC662 High Definition Audio) Nvidia GeForce7050PV/nForce630a(MCP68PVNT) chipset
    · CPU: AMD Athlon 64 X2 5000 Brisbane 2.6GHz Socket AM2 65W Dual-Core
    · RAM: 8GB DDR2

    I put them together inside nice black Antec Sonata III cases (w/500W power supplies) for a sleek look, plenty of extra room, and very quiet operation. The extra RAM is a necessity if you want to run one or more virtual machines, allocating 2GB of RAM to each of them (recommended). Sometime next year we may decide to upgrade CPUs, but for now they’re meeting our needs.

    We’ve been extremely happy with the system performance. I can even run a PlayStation emulator well enough to play some old PS1 games when the urge strikes. Playing a few of the Windows games that we enjoy hasn’t been a problem either. Diablo II plays just fine in wine, as does Baldur’s Gate. Diablo III may be a different story. If neither win nor a virtual machine will handle it, I’ll install it in a bare-bones Windows installation on an external SATA drive, then boot from that drive when I want to play. It’s sad that I’ll have to do something like that, but until the game publishers realize the market potential they’re missing (Can you imagine a game publisher releasing their own customized Linux OS for branding with a new game?).

  2. 2

    I’m running an Asus M2N-E board with 3 Gb PC2-6400 memory, AMD 64 5200+ CPU, AMD/ATI 1650 Pro PCI-E video card (time for an upgrade!), and four SATA drives (two are 1 Tb drives in a degraded mirror – the Seagate drive has failed).

    I’ve got a 40Gb partition with Windows XP on it, and a 40 Gb partition with Kubuntu (not on the mirror).

    I’m going to make an attempt to run WoW in Wine at some point in the near future. I was told by coworkers (non-gamers) to try Cedega instead of Wine, but Wackypedia says the latest version of Wine is better than Cedega. Opinions?

    Thanks!

  3. 3

    Cedega is very good at what they do. It’s basically a licensed version of wine, combined with licensed libraries from Microsoft. Since these are the actual Microsoft libraries, it can increase compatibility, particularly with newer software. For something like WoW, which has been given very high compatibility marks with a standard wine installatiion, I doubt you’ll really need anything special.

  4. 5

    Now, for newer games like Ghostbusters (is it even out yet???) and Fallout 3, don’t expect brilliance. However, I understand Fallout 3 at least works, though it apparently gets sketchy when you go into VATS. Any game that doesn’t have native OpenGL capabilities will be noticeably slower than under Windows, because all DirectX calls will have to be translated on the fly by Wine to OpenGL just to get them to render anything. Interestingly, AppDB shows Fallout 3 as “gold” under Ubuntu/Kubuntu Jaunty (9.04). http://appdb.winehq.org/objectManager.php?sClass=version&iId=14322&iTestingId=32906

    I have a dual-boot rig on my aforementioned computer, and the Windows side gets used for Sims 3, Fallout 3 and… uh… I think that’s about it. Oh. I installed WoW under Windows because I didn’t want to have to mess about with all the patch nonsense under Linux, remembering the last time I played it (during WINE ~0.9 days, when you had to patch WINE manually to get clicking on mobs to work), so I don’t know 100% for sure that every new patch will work without booting to Windows to get it installed.

    Your ATI card is significantly newer than the one I was working with on Samo’s computer. There’s actually a pretty good chance you won’t have that many problems with it. If you do, however, here’s some fantastic troubleshooting tips for ATI cards at this thread: http://ubuntuforums.org/showthread.php?p=912442

    Not all the tips are specifically necessary, but you may get some incremental improvements as you add each tweak. Here’s another one for how to troubleshoot a bunch of common problems: http://www.wowwiki.com/Wine/Troubleshooting

    And if you want a pretty, scaleable icon in your Games menu, instructions are at the bottom of this page: http://www.wowwiki.com/Wine

    Some of this stuff can be pretty gearhead-ish. The explanations are pretty good if you’re not afraid of digging about in terminals and editing your Config.WTF file. Protip: make a backup of it, so you can revert it back to the “Windows side” version if you do jump back over. And if anything’s unclear, by all means hit me up again.

  5. 6

    I have good news: Fallout 3 seems to be working through wine on (K)Ubuntu.

    Looking at the system requirements for “Ghostbusters: The Video Game”, I doubt it would run on my hardware even if I was using a Windows OS. At least it wouldn’t run very well.

    Of course, you could always do what my wife and I do: play your video games on a PS3 (and a PSP, and a DS) instead of your PC. Resistance 2 co-op on a 32″ HDTV (even though only 720p) is awesome. Gaming together rocks, too!

  6. 7

    Now, for newer games like Ghostbusters (is it even out yet???)

    I think it came out in June, but I’m not sure. I saw it on Bittorrent and grabbed it.

    I understand Fallout 3 at least works, though it apparently gets sketchy when you go into VATS.

    Oh, that’s fine then. VATS is only for people who can’t play FPS’s. As for the dual-boot, I’ll probably keep it around. I ran a dual-boot of XP and Win98 until about 2005 so that I could keep playing Ultima IX. That said, I’ve got a 250 Gb partition that’s filled with about 220 Gb of games that I want to be able to run (everything from DOSBox running great classics like Space Quest, X-Com, and Populous, to Baldur’s Gate, Age Of Mythology, Half-Life 2, and Call Of Duty).

    I appreciate the links to ATI and WINE troubleshooting – I’m certain it’ll come in handy as I try to get things working.

    Some of this stuff can be pretty gearhead-ish. The explanations are pretty good if you’re not afraid of digging about in terminals and editing your Config.WTF file.

    That doesn’t bother me – I’m a computer tech by trade. I’ve been almost purposely avoiding Linux since I last touched it in 1995, and the time has come to jump in with both feet!

    Protip: make a backup of it, so you can revert it back to the “Windows side” version if you do jump back over.

    Perfect! Great excuse to convince the wife to let me get another pair of 1 Tb drives to set in another mirror!

    And if anything’s unclear, by all means hit me up again.

    You sure you want to be making an offer like that? I’m certain to be taking you up on it!

    I have good news: Fallout 3 seems to be working through wine on (K)Ubuntu.

    Excellent! That’ll be project #2 after WoW, and it’ll mean much less running back and forth between operating systems!

    Looking at the system requirements for “Ghostbusters: The Video Game”, I doubt it would run on my hardware even if I was using a Windows OS. At least it wouldn’t run very well.

    Such is life in the world of PC gaming!

    Of course, you could always do what my wife and I do: play your video games on a PS3 (and a PSP, and a DS) instead of your PC. Resistance 2 co-op on a 32″ HDTV (even though only 720p) is awesome. Gaming together rocks, too!

    Although gaming together is excellent (due to space constraints, my wife’s PC and my PC are running on a KVM – no WoW together!), you can have my gaming keyboard and mouse when you pry them from my cold, dead hands! I was born a PC gamer, and I’ll die a… well, actually PC gaming is probably going to die before I do. Although I’ve had many of the major consoles (Intellivision, Atari 2600 & 5200, Coleco, NES, Genesis, Playstation 1 & 2), I find PC gaming immensely more satisfying. Sadly, the genre slowly being strangled to death by companies looking at the cash cow that console gaming is, and it seems the vast majority of games coming out for PC are not much more than badly-coded ports from the console version. It’s funny that you mention a 32″ LCD 720p TV, since that’s what I’ve got as well! I have to say that Fallout 3 looks a lot better on my 24″ LCD monitor, even if it IS smaller!

  7. 8

    Good stuff, then. It’s excellent that you’re coming off so much high-level experience in the Windows world, but it is a significant paradigm shift, so when things don’t work the way you expect them to, it can be frustrating. I know what it’s like (from personal experience — it’s only been a mere six years since I made the Linux leap) to know so much about the internals of Windows but, when given the ability to look under the hood in Linux, none of the components look or act the same as their Windows counterparts. So, be prepared for a steeper learning curve than most Linux newbies. If you were a total newbie, you’d already be at the bottom, but knowing what you know, you want to already be at the same place on the Linux side of things. It’s only my cussed determination that carried me up the side of that curve.

    I have a Wii for non-PC gaming. I just can’t bring myself to shell out several hundreds of dollars for a PS3 or X-Box 360. And the Wii has a lot of exclusive games that I’ve always found fun, like Zelda or Mario Kart or pretty well everything in their Virtual Console, so the choice was obvious. Mind you, some stuff like Prototype or the Dead Rising games or Street Fighter 4 have a lot of appeal to me, but still, waaaay out of my price range.

  8. 9

    Heck, I’m still stuck with notions in my head that things should act the way they did when I was using Amiga OS in the early 90’s. Strangely enough, with Linux and GNOME, they often do.

    I had used large university systems with many terminals in the early 80s, then a DEC VAX/VMS system (and attached CICS system). One of my roommates in the late 80s had an Amiga, another had a PC with Win3.1. I preferred the Amiga. We dialed in to the University’s system with a 2400-baud modem. I got my own Amiga in 1991. I honestly never got into the Microsoft OS world until about 1995. I ran Win95, Win NT 3.51, and Win NT 4(beta) as SYSADMIN at a web development company then. I learned by the skin of my teeth, so to speak.

    I still maintain Windows-based PCs at my employer’s office, but managed to get one Ubuntu-only machine in place. As my co-workers see more and more of the “Microsoft Genuine Disadvantage”, they truly appreciate the Linux side of things.

Comments are closed.