Gaming on Linux: I'll Stick With Wine, Please
There’s been some discussion lately about promoting Linux as a gaming platform in order to win the struggle against proprietary operating systems. It’s an interesting idea, but I don’t think it meshes well with reality. Here’s why.
First, this concept presupposes that “Gamers are adventurous folks,” and “Linux adopters often need to be adventurous in order to even install a new operating system.” First of all, I know a lot of gamers who are actually not particularly adventurous when it comes to computers. Playing World of Warcraft may mean that you like having adventures in fictional worlds, but it doesn’t mean you like your operating systems adventurous, too.
More importantly, the objective of desktop Linux, or at least of Ubuntu, is supposed to be the creation of an operating system that doesn’t involve much adventure, because it ‘just works’. Adventuring is great if that’s your thing, but most people just want to use computers to get work done, and Ubuntu should appeal to those users before billing itself as an operating system for the adventurous.
Those arguing for Linux gaming also seem to assume implicitly that quality games can only be created if developers are paid and adopt a closed-source development model. This assumption is inherently at odds with the open-source spirit at the heart of Linux, and will upset a good portion of the free-software community if it’s used to push Linux gaming.
The idea that only closed-source developers can produce viable games is also flawed. Ten years ago, Linux-haters argued that no decent office suite could be produced by an open-source project. Even Linus Torvalds, they pointed out, was using Microsoft Office. Then came OpenOffice (admittedly, most of its developers are paid by Sun, but its code is open nonetheless). OO may have its flaws, but it’s clearly a viable and valuable product, despite being developed along open-source lines.
Another obstacle that Linux-gaming enthusiasts seem to ignore is the difficulty of porting games to Linux. Sure, it wouldn’t be too hard for those based on OpenGL. But a lot of Windows games use DirectX, and unless Microsoft can be persuaded to release a Linux version, rewriting those games to run on OpenGL is going to be more work than most vendors will be willing to commit to.
What about wine?
Rather than porting games to Linux and dealing with all of the philosophical, political and technical conundrums involved, perhaps Linux advocates should work to ensure that more Windows games will run on wine. This approach solves several problems:
- greater consistency. Rather than having to tweak a game to run on Ubuntu, Fedora, Slackware, and your neighbor’s custom distribution, vendors only have to deal with wine, which behaves relatively consistently across most flavors of Linux and on different kernels.
- vendors can more easily keep the source closed if they prefer, avoiding philosophical conflicts with free-software stalwarts who want to abstract non-free code from their systems.
- DirectX games run just as well on wine as OpenGL ones.
In general, there are a lot of reasons to avoid wine and promote native Linux software instead. But when it comes to gaming, I think that developers are best off relying on wine as a vehicle to the Linux desktop. Vendors should make sure their games will run well on wine, rather than delving into the much muckier work of writing native Linux games.
Moreover, I’m hardly convinced that gaming is the key to desktop-Linux’s success. Rather, producing an efficient, free and attractive operating system with a variety of productivity applications that ‘just works’ should remain at the top of Ubuntu’s agenda.
Okay I got to the bit “What about wine” and stopped.
Wine sucks. Especially for games. It doesn’t run games well unless you’re the “adventurous” type that gets into the guts and tweaks it here and there. Even getting DirectX install is a palaver.
Linux as a gaming platform is exactly what gaming developers like EA and ID Software have been lobbying for for some time now. It’s an open system. The only thing holding Linux back is market share. Linux just doesn’t have it. That might change over the next year. It might not. I’m betting Android on the G1 will encourage some to dip their toes in the water.
Proper serious gaming for Linux is a piece of the consumer application stack Linux is weak on. We need more investment in that arena. If open source could produce decent quality games for Linux then where are they all? Nexiuz? Runs on a pimped version of the Quake engine ID Software kindly donated. Warzone 2100 Resurection? A similar donation of code from commercial closed source developers.
Just one more thing. Games developers don’t need to write a DirectX version of a game and an OpenGL version. OpenGL works just fine in Windows, on the Mac and if I’m not mistaken, on the Sony Play Station. I’m not sure about the Wii. I’m betting the Wii isn’t using DirectX though. The only platforms using DirectX are Windows and the XBox. Which is running a mangled version of Windows. So that would be Windows and Windows then.
Now lets face it. OpenGL 2.0 can easily match DirectX 9.0c and DirectX 10 just hasn’t delivered enough to tempt gamers from Windows XP to Vista. Nobody buys the Microsoft excuse that DirectX 10 can only be implemented with significant rewrites of portions of the OS.
By standardising on OpenGL, developers could actually be doing themselves a favour.
@aikiwolfie: The thing is, most games today are built for DirectX, therefore most PC gaming companies have more experience in DirectX. They will not dive in to OpenGL, just to make their games avilable for a desktop operating system, that has less than 2% market share, but still has so many different distributions. (With different package management, sometimes filesystem hierarchy even!)
What Linux desktop needs to charm PC game developers is a unified, directX friendly API, so they can port their product to it, without the need to rewrite the whole graphical engine.
I agree, WINE at the moment is not capable of this. Right now it can play most 2D games and simple applications, but newer commercial games usually end up buggy, or even unplayable.
But it one day could become this unified API.
Of course I don’t mean that OpenGL should just be left alone, it should be there for the adventouros game developers, but this right now fictional unified, directX friendly API should be there too.
I’ll have to disagree – wine is not a way to promote linux gaming.
Firstly, one is a rather unpredictable thing. Coding it is extremely hard, way harder than your average person, and regressions happens often. It was an enormous effort for the last 15 years just go get it to it’s current state.
It’s just not the way to go at all. Native things are – and supporting developers that do that is the way to go (and yes, I do it!)
“If open source could produce decent quality games for Linux then where are they all? Nexiuz? Runs on a pimped version of the Quake engine ID Software kindly donated. Warzone 2100 Resurection? A similar donation of code from commercial closed source developers.”
There was no kind donation at all. ID Software tech God John Carmack has been a big fan of open source/Free software and openly supported OpenGL in the past. They released their engine code completely free and open source.
RyanT: So if they released their source code completely free to the open source community what is that if it’s not a kind donation? The Quake source code didn’t hit the repositories as the game went on sale. It was released after ID were done with it. After they had made some money from it. It wasn’t developed as an open source project.
“The thing is, most games today are built for DirectX, therefore most PC gaming companies have more experience in DirectX. They will not dive in to OpenGL, just to make their games avilable for a desktop operating system, that has less than 2% market share, but still has so many different distributions.”
CruelAngel: When did the Playstation 3 start using DirectX?
The PlayStation 3 graphics API is based on OpenGL. Which is actually the industry standard in graphics programing. DirectX exists only on Microsoft platforms.
There really is no such thing as a PC gaming company today. The vast majority of companies develop for multiple platforms. Some even use the web as a platform. The PC is generally last to get the latest titles.
But you’re right. Nobody will build games for an OS with less than 2% market share. Unless of course they think it will be a successful platform. The original XBox and PlayStation had zero market share when they were announced. Both platforms today are still losing money for their parent companies.
Games developers don’t need to support every single Linux distro. One will do. One popular distro that’s currently holding the majority of the market share for desktop Linux.
Sound is more or less standardised with Pulse Audio. There are still plenty of audio servers out there but Ubuntu has Pulse Audio working pretty fine. OpenGL is the industry standard for graphics programming. Playstation developers have plenty of experience with it. So no worries there.
“RyanT: So if they released their source code completely free to the open source community what is that if it’s not a kind donation? The Quake source code didn’t hit the repositories as the game went on sale. It was released after ID were done with it. After they had made some money from it. It wasn’t developed as an open source project”
Why would that matter? Donation makes it sound like some charity cause or “those poor Linux users” which is completely the opposite of what it was. To that extent the ongoing work on open sourcing Java is just a donation.
They released it afterwards as open source most likely for several reasons – the fact that it would’ve been harder for them to make money from it, especially considering there isn’t much in the way of a decent gaming open source model, the fact they also make money from selling the engine itself. Even so, your assertion that it was after they were entirely done with it is also off the mark, especially considering potential for re-releases through services like XBLA, VC, Wii Ware, PSN, GOG.com, Steam etc. After just checking, Doom is actually up for sale on Steam right now.
http://en.wikipedia.org/wiki/John_D._Carmack#Free_software
Wine would be fine if publishers were to actually write Wine-friendly products. Valve/Blizzard are good examples of this. Their stuff tends to generally work fine under Wine.
Wine handles most DirectX functionality well, but tends to fall down with some copy-protection schemes and other third party products like PhysX.
Gaming is a BIG problem for Linux. A lot of times when I talk to my friends about getting off Windows their #1 gripe is that the Mac and Linux don’t have good games so they still need Windows.
Now if someone like Ubuntu could get a big game company to bundle a game with Ubuntu (You install Ubuntu and get a running system with say a sweet version of WOW or something like that) tons of people would go out of their way to install Ubuntu. Esp if Ubuntu handled high end video cards and other hardware.
Once you got that going then other games could follow. I really think Ubuntu could be come like the PS2 of OS’s.
Imagine hardware certified for Ubuntu gaming. Software certified for Ubuntu gaming.
Once you got the gamers on Ubuntu then those gamers would use the rest. (Open Office, email etc) and get other people to use Ubuntu.
There are tons and tons of games that run natively on Linux. People who refuse to consider the 100,000 native Linux games, instead of the 10,000,000 native Windows XP games, annoy me. Some losers will never give up their Warcraft addiction! “Give me convenience or give me death.”
I think games are more the remit of the consoles these days anyway. However I must challenge anyone who says World of Warcraft does not play through Wine.
–
To clarify WOW works fine in Wine, with little effort or in most cases NO effort. Not only that, in my experience (and that of many others) it performs better through Wine than in native Windows.
Since DirectX is a Microsoft product, they can make changes to it that break Wine. Wine would always be trying to catch up to maintain compatibility.
In my opinion, it’s much better to try and convince game developers to support OpenGL, even though it will be an uphill battle. With OpenGL you have support for Windows, Mac, Linux (Xwindows), Playstation 3, and others.
Mark, I could have not have said it better and will not attempt to. I will steal your arguments for myself. 🙂
Wine is awesome, the people who contribute to its development are saints. With that being said, Wine is a treatment for the symptoms, and not a CURE for the root problem. The root problem is that Microsoft is known for abusing their Monopolistic powers(as ruled in 1999), and left unchecked companies like MSFT will continue to retard the evolution of computer technology. How much technology is being lost everyday by profit-mongering lawsuit-happy minions?
Let’s stop reinventing the wheel already. Let’s stop throwing away the blood, sweat and tears that people pour into the technology they create. Let’s make a common base that is Universal. This is GNU / Linux. GNU/Linux is the UNIVERSAL OPERATING SYSTEM.
I think I see where you’re coming from… but I tend to disagree with where you’re going. Yes, it is of utmost importance to keep GNU/Linux free, without a doubt. But in order to embody the strength of the only truly Universal Operating System on the planet, GNU/Linux should not only embody freedom, it should also be made the STANDARD Operating System. GNU/Linux should be the base-level Operating System platform for all great software, both free and proprietary, both small and infinitely large.
Gaming for GNU / Linux isn’t about putting on a band aid to help Linux users feel better. It’s about fixing the problem in the first place. It’s about making a STANDARD platform, from which all other good things can grow from the base of.
Keep it free, keep it real, keep it relevant.
GNU/Linux as a philosophy, this is the tidal wave, and it’s about to come crashing over everything else!!
Go Freedom!! Go gaming!! Go GNU/Linux!!
Linux + GNU = humans enabled
Shannon VanWagner
I gotta put my two cents here. First, let’s establish that wine SUCKS. they’ve been working on it for over 10 years and even though they have passed version 1.0, it’s still alpha-quality in my opinion…not even close to being beta-quality, much less production-quality. The few (like 5 games) that run without special hacks have several issues that can make playing them frustrating….and the worst part is…the problem isn’t reproducible on every machine. I tried EVE online with Wine, which actually worked well for 30 minutes, then started blasting static in my ears and eventually crashed every time I played it.
The other thing people keep saying is that “Linux has 100,000 games already!”. Ok, let’s clarify something here. When we are talking about “gaming”, we are not talking about the 99,000 derivatives of Sudoku, tic-tac-toe, and chess. When people talk about “gaming”, they mean World of Warcraft, Doom, Unreal Tournament, etc. And yes, I know there are “alternatives” to these games as well, but none are near as good (or popular) as the originals. Especially in my case where I play a game because I know other people (Windows users) that play it.
If you want my opinion, asking game makers to make for Linux is bad for freedom, but so is improving Wine, though I doubt Wine will ever be production-quality in the next 50 years at the rate they’re going.
The reason game makers write in DirectX is because OpenGL is a mess. They’ve been trying to improve it by making big promises, then delivering next to nothing and game makers are getting tired of waiting for them. So expect more games to move to DirectX.
The truth is, if you want a REALLY GOOD, open-source MMORPG (or similar online game), OpenGL needs to get it in gear and actually deliver results, while the activists out there urge gaming companies to develop open-source games, by charging a monthly fee for online gameplay in order to make their money. Open-source/pay-to-play games should be the future of real gaming.
And that’s all I have to say about that 🙂