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)."
OpenSource guys know how to implement graphics drivers, but they're horribly understaffed.
There are probably 50 times more closed source driver developers than OpenSource developers. The fact that they are able to do even what they do is amazing in its own right.
Graphic cards manufacturers do take Linux seriously. At least Intel and AMD/ATI do, they contribute with open source drivers, engineers and even specs.
And after years of supporting opensource drivers, they still suck. The problem is that a good quality graphic driver is really hard. It takes years and several engineers to write one, so often the drivers are late or incomplete. As if that wasn't bad enought, Linux has needed to rewrite big chunks of the graphic stack: KMS, and now Gallium3D, which force a kernel/mesa driver rewrite. And then there are other problems, like the fact that X sucks and graphic drivers have not been able to make Xrender really fast (some times toolkits seem to be faster using software than using Xrender; also Xrender doesn't reports which parts of its interface are hardware accelerated and which ones are using a software fallback which makes hard to trust it)
This conclusion matches the observation of the kwin developers who are brave enough to use GLSL for desktop effects
http://blog.martin-graesslin.com/blog/2010/09/driver-dilemma-in-kde-workspaces-4-5/
Without citations to back it up, the response of some open source devs was, IIRC: The KWin guys don't understand open source. They are meant to get in touch with the driver developers and help getting the bugs resolved, preferable send patches. The clutter developers i.e. sent patches to solve driver problems.
IIRC, the mentioned contribution from clutter devs to the graphics drivers were made by Red Hat employees, which heavily backs the gnome development. Red Hat has lots of money and eve more important expertise in house to tackle such problems. The KWin guys don't have these resources.
Open source gives the means to find, analyze and fix bugs, but its not mandatory. Saying so would mean that one has to know the code bases of every open source library used by his or her application. Thats ridiculous.
The firefox devs sure don't plan to get into linux graphics driver development and thats fine.
The real problem is that the driver teams don't have enough resources (money and developers) to get the job done. I'd be happy to vote with my feet and only buy graphics hardware with good open source drivers to encourage to hardware vendors to hire linux kernel developers. But right now I have to stick with nvidia since their drivers, though not open source and certainly have their own bugs, are the only sufficient choice for OpenGL (and OpenCL) on linux.
If you need to hardware accelerate web browsers these days, I think that more indicates a problem with modern website design.
And there are a few of us who get paid for coding open source software.
But you are right, we do not exist, we should never be brought up in any conversation...
The Wise adapts himself to the world. The Fool adapts the world to himself. Therefore, all progress depends on the Fool.
Heh. NVidia obviously does take Linux serious, because they continue to put out good, working drivers with each subsequent release, and are obviously the only cards to get for Linux users that needs working, stable 3D, such as those doing 3D CAD.
I've been using NVidia cards for more than 10 years and I've never had a single X server crash related to NVidia's drivers. The two times I tried AMD/ATI cards, I threw my hands up after numerous X server crashes.
My blog
That has nothing to do with the license. FreeBSD and Solaris both manage to maintain stable kernel ABIs, so upgrading the kernel typically doesn't require kernel modules to be recompiled. Linux breaks them for fun because Linux devs like making work for other people.
Audio is equally amusing when you use Linux. On FreeBSD or Solaris, multiple apps can open /dev/dsp, can write audio, and can have independent volume controls, and it all just works. On Linux, you need to have a userspace daemon running to make this basic functionality work, and you need all of your code to agree on exactly which userspace daemon it should be...
I am TheRaven on Soylent News
That would be stupid and fatal long term. We would never again see Linux lead the way anywhere if we hitched ourselves to Microsoft's trailer hitch. All this new push to ARM would have never been possible had not Linux lead the way there and created a potential market large enough to get Microsoft to follow. Your idea would have forever tied us to x86.
NVidia has a top tier 3D driver now because high dollar workstation users these days use Linux instead of legacy UNIX. That means there is money in keeping their drivers good enough to keep those super high margin cards moving out of their factory and not AMD/ATI's. But AMD wants in, not only there but on desktops and lacking the development resources are instead opening the specs. So be patient and soon we will have two hight quality options. Intel is already supplying fair driver support but they just don't compete well on the hardware.
Had we somehow adopted the Microsoft driver model (heavy emphasis on the somehow) none of this progress would have happened.
Democrat delenda est