From Valve's Linux blog: "That the Linux version runs faster than the Windows version (270.6) seems a little counter-intuitive, given the greater amount of time we have spent on the Windows version. However, it does speak to the underlying efficiency of the kernel and OpenGL." If it wasn't obvious before, it should be now: Valve has started its marketing campaign for Linux. With the Windows platform in the process of closing itself off, Valve has to look to greener pastures. This is all to motive third parties to get their stuff ready for a possible Linux-powered 'Steambox' - not a console, but a set of generic PC specifications. Remember: the Xbox is the only machine tied to DirectX - OpenGL runs everywhere else, including Windows (the PS3 is an oddball, and has a sort-of Sony-specific FrankenOpenGL). OpenGL simply makes more sense for developers, and now Valve is working very closely with Nvidia, AMD, and Intel to optimise their Linux drivers. Do the math, people.

You're arguing against a point that nobody is making (certainly not the original Valve article).

The "Linux faster than Windows" point only concerns the game running OpenGL (315fps vs 300fps). Once you compare OpenGL to DirectX, it's apples to oranges because the devs didn't spend as much time optimising both APIs. Comparing Linux/OGL to Windows/DX is silly. Case in point: Valve is hoping to use what they learned optimising OGL to optimise DX as well.

As for DX9 being an old API, consider the fact that OpenGL on Linux is an old version of the API too (not as up to date as OGL on windows), so one could argue that DX9's age isn't an issue here.

But of course, regardless of performance, the problem with DirectX is that it is a non-starter where portability is concerned. If it wasn't for the DX-only XBox, no sane developper would do the extra work of maintaining two similar APIs. They'd just use OpenGL, which is available on more platforms.

As for DX9 being an old API, consider the fact that OpenGL on Linux is an old version of the API too (not as up to date as OGL on windows), so one could argue that DX9's age isn't an issue here.

Direct X 9.0c is an ageing implementation of an API on a Operating system that is going to be unsupported in 2 years time.

Vendors supply their own version of the OpenGL stack on an OS. So the driver code and probably their implementations has been optimized since 2004 (which is what it stated in the article), so no surprise it is faster.

As for portability yes Direct X is only going to work on 3 different platforms, but quite a lot of games have both an OpenGL mode and a Direct X mode. Indicating that it isn't that hard to write a wrapper around both APIs.

But of course, regardless of performance, the problem with DirectX is that it is a non-starter where portability is concerned. If it wasn't for the DX-only XBox, no sane developper would do the extra work of maintaining two similar APIs.

There is more than just OpenGL and DirectX out there.

As I mentioned on another thread, usually each gaming system has a different graphics API.

When everything is done by the same studio, usually an abstraction layer is created that exposes the required set of features across gaming systems.

Additionally some publishers prefer to focus on a main platform, while outsourcing ports to separate gaming systems. In this case each outsourcing studio gets to rewrite the graphics engine for the system being requested.

the problem with DirectX is that it is a non-starter where portability is concerned. If it wasn't for the DX-only XBox, no sane developper would do the extra work of maintaining two similar APIs. They'd just use OpenGL, which is available on more platforms.

In practice when such choices really matter (for example, indy devs without much resources, making the small games of the like that got fairly popular recently on Xbox Live or mobile phones), going DirectX in a way (actually, even "more MS" - XNA) might be the smoothest & least-work way towards multi-platform... http://monogame.codeplex.com/ (with existing examples in iOS and Android stores, Linux)