Why Linux Loses Out On Hardware Acceleration In Firefox
devtty writes with some bad news for Linux users, from OSNews: "The release notes for Firefox 4.0 beta 9 noted that it comes with hardware acceleration for Windows 7 and Vista via a combination of Direct2D, DirectX 9 and DirectX 10. Windows XP users will also enjoy hardware acceleration for many operations 'using our new Layers infrastructure along with DX9.' Furthermore, Mac OS X has excellent OpenGL support, they claim, so they've got that covered as well. No mention of Linux, and there's a reason for that. 'We tried enabling OpenGL on Linux, and discovered that most Linux drivers are so disastrously buggy (think "crash the X server at the drop of a hat, and paint incorrectly the rest of the time" buggy) that we had to disable it for now,' explains Zbarsky, 'Heck, we're even disabling WebGL for most Linux drivers, last I checked...'" An update to the story softens this news slightly, saying that "hardware acceleration (OpenGL only) on Linux has been implemented, but due to bugs and issues, only one driver so far has been whitelisted (the proprietary NVIDIA driver)."
After that, I'm wondering if it's better to use D3D and Wine instead of native GL!
Then I guess it will surprise you to know that Wine implements D3D on top of native OpenGL. If Firefox worked better on Wine, it would only mean that the Firefox developers can't write decent OpenGL code, but Wine developers can.
I take it you only read the first half of the summary. They have an OpenGL version that works fine on Mac, and fine on Linux with the nVidia drivers. The problem is not that OpenGL is a difficult API to use, it's that the Linux drivers suck.
I am TheRaven on Soylent News
I'm not sure if you're trolling or not. FreeBSD and Solaris have almost identical nVidia drivers to Linux - they have slightly different kernel shims, but they use the same blob. Most DRI drivers are also the same on Linux and FreeBSD, because they mostly run in userspace and are more dependent on X.org than the kernel (this is changing a bit with KMS).
I am TheRaven on Soylent News
Ah, but at least the OS X drivers are likely fairly consistent with the bugs due to the limited amount of different mac hardware out there.
I think a more accurate statement is that OS X OpenGL bugs typically don't crash the UI, unlike Linux OpenGL bugs. OS X OpenGL bugs mostly involve features not working. Like antialiasing, for example. Apple does a lot of work at the Quartz level to get decent antialiased graphics primitives.
GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
nVidia supplies top-flight OpenGL drivers with their cards. They are in every way as stable and as fast as their DirectX drivers, and support the latest standards. ATi's OpenGL drivers are nearly as good. I haven't tested them recently but last time I did they weren't quite as fast as DirectX, but nearly so, and their feature support is current (4.1 with the current drivers). Their main issue is with older games since they can't limit extensions reporting which can cause problems for games that can't handle all the extensions modern cards have.
The support is true over many generations too. The very latest cards, the 580 and 6970, support OpenGL (version 4.1 in this case), and support had been there for a long time. Go back and get an original GeForce 256, you find that it supports OpenGL (1.4 in its case) and every card in between. Not an extra download either, it is part of the standard drivers they provide on their website (and their OEMs ship with their cards).
That isn't non-existent, that is heavily supported. More or less if you have a dedicated graphics accelerator on Windows, you have OpenGL support. The only major graphics provider I don't know about in Intel. I know their graphics chips have OpenGL support, though it lags a bit, but I've no idea how good it is.
Regardless, I'd say Windows drivers being "practically non existent" is very incorrect. If you want 3D acceleration for your system, you purchase an nVidia or ATi card. They are the only guys in the business anymore. They both supply current OpenGL drivers with their current products. Means OpenGL drivers are readily available, and in fact installed on most systems that have discreet 3D.