John Carmack: Linux is not the right platform for video games

johncarmack

Carmack believes it makes more sense to create a special emulator for Linux rather than to port video games to Linux, which is used by just 1.21 percent of PC users, he stated on reddit. Here’s what he said:

I wish Linux well, but the reality is that it barely makes it into my top ten priorities (Burn the heretic!); I use Linux for the flight computers at Armadillo Aerospace, but not for any regular desktop work. I was happy to hear that Rage ran in Wine, but no special effort was made to support it.
I do get tempted to port to Linux for technical reasons – I would like to use Valgrind again, and Nvidia has told me that some experimental GPU features I would like to use for R&D would be easier to prove out on Linux. Working on open source Linux OpenGL drivers again would also be fun if I ever had the time.
However, I don’t think that a good business case can be made for officially supporting Linux for mainstream games today, and Zenimax doesn’t have any policy of “unofficial binaries” like Id used to have. I have argued for their value (mostly in the context of experimental Windows features, but Linux would also benefit), but my forceful internal pushes have been for the continuation of Id Software’s open source code releases, which I feel have broader benefits than unsupported Linux binaries.
I can’t speak for the executives at Zenimax, but they don’t even publish Mac titles (they partner with Aspyr), so I would be stunned if they showed an interest in officially publishing and supporting a Linux title. A port could be up and running in a week or two, but there is so much work to do beyond that for official support. The conventional wisdom is that native Linux games are not a good market. Id Software tested the conventional wisdom twice, with Quake Arena and Quake Live. The conventional wisdom proved correct. Arguments can be made that neither one was an optimal test case, but they were honest tries.
If you fervently believe that there is an actual business case to be made for Linux ports, you can make a business offer to a publisher – offer a guarantee and be willing to do the work and support. This is what Aspyr does for the Mac, and what Loki did for Linux. However, you probably can’t even get an email returned if you are offering less than six figures to a top ten publisher. This may sound ridiculous – “Who would turn away $20,000?” but the reality is that many of the same legal, financial, executive, and support resources need to be brought to bear on every single deal, regardless of size, and taking time away from something that is in the tens of millions of dollars range is often not justifiable.
I truly do feel that emulation of some sort is a proper technical direction for gaming on Linux. It is obviously pragmatic in the range of possible support, but it shouldn’t have the technical stigma that it does. There really isn’t much of anything special that a native port does – we still make OpenGL calls, winsock is just BSD sockets, windows threads become pthreads, and the translation of input and audio interfaces don’t make much difference (XInput and Xaudio2 are good APIs!). A good shim layer should have far less impact on performance than the variability in driver quality.
Translating from D3D to OpenGL would involve more inefficiencies, but figuring out exactly what the difficulties are and making some form of “D3D interop” extension for OpenGL to smooth it out is a lot easier than making dozens of completely refactored, high performance native ports.
Ideally, following a set of best practice guidelines could allow developers to get Linux versions with little more effort than supporting, say, Windows XP.

Properly evangelized, with Steam as a monetized distribution platform, this is a plausible path forward.

John Carmack

SHARE THIS POST

  • Facebook
  • Twitter
  • Google Buzz
  • Reddit
  • Stumnleupon
  • Delicious
  • Digg
  • Technorati
  • Joe Giles

    I sort of agree with him and sort of don’t, but I don’t for personal reasons.

    Linux, like he said, accounts for such little use in normal everyday personal use for the mass of PC users. I use it exclusively as do most of my family and friends, but the other 20 billion people on the planet don’t. So there is not much of a business case to port/create games for Linux – makes since.

    Mac has a larger(by a small margin) user base, but most of them are rich people that can afford to dump money into development of these games and applications. Most Linux users are money cruncher’s who pinch pennies for totally geeky toys – not for operating systems :).

    In many ways, I like that prospective! I don’t want to see Linux become to commercialized that it becomes more fragmented and/or looses its community or culture – Look at what is happening with Linux and Ubuntu! Linux users have some of the best features of computing by using Linux and the technology it creates as a whole. Linux users had fully graphical (OpenGL) desktops years before its commercial brothers did :).

    I resolved to myself many years ago to let the Windows users wallow in their crappy code base, crappy software, and viruses/malware and us Linux users could bask in the enjoyment of computing.

    Leave it be – I’m perfectly happy with that… I have been using Linux for over 20 years and it even pays the bills for my family. I have been supporting Crossover Games/Office for over 5 years and all the games I play using it run flawlessly. So, I agree with Carmack – keep up the Wine development and let the game designers build the games.

    Will be interesting to see how far Valve takes their strategy – although, I can play HL 2 and other games using Crossover just as good as the few games that are available now on Steam Beta for Linux. Looking forward to HL 3 comeing out, but we will see what happens as far as Linux support for it goes :).

    Joe

    • lagos3sgte

      Yeah but the recent push for Linux ports is not really about selling games to the 1% of Linux users. Its about selling games to the 100% of future Steam Box owners.

      • madjr

        or both

    • l1x

      yeah I guess MacOS is a newer operating system than Linux and it has less penetration of the desktop market. this is how Linux users trying the fake history. :)

  • Hasan

    The way Carmack describes it, is in my opinion, a very narrow perspective. When Id software made their “honest tries”, the technological landscape was extremely different. Just to summarize what I think about this, is that the our world is getting overtaken with mobile devices. Our daily computing is shifting from Desktop to tablets. Obviously people cherish their gaming rigs and will continue to build them, but everyone wants mobile solutions to their games.

    Right now there are two major contenders for mobile OS, (iOS and Android). iOS is locked up tight by apple, but Android is open and waiting for game developers to move into.

    Now I don’t mean game Devs such as those behind Angry Birds and Cut the Rope. I’m talking about the AAA games that we all love. And wouldn’t you know it. Android is based on Linux.

    Lastly, I think our future will hold devices such as the Razer Blade and the Ibuntu phone because, through their accessories, they can convert themselves into more than just mobile solutions.

    Just imagine playing CS go at home, then being able to D/c your comp (which is just a phone or a tablet) and go to a Lan or a friends house to play. I think that is where valve is going with their migration to Linux.

    • http://www.cerebrux.net/ Salih Emin

      Totally agree… Carmack has really very narrow perspective. But lets talk about numbers:

      Steam is in beta and Linux [Ubuntu (+ other distributions)] have already ~ 1.2% of total Steam Users. Today Total Steam users are ~ 50 millions so that is :

      50,000,000×1.2% = 600,000 Linux users in just ~3 months.

      Think about how many years took for Mac users to reach ~6% of Total Steam Users…

      So if we take on account the above (steam is beta + 3 months + Steam linux growth) we can safely come to conclusion that Linux Users may reach ~10% of Steam users by the end of 2013.

      Even with these “not professional” calculations, Carmack should reconsider his opinions about Linux as a gaming platform.

  • nord0

    well, porting old games? maybe not.. but who cares anyways?? We already got dwarf fortress.. lol

    but all new games should be created for linux and for openGL

    The Times They Are a-Changin’… And thank God for that.

  • lagos3sgte

    I have the highest respect for Carmack, but he’s missing the boat here.

    This conversation isn’t really about porting games to the Linux desktop, its about porting games to the Steam Box. A commercial console aimed at the consumer market that just happens to run Linux. That’s financially worth a substantial coding investment, just like porting your game to the PS3 or an Xbox. Linux desktop users will just get the added perk of finally having these games come to their OS of choice, and will also reap the rewards of finally getting good driver support.

    • lagos3sgte

      Also Quake Arena is a game that came out in 1999. That’s about 14 years ago. The Linux desktop experience was massively different from what it is today. We were still editing xorg files by hand, and getting a game to run required that you were extremely savvy with terminal commands.

      And Quake Live is a version of that same 14 year old game. Almost no one knows about about it, let alone that it runs of Linux. And when I say “runs”, I meant there is a Linux port that does nothing but displays a black screen on my machine the past few times that I tried to run it.

      Not really the ideal test case here.

  • http://www.facebook.com/jarkko.korpi Jarkko Korpi

    I have seen that article before and I think he is not actually talking about how good or bad linux is but he is just saying that porting games aren’t worth of it without having massive amounts of money to the game company. Because steam is so new to linux we cannot make early calculations of this issue.

  • just me

    This is one of those chicken and egg type of problems. Developers say not enough people use Linux for it to be cost effective to port a game, etc. On the other hand if major game companies and main stream software companies were to fully support Linux, a lot more people would use Linux.

    So its a lose, lose situation, developers don’t support Linux and don’t get the benefits of Linux for their products, and general home users don’t get the benefits of using Linux.

    Linux has a hell of a lot going for it, Its fast, small, reliable, multitasks far better than any version of windows. But the majority of computer users never get to see Linux in action. Even though most people access web sites on Linux severs everyday, few people have any clue that site they are on is a server running Linux.

    If not for a bunch of accountants with the big software developers, and I’m afraid many Linux developers still in the stone age, who support only the cryptic command line for a lot of functions and don’t provide GUI apps for setting of many basic functions, Linux would be on a lot more computers.

    Between the penny pinching accountants and many Neandertal Linux developers, its hard for Linux to make real inroads on home computers. In fact its a testament to Linux’s speed and stability that has given it such a wide user base in the business world in the form of servers, etc..

  • polaris

    If game-dev is all about money, Carmack is right.
    Happily for us, times are changing.
    GNU forever.

  • digitalcrow

    Lol i tried to play games on steam and this was an Epic Failure

    I have an Amd Radeon HD 7770 graphics card and it was like i had a cheap nvidia geforce 9400 and even worst lol

    Counter strike had a big delay on input , team fortress had many many random freezes etc.
    lol i was thinking that i could actually play a modern 3d game on linux with decent performance lol

  • http://www.facebook.com/jeanphilippe.abraham Jean-Philippe Abraham

    Hi !
    My humble noob opinion : gamers are the ones who spends money in new stuff. If you say : on linux, you drivers are closer to the kernel, or into it, and you’ll get better RAM/HDD/SSD, more ressources free for the game, you will win the match and will have the consumers for linux games. We are closer than ever to get this point.

    If you get gamers on linux, you will have much more devs for the community, more cash for the GNU ecomic sphere. So what. Gaming is the gate for linux to reach mass consumers. That’s it.

    Why every non-pro PCs on linux run dual boot ? for game – adobe suit and .. .. .. and nothing. If major’s games run on linux, why pay a windows uh ? you will cruise from 2% of pc to 40%, i’m feel it in my guts. every newbies (like my wife) just can’t return on windows, she prefers ubuntu.

    If games run on linux : apple and MS can start to cry.

  • gumahar

    He’s right : They did have lousy attempts of porting to linux , and yes they weren’t successful . The question is why .

    You get a famous title that everyone has already played to work on linux , so the best result you get is a user constantly looking at the fps counter to determine if it’s actually working better , worse or equal to windows . NO ENJOYING THE GAME

    IF both Win and Lin versions were released simultaneously , you’d get a fair game but again : no good busyness case of 6 zeroes he mentioned .

    If say , Valve decided to release Half Life 3 or some other tremendous title for linux first , and only then ported it to windows after a couple of years as it usually happens to Ubuntu users , we’d get a situation which is hard to correct from Microsoft’s side.

    Linux has high grade Open Source drivers packed into it , Jockey which enables even a noob to install tha Latest Drivers without any problem Windows might throw at ya .It boots in half the time , gives you freedom to choose the Desktop enviroment you want , and not the one MS thinks is best ; and the user/developer feedback …
    To bring back the audience it once had , MS will be forced to correct those things , and give us something new , otherwise it will be like Fedora ( yeah i tried , but it’s still second best ) . Which is exactly what we need (either Windows becoming more democratic , or Linux becoming more supported by Proprietary soft. makers)

  • http://www.facebook.com/profile.php?id=1073315095 Luke Guest

    Jesus Christ! It’s really not hard to have a portable base layer that you target, then rebuild on. The initial effort goes into this layer, then when you build the game, you just rebuild for a different target, simple. And who in hell WANTS to be debugging?? Seriously, you are using the wrong language if you look forward to using Valgrind, not saying you can avoid it totally, but you can minimise it.

  • Rudy Concepcion

    Oh John Carmack, I respect your opinion but I must disagree. First off, there already does exist an emulation program to get Windows games to run on Linux: It’s called WINE. There are free versions of it, and commercialized versions of it (I myself use Crossover because its simple and even though I had to pay for it, the devs make installing games a snap). The only problem is, running games on it are a nightmare sometimes! First off, the average user had to do insane amounts of research and tweaks (most people don’t know how or aren’t willing to) just to get the game to even run. Then, because the game runs native in DirectX and not OpenGL, Wine has to translate it into something that OpenGL can understand and vice versa. The result is usually a huge drop in FPS and performance. Basically, any game that I play on Windows and get a great 60 FPS, I’ll only see 30 FPS on Ubuntu. Maybe if more game developers would start making their game engines compatible with both DirectX and OpenGL then we wouldn’t have such issues, but once again why do that when you can only develop for just DirectX which is half the work, and still get paid handsomely. I digress, I’m a fan of gaming on Linux and I’ll do everything I can to support it, because I’m sick of Microsoft’s monopoly here. But I think it may be some more time till Linux gets the love and respect it deserves as a viable gaming platform.

    • bob

      Read the article.

      • Rudy Concepcion

        Not to be a dick but, what’s your point? I did read the article. John C states that it doesn’t make fiscal sense to support Linux. He also stated that an emulator would be more effective than a port. We already have an emulator, it’s called WINE. Even then it’s far from perfect. As it stands, wine can’t make use of multi-cores in a program which spells disaster when trying to run a high end game under wine. I get what Carmack is trying to say, but if it really were that easy, why hasn’t it been done?

  • http://www.facebook.com/hector.maciasayala Hector Macias Ayala

    That photo is 2004, come on get a newer one.

  • http://guideme.blogspot.com/ Mike Frett

    This is old but I’ll bite. With the recent revelation of the NSA/Microsoft link, why in the world people would be willing to give up their rights and privacy to use Windows is beyond my understanding. If you use Windows now, after knowing about the NSA and Microsoft, you’re basically spitting on the graves of people who died for your constitutional rights.

  • Pingback: Αν κυριαρχούσε το Linux… | BlackfoxNet()

  • Orion Blastar

    I am sorry John but you sound like a Fishwife. ID Software used to make various Unix ports of games like NextOS that had a lower market share than Linux.

    Many die hard gamers wish there was an alternative to Windows. If more gaming companies made a Windows and Linux port, more people would choose Linux just to avoid Windows.

    If you make Linux based games, people will buy them. So far only the indie game makers do this and earn a lot of money on Linux ports. If the big guys did what the indies did you’d see more people leaving Windows for Linux.

    • http://edropple.com Ed Ropple

      Do you have any hard numbers for “a lot of money”? Because nobody I’ve talked to has found Linux amongst indies to be more than incremental. I’m supporting it with the game I’m working on, but only because it’s free to do so (it’s JVM-based).

    • TLDR

      NextOS was a support OS thats the whole point, how the hell do you support a Game on generic linux distros natively?
      When you release on Windows or MAC you usually have to support 2-3 major revisions of the OS. In all cases you have an operating system which it’s users receive support from a vendor so you know that they have access to technical support and binary update services. And as they OS is “closed source” you also know exactly which binaries they will be running.
      With Linux you don’t have that freedom, you have 100’s of independent binaries that each of them have dozens of forks. The OS it self has zero vendor support(unless you’re an enterprise costumer), your users have no access to centralized technical support service, and you have no clue what they are running.
      And this is even without touching the fact that you currently have so many branches of Linux with compatibility issues between them so GL supporting RH, Debian(with it’s billion forks) slackware, arch, enoch and all the other countless branches.
      Valve’s move to support Linux has nothing to do with making games compatible with “Linux” in general as that will never ever ever happen. Valve’s move is to enable them to run games on SteamOS which at the end will be a “Closed” operating system which receives full support from a recognized vendor which will give developers a stable environment to run games on. This will never however turn into something that will mean that games could be run natively out of the box on Linux distributions, if you ever think that you’ll be able put in your disk into RH, Ubuntu, Gentoo, SUSE or any other arbitrary distro and hit install and play you’re dead wrong.

  • Ben Lutgens

    So why do we still care what he thinks? Is he really still relevant?