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

Valve's Gabe Newell is pretty excited about the potential of Linux for video games however id Software's John Carmack counters this by saying that Linux does not have what it takes to be the right platform for video games. 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.

John:

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

#4521839 Posted on: 02/08/2013 10:19 AM
Hi I am not sure if this will be possible but how about creating an application that does the porting. If possible it should cancel out all the performance issues of emulation.

WhiteLightning
Moderator

Posts: 23848
Joined: 2007-09-19

#4521843 Posted on: 02/08/2013 10:33 AM
There is already wine for that

Veeshush
Maha Guru

Posts: 1085
Joined: 2010-11-28

#4521868 Posted on: 02/08/2013 11:41 AM
The title " John Carmack: Linux is not the right platform for video games" to that makes me think that he's saying he doesn't value Linux as a gaming platform, but nothing he says even leads into the slightest bit of that being true.

All he seemingly says is rather than doing resource heavy ports to instead focus more on emulation to run PC titles. It's just another method to getting games to run on Linux and one that'd have a much better chance of happening. It's a great idea, but maybe not a new one.

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

I just wanted to clear that up before someone jumps in here and thinks otherwise.

krzywyzielarz
Newbie

Posts: 2
Joined: 2010-01-17

#4521878 Posted on: 02/08/2013 11:54 AM
No John, you have to believe in Linux.
The Mac also no one believed.
I buy games for Linux, because I can play on my Linux.
Steam For Linux news www.steamforlinux.com

scatman839
Ancient Guru

Posts: 10839
Joined: 2004-11-19

#4521891 Posted on: 02/08/2013 12:26 PMI just wanted to clear that up before someone jumps in here and thinks otherwise.

The sheer amount of people that read a the topic title then reply off that will anyway :/

Lycronis
Maha Guru

Posts: 1047
Joined: 2003-09-17

#4521903 Posted on: 02/08/2013 12:46 PM
No John, you have to believe in Linux.
The Mac also no one believed.
I buy games for Linux, because I can play on my Linux.
Steam For Linux news www.steamforlinux.com

Sorry, but I disagree. The Mac still isn't a viable gaming platform, even now with Steam support. Linux is far behind Mac so this is a no-brainer. Where I think Linux will shine for gaming is for the smaller Indies type games.

Redemption80
Ancient Guru

Posts: 15561
Joined: 2009-01-06

#4521915 Posted on: 02/08/2013 01:12 PM
I agree with him, from a business point of view gaming on Linux is not a very good idea.

Windows is far from perfect and if this idea was tried 10-15 years ago then we would probably be in a better place if gaming was on Linux, but it's too late now.

No one is going to port every PC game over so the entire back catalog is now lost, and moving forward very few people are going to develop anything for Linux unless they are doing a Mac version.

PC gaming really doesn't need to be competing against itself right now, resources should not be getting split and the fact Gabe is pushing this due to spite or greed is disappointing.

Neo Cyrus
Ancient Guru

Posts: 7705
Joined: 2006-02-14

#4521933 Posted on: 02/08/2013 01:36 PM
After RAGE I can't take anything this guy says seriously anymore. Oh, and that game still crashes on my PC, still unplayable, yet literally everything else I have installed is perfectly fine.

Speed Weed
Maha Guru

Posts: 1067
Joined: 2011-12-04

#4521937 Posted on: 02/08/2013 01:40 PM
Does anyone actually play good games on Linux?
Once got UT3 to instal, using wine.
But that's as far as I got.
My system crashed severely when I attempted to run the game.

#4522026 Posted on: 02/08/2013 04:07 PM
He forgot that one of the main reasons why Linux is used by small portion of the market share is because games are not made for Linux. The only way to change it, is to make them available on that platform, and then, see if it is good or not, and bring more users to very good open source platform.

Redemption80
Ancient Guru

Posts: 15561
Joined: 2009-01-06

#4522058 Posted on: 02/08/2013 04:43 PM

He forgot that one of the main reasons why Linux is used by small portion of the market share is because games are not made for Linux. The only way to change it, is to make them available on that platform, and then, see if it is good or not, and bring more users to very good open source platform.

He didn't forget, that is the reason why he thinks it's a bad idea.

The article was about emulation being a better idea as many developers would struggle to to get funding for games on a platform with such a small market share.

Noisiv
Ancient Guru

Posts: 3504
Joined: 2010-11-16

#4522062 Posted on: 02/08/2013 04:49 PM
This reads almost like something Gabe wanted to say but didn't have the balls,
so he asked Carmack to explain to Internets why Linux SteamBox aint going to happen.

One wrong move against Internet-Hate-Machine and you're DEAD.

Noisiv
Ancient Guru

Posts: 3504
Joined: 2010-11-16

#4522065 Posted on: 02/08/2013 04:51 PM
or at the very least losing tons of money.......

GenClaymore
Ancient Guru

Posts: 5554
Joined: 2004-06-17

#4522067 Posted on: 02/08/2013 04:56 PM
@Speed Weed

I think I tried to get Doom 3 and UT 2k4 to run in linux, but couldn't but I in up uninstalling the linux distro I was using any way, just because I stop using it, since i spent more time in windows using the programs that worked native with it. I simply don't feel like messing around with linux distro's, Unless I wanna be the few who say they have it installed just to look at it.

@Neo

Rage worked for me, it never did crash on me, Maybe it a driver related issue on your end, with compatibility with the game. Tho I stop playing rage but do to other games taking over.