Linked by Thom Holwerda on Sat 15th Jan 2011 10:40 UTC
Mozilla & Gecko clones Yesterday, the ninth Firefox 4.0 beta was released. One of the major new features in Firefox 4.0 is hardware acceleration for anything from canvas drawing to video rendering. Sadly, this feature won't make its way to the Linux version of Firefox 4.0. The reason? X' drivers are "disastrously buggy". Update: Benoit Jacob informed my via email that there's some important nuance: 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).
Thread beginning with comment 458344
To view parent comment, click here.
To read all comments associated with this story, please click here.
PlatformAgnostic
Member since:
2006-01-02

Graphics is a whole nother kettle of fish. As far as I know, writing a graphics driver involves writing multiple high-quality JIT compilers, a memory management layer, and a bunch of difficult-to-debug libraries. Plus you need a minimal OS on the ASIC side. The statistic I heard (and believe) is that the NVidia driver on Windows contains more code than the all the other drivers on a typical system combined.

Reply Parent Score: 2

gilboa Member since:
2005-07-06

As you pointed out, unlike, say a kernel based deep packet inspection software (ummm....) that's forced to use 70 different kernel APIs (from memory management to files, sockets, module management, assortment of contexts and memory spaces) a Video driver, such as as the nVidia driver is fairly light on kernel API's making it far less susceptible to kernel changes.
Most of the code (JIT, HW register management, etc) can easily be shared between Windows and Linux.

To quote nVidia [1] ~90% of their code is shared between Windows and Linux.

I'd estimate greater than 90% of the Linux driver is cross-platform code. The NVIDIA GPU software development team has made a very conscious effort to architect our driver code base to be cross-platform (for the relevant components). We try to abstract anything that needs to be operating system specific into thin interface layers.


- Gilboa
[1] http://www.phoronix.com/scan.php?page=article&item=nvidia_qa_linux&...

Edited 2011-01-17 03:50 UTC

Reply Parent Score: 2