Linux Port For id's Tech 5 Graphics Engine Unlikely 461
DesiVideoGamer writes "John Carmack, the lead developer for id's Tech 5 graphics engine, does not plan on making a Linux port for the new engine. From his e-mail: 'It isn't out of the question, but I don't think we will be able to justify the work. If there are hundreds of thousands of Linux users playing Quake Live when we are done with Rage, that would certainly influence our decision.' One of the reasons for not making a Linux port was due to the fact that the new engine 'pushes a lot of paths that are not usually optimized' and that the Linux port would have to use the binary blob graphics driver in order to work."
Re:Big news... (Score:5, Informative)
You don't need a "plural." A singular positive anecdote is enough to disprove a categorical negative assertion.
Re:Binary blob ... eh? (Score:2, Informative)
I think you misunderstood him. I was at his talk and he clearly said that he would still push for open sourcing the engines once the next gen has been released. He is still technical director of id and I think he has enough pull to get that done if he really wants to. I know he said to expect the Doom 3 (id tech 4) source once Rage has come out.
Re:Impressive? Really...? (Score:1, Informative)
Whether this is some noble herald of the future, or a side-show that proves unimportant in the long term, is yet to be decided - but it's technically pretty darned impressive. Especially when it'll run on more affordable hardware - because not everyone owns a turbo-powered super-PC.
Re:Too bad (Score:3, Informative)
I use the proprietary Nvidia blob (version 180) for my Nvidia 8400 and I have no qualms about it. Windows users use proprietary drivers for practically every card that I've seen over the years, so how is it any different in principle if you replace Windows with Linux? While I take open stuff when I can get it, I would rather have a video card and wireless device that works on Linux. Not every Linux user sees things the same way that RMS does by insisting on a 100% FOSS operating system. While you can have that if you want it, I prefer the freedom of being able to mix and match as I see fit.
Nice video card you have there; it's a shame that you rent it from nVidia rather than own it outright.
Think I'm being over-dramatic? Not really, since at some point, nVidia will decide it's no longer worth their time and effort to maintain the driver for it, and the last driver they release will eventually suffer bitrot against the Linux kernel. Being closed source, eventually there's a chance that it cannot be easily patched because there are changes required in the binary blob parts.
Now, I use nVidia video cards too, but that's only because of the pragmatism that says outside of onboard Intel video, they work the best under Linux. I refuse to spend much on them though, because I never know when nVidia will declare my card obsolete - whether I think it is or not.
Re:Big news... (Score:5, Informative)
The big issue is the stability of the OpenGL 3.x codepaths on Linux. You'll need some relatively up to date drivers(binary blobs) to get all those new calls working. And no guarantees it won't break, later.
Since OpenGL 3.x and DX10/11 share a lot, it should be more straightforward than it was in the past porting from one to the other. The major differences between OGL and DX have partially been eliminated. Thanks to The Khronos Group, they're both moving in the same direction.
Re:Big news... (Score:2, Informative)
Linux users never pay for anything, so it doesn't even matter.
The plural of "anecdote" is not "proof".
Yeah that right there...
Re:Binary blob ... eh? (Score:2, Informative)
Also he was pleased that Id's history of open sourcing code was finally paying off, because Wolfenstein and other "Id Classics" released on mobile platforms were all based of the fixed code from the open source projects. That's the reason it only took him a weekend to knock them together, and he was happy there was now proof its worthwhile for those who disagreed with him.
Re:Big news... (Score:4, Informative)
DX10 came out November 30, 2006 - which gave DX10 devs geometry shaders
The OpenGL 3.2 spec was released 21 days ago (spec != drivers though!), which finally put Geometry shaders into the core specification. That's only, what, almost 3 years after DX developers got them.
So... if you need to use geometry shaders in your game, what GL extension do you code against? GL_EXT_geometry_shader4? GL_ARB_geometry_shader4? NV_geometry_program? or the core spec? Chances are you'll end up coding against all 4, because you can be absolutely certain most cards will support 1 of those extensions, but each card will probably support a different one.
If the Khronos group keep insisting that they must keep the OpenGL APi 3 years behind D3D10, it's not difficult to see why developers aren't all that keen to go with OpenGL. If the Khronos group continue to keep giving us information which they later back track on (like the entire OpenGL3 spec), it's not surprising to see game developers ditching OpenGL3 in droves. To see Carmack ditching OpenGL really shouldn't come as a surprise to anyone working with OpenGL3. I've worked with OpenGL for the past ten years or so, and I'm sad to say that I'm currently stripping all OpenGL out of our codebase in favour of the 'other' API. Currently it seems to be what every developer is doing at the moment. OpenGL is just a royal pita these days. Let it die.
Re:Big news... (Score:3, Informative)
Re:I'm trying to understand why anyone is surprise (Score:1, Informative)
iD has always been a company that made money by selling games and licensing the game engines. The vast majority of their direct and indirect customers have always been running DOS / Windows flavor of the year. They have never been a charitable organization, and any donations of code made have always been last-gen stuff with little remaining commercial licensing potential.
iD's aim has never been to make Mac / Linux users feel better about themselves, or to get involved in fan-boy OS flamewars. If by "subjugated by the suits" you mean "expected to concentrate on profitable projects in return for the well-deserved remuneration you receive" then so what? That's the way things generally work.
Re:Binary blob ... eh? (Score:3, Informative)
Carmack also stated at Quakecon that he now has a pretty good business case for doing so. With the success of Wolfenstien 3D Classic on the iPhone, which uses an OpenGL port of Wolfenstien 3D, there is now a real business case where a contribution to the open source community can pay dividends in the future.
Re:Big news... (Score:2, Informative)
Not quite. Even if an API is cross platform in its nature, it still only provides the functionality it was designed for. OpenGL for instance doesn't offer any way to open up a window, initialize a rendering context, etc. For that you would have to use something like GLX for X11, WGL for windows or CGL for Mac OS X, and so on for every platform.
There are of course libraries to remedy this situation, such as SDL, GLFW and GLUT, which work on many platforms, but certainly not all platforms that have some level of OpenGL support.
Your phone probably has OpenGL ES support rather than vanilla OpenGL support. ES is a fixed point version of OpenGL for embedded systems and any OpenGL application would need to be modified extensively to run on an ES platform. There are OpenGL -> OpenGL ES wrappers, but that solution is usually less than optimal.
Your average OpenGL-based windows game is certainly easier to port to Linux (or any other OpenGL capable platform) than a DirectX game, but it's by no means "automatically portable". It's using tons of windows API calls, maybe even DirectX, to handle windows, input, sound etc.
Most graphically advanced OpenGL games are probably also using OpenGL extensions. Functionality that is not guaranteed to work by the OpenGL API itself, but the hardware might support. OpenGL doesn't even offer a way to probe for what extensions the current implementation / hardware supports. For that you need yet another library, such as GLEW or GLEE.
The point I'm trying to make here is that making a cross platform video game is a lot more work than simply going with OpenGL for graphics hardware acceleration. Even if the platforms you're working with implement the OpenGL 3 specification to the letter.
http://en.wikipedia.org/wiki/Opengl#Higher_level_functionality [wikipedia.org]
http://en.wikipedia.org/wiki/OpenGL#Extensions [wikipedia.org]
Re:Big news... (Score:3, Informative)
Point: Loki Games no longer exists. [lokigames.com]
I think that proves the point.
And BTW, based on the forum responses in the slashdot-linked article, it reminded me why Linux is not (and probably never will be) widespread on the desktop: just to get the damn OS (of whatever distro you chose) running, you have to go to a forum filled with people like them and beg for help only to get a bunch of asstard responses, and then come back again whenever you're trying to find/learn another new program.
No thanks.