Noticed a discussion on Slashdot on the state of Linux for games, spawned by a (not so good) article on Cedega.
One of the main arguments brought up which is probably true is that the PC gaming market is dying/declining, due to the increased popularity of consoles. It rhymes well with my own experience as those of my friends who do game a lot have basically switched from PC gaming to Playstation/Xbox gaming over the last two/three years. If you as a game company is moving your focus from PC’s to consoles anyway I guess looking at adding more ‘PC platforms’ to your supported list is quite far down the todo list.
That said there are still some major titles coming out with primarly the PC platform in mind and I don’t accept all the arguments made for why these don’t have a native linux port.
One argument I noticed cropping up was that of easy of porting between XBox and PC platform while the Linux/OpenGL/SDL/OpenAL port was harder. I doubt this is the real problem. For example I did expect more Linux games to come out when the Playstation 2 came out and used GCC and OpenGL due to ease of porting, but no such ports seemed to happen. Today MacOS X uses OpenGL and OpenAL on a Unix core with gcc, yet few of titles released for Apple also get a GNU/Linux port. So I think the Linux ports gets axed before the difficulty of porting question even arises.
Another question is if there are enough linux users out there to warrant a port, or at least enough linux users interesting in playing games to warrant a port. That is a hard question to answer. Loki Games did go under as many have pointed out, but in the aftermath its hard to say if it was mismanagement or lack of sales killing that company. Claims have been made in both directions. I would also hope that we have managed to grow the overall size of the linux userbase since the days of Loki which might have changed the dynamics if Loki where doing business today. There are other linux porting houses like Linux Games Publishing and Runesoft around and they seem to be surviving, even if they mostly do smaller titles. Transgaming looks like they are doing a healthy business currently, somewhat on the back of the enduring popularity of World Of Warcraft no doubt. So there definetly is a sustainable market for games and games related products on GNU/Linux. Based on some comments I saw from a Epic or Id person a couple of months ago I guess it is more of the ‘we don’t lose money on doing linux ports’ category though as opposed to ‘doing linux ports gives us a nice bundle of extra cash’. We need to get to the second of these two before the major game houses start paying attention I think.
Linux gaming is hampered still by shitty drivers for 3D, yet I am unsure about how direct impact this have on the lack of game ports. At the level the decision is taken at a company about wether to support Linux or not I don’t think there would be awareness of the state of Linux 3D drivers. NVidia’s proprietary drivers are probably the only ones out there that provides the quality and performance you want for playing newer titles. Intel’s drivers are good, but Intel is currently aiming at the low-end graphics market which kills them for a lot of the current games I think. ATI as many have pointed out provide really shitty Linux drivers. I don’t understand fully why they get away with it. I mean according to the grapevine the reason these drivers exist is due to the animation companies wanting them for their renderfarms. Well if that is true I don’t understand how said companies accept drivers which such horrid performance, being about 50% the speed of the same driver for Windows. Losing 50% performance on your renderfarm due to bad drivers would cause a lot of angry customers I would assume?
Anyway for someone contemplating a port, there might be some awareness that 3D accelleration under Linux has some kind of problems, even if the don’t know the details, which wouldn’t be helping their value estimation of the linux market of course. That said it seems to me people in the community are activly trying to buy NVidia or Intel using hardware these days, so hopefully the general image of bad 3D support will lessen over time due to that. It also has to be said in defence of ATI that it do seem like they are trying to improve their drivers currently. The release of AIGXL and XGL seems to have made them decide to put some more resources onto their drivers. Time will tell.
In regards to the general market size, I saw this
article today which is Red Hat talking about Xen. More importantly to this entry though is that it also reports both Novell and Red Hat seeing rapidly growing interest in deploying GNU/Linux destops. As a digression I wonder how important the major GNU/Linux and Solaris vendors having standarized on GNOME is for this surge in interest. The Windows games market where built on the back of home office PC’s, so maybe that can/will be our path too.
It’s not about resources or luring vendors into supporting Linux with some magic trick. They (ATI and Nvidia) have got their IP (patents, stuff they can use but they don’t own due their licensing with subcontractors etc) and they want to be in control of their business themselves.
Before the fundamentalists stop breaking the Linux kernel between all the releases there won’t be real interest in all-out supporting of Linux. It’s simply too much of work keeping fixing everything that breaks. The kernel needs stable apis for display adapter driver stuff – without that everything is just pointless hippie dreaming
“fundamentalists” break kernel? :D that was funny.
this is just one advantage of kernel development – the don’t keep old cruft around just for the sake of api, because almost all api is updated accordingly. result is smaller, faster and safer kernel.
that advantage, indeed turns to a disadvantage sometimes, as is the case with 3d drivers.
‘It’s simply too much of work keeping fixing everything that breaks’
Does that mean that the people who maintain these drivers:
http://dri.freedesktop.org/snapshots/
Are _really_ good developers, that can keep fixing everything that breaks even if Linux has no stable apis?
> Losing 50% performance on your renderfarm due to bad drivers > would cause a lot of angry customers I would assume?
The animation firms render their animations with the GPU?
Are you sure?-)
(otherwise a great entry!)
> The animation firms render their animations with the GPU?
Well, some actually do. But they are likely to use a Linux/nvidia solution running Gelato. I can hardly imagine any serious animation-shop to “try” things on a Linux/ati combo. All this only applies to folks going the “render on GPU”-path. Aside from that, nobody of us on the outside can really tell what these animation-studios use in their in-house tools. But even in these scenarios I would rather expect to see Linux/nvidia setups.
I wonder how the AMD-ATI-merge will turn out for the driver-quality for ATI-hardware under Linux.
I think the reason there’s so few Linux ports is relatively simple: the publishers can’t be arsed with QA and support.
It’s all risk, little gain to them.
(still hoping against better judgement for a perfect GuildWars port)
FYI, I used to be the manager of Systems at a mid-sized visual effects house, and most of the VFX/animation studios use NVIDIA, because ATI sucks hard. You can get some idea of that looking at http://studio-linux.org/ – in the studio section it gives a rough listing of hardware/software, and all the folk listed use NVIDIA. Unfortunately, there really aren’t any outside pressures to fix this. No one’s losing significant sales on it, because there’s no competing options, and while the studios are probably big enough to pressure one of the vendors, they’re just not in that business.
Basically, the only way this is going to change is if someone goes first – one of the vendors has to do it because they want to drive up their market share, and if one does, the others will inevitably follow.
I mostly agree with thi entry, and I too don’t understand much what is holding back ATi, though there hav been some rather insteresting theories about it:
[conspiracy_theory]
* The deal with Microsoft (Xbox 360/Vista) is so that they are making sure they poorly support Linux, and making it harder for people to run Linux on the Xbox 360 (whent it’s cracked)
* They rally don’t care about the Linux market, even when they say they support it due to the higher-end graphics solutions and visualization requirements (not necessarily movie studios).
[/conspiracy_theory]
I think that game studios do not want to mess with Linux and port games to the paltform, as it could even represent (on an official note) to deploy support teams and be ready to deal with a number of issues they do not know about, and that would represent further expense as they would have to train/contract new personnel to deal with the new platform.
As it was mentioned above, the Linux market is too risky to officially support it, there’s way too much uncetainty, plus there’s an inherent heterogeny to the platform (several concurrent kernel/glibc/gcc/GUI toolkits/etc versions “in the wild”…
About the “stable Vs unstable kernel API” issue and third party drivers, if you know how the nVidia and ATi kernel modules are really made, I think that they could even open source their kernel-side code and use that as the stable API they would need for their drivers. Opening their kernel-side code, would also mean that it could be kept in sync with the kernel (living even at kernel.org’s tree) and that it wouldn’t “break” with each new kernel release, use that as the stable API and let the userspace X driver actually do the magic. I am very aware that in order to speed some things up, these should be implemented at kernel level, which makes this a tad too complex to simply through a “what if…” gaming and 3D enthusiast solution at them, however this approximation, having an open source kernel-side module acting as the stable API for a company to implement their drivers in userspace, would actually be (IMO) the way to go… It could even be documented how this could be done and maybe we’d start to see more consumer hardware be supported.