Open nVidia Linux Driver Pledge Nearly Complete
Ciarán Mooney writes to let us know that the Pledgebank drive to raise $10,000 for Project Nouvaeu is almost complete — at this moment it needs only 196 more people to sign up. Project Nouveau aims to provide open source 3D acceleration for nVidia cards. The drive was started by David Nielsen, whose blog explains what he hopes will happen.
It isn't that NVidia or ATI won't release code. They won't even release hardware specs. There are plenty of kernel and X.org hackers out there who would jump at the chance to write open-source drivers for NVidia and ATI cards. But to do that, you need hardware programming information. You need to know which registers in the cards do what, you need to know what opcodes do what. You need to know what data goes in what registers, or to which addresses, and what data the card sends back, in raw binary. The driver developers don't have this information, and without it, they can't write drivers. NVidia and ATI aren't providing this and won't provide this, citing the need to protect trade secrets. Just to provide the 2-D open-source drivers that X.org does have for NVidia cards, the X.org developers had to run the driver source files through a code mangler that makes those particular .c files look like an entry to the Obfuscated C Contest, or NVidia wouldn't provide enough information to do even 2-D acceleration. The whole point of Nouveau is the laborious process of reverse-engineering NVidia's cards to figure out this information.
Sure, there may be some secret sauce in there that makes for shinier 3-D graphics at a higher frame rate. But I suspect that shiny graphics aren't on the top of the list of things they're protecting. It's DRM. Macrovision's built into every video card that has a TV output port (so you can't use a VCR and tape a DVD movie.) Soon, HDCP will be built into every new graphics card so you can watch HD-DVD and Blu-Ray movies without being able to exercise Fair Use legally. And very likely, all you have to do to turn off Macrovision and completely piss off the MPAA is flip a single bit in a particular register. And it's likely that if hardware programming information was known about newer cards, cracking HDCP would be trivial.
That's why we're stuck with proprietary drivers.
Meldroc, Waster of Electrons