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.
If we show that we will accept closed drivers/spec on an open system, we've already lost. Especially with the desktop effects becoming more and more important in modern distros. Also, AFAIK, there are no Nvidia drivers for PPC, and then there are people who could learn about the GPU specifics for the sake of it.
Why does my post history abruptly stop? I want to laugh at the stupid things I posted as a kid.
One of the problems is that the drivers are x86 only (although there are old and outdated Itanium drivers). Another issue is obsolete video cards. nVidia could one day stop supporting the TNT or GeForce. What do we do then? If there are no open source drivers, we're SOL on updates. If there are open source drivers, then we can make continued improvements when needed.
I switched to a FireGL 8700 (R200-based) for this reason (and it was an upgrade from a GeForce FX 5200). With regards to ATI cards, there are usable and stable open source drivers for all R300-based and lower video cards. Additionally, ATI no longer supports R100-based or lower video cards on Linux. Fortunately, the open source drivers are available to pick up the slack.
I can't see how, unless someone's somehow managed to obtain patents that don't disclose information publicly and, as such, would suffer material harm in disclosing the patented ideas publicly by releasing source code.
In other words, any vendor that tells you that is lying.
how to invest, a novice's guide
They may not be able to release the code to the drivers as they are - they probably do contain patented/licensed trade secret code. However, they certainly can provide basic - non optimized code to allow interfacing with the chipsets. With that as a basis, the OSS community could certainly work out how to optimize the system - alleviating the trade secret issues, though patents might still be a problem. IANAL, but IIRC, the API's can't be patented, just the code behind them. The rational being that the API's just dictate the interface & there is only 1 way to impliment using the interface - as dictated by the API.
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
A similar thing has happened with Java. A few programmers, some employed by RedHat, got together to produce clean-room implementation of the class libraries under the classpath umbrella.
Outsiders scoffed at the insurmountable task they were undertaking, saying it was a waste of time given Sun's implementation.
Now, with nothing to lose, Sun is on the verge of releasing Java under the same license that classpath uses!