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.
With new technology like AIGLX, XGL and XEGL emerging, having open source drivers for 3d cards is very important. Along with the recent R300 work for the ATI cards, this will bring much improved graphics to the Linux Desktop regardless of architecture. I only hope that the ATI X200M card gets open source support soon too (obviously not from nouveau).
Also Fedora 7 (dure April) intends to include the nouveau drivers - which is great as out-of-the-box Fedora can't include the binary nVidia driver necessary to have AIGLX working.
And to anyone who thinks this is unnecessary as there is the binary driver - just wait until you card is dropped from the official support and the old driver stops working with some future kernel.
Blog Entry: I hope that a bunch of people on slashdot will give me money. The End.
If a manufacturer refuses to help the Linux community by providing drivers, wouldn't it make more sense to simply, oh I don't know, boycott their products?
Instead someone has the stupid idea to INCREASE nVidia's market share by getting a community nVidia gives the finger to to buy their products.
Way to encourage companies to support the open source movement... it's basically saying "don't bother writing drivers for Linux, we'll do it at OUR expense!"
Lunacy of epic proportions.
For a site about things like basic rights, Slashdot users sure do like to censor "dissent".
[...] The pledge mentioned is however not supported by our project. We currently don't need any money and the person who set it up is not connected to our project.
Congratulations to everyone who pledged to throw money at something that doesn't need any.
His blog entry says it's basically a $10,000 "thank you" for taking on the project. Seriously, what? I'm giving someone a big pile of cash to thank them for taking on a project, even when they haven't made any meaningful progress toward completion of that project?
I hereby announce I will take on the project of solving world hunger. Please give me a giant no-strings-attached donation as a "thank you" for my initiative. I will then make very little progress toward my goal before finally abandoning it as too difficult.
The project's official website is even more interesting. It explicitly says they have no affiliation with the pledge drive, and don't need money.
For a site about things like basic rights, Slashdot users sure do like to censor "dissent".
In fairness, the Nouveau guys (Heh, I hadn't grasped the name before but that's fairly clever...) aren't asking for money, say they don't need the $10K and make it clear that they're not expecting to have a reliable driver for the Fedora 7 release. The hype isn't their fault and I look forward to seeing what they come up with.
What I'm listening to now on Pandora...
Just to bring this back into view...
1 7&PHPSESSID=629ef486f166fab6ef8951de2a5ae96c
http://wiki.duskglow.com/tiki-index.php?page=OGPN
The Open Graphics Project is making steady progress.
Learning HOW to think is more important than learning WHAT to think.
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.
Often technologies will have in the license agreement "You can't release this code." You aren't required to like it, but if you sign the contract (and this stuff involves real, paper, signed contracts) you are required to respect it. nVidia and ATi both license a good deal of things for their drivers (S3TC would be an example). They can't just give the finger to these people and do what they want, they'll get sued and they'll lose because there's a contract in place.
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!
nVidia have been very open about the reasons why they can't OpenSource their code - I think we have to take that as a true statement. It's not going to happen - period.
Can we clone their drivers? Maybe - but it could take years to do that - and no sooner we succeed then we'll discover that there have been four generations of new hardware since we started - and the hardware we can support will be so far behind that very few people will want to use it.
You *might* be able to do this for a relatively simple peripheral like a WiFi card - but graphics chips are probably the most complex (and least standardized) single chip device in existance. The driver has to contain a full-up compiler for the OpenGL shader language for chrissakes! (And no, you can't use an existing compiler or translate to some other language because this is a language that supports 4-way parallel arithmetic and has the bizarrest optimisation requirements imaginable!)
This is a massive undertaking. $10,000 doesn't even scratch the surface of the work involved. I seriously doubt that a cash injection of a million dollars would get you a working, useful driver within a couple of years...let alone maintaining it and continually reverse-engineering the next generation of hardware.
Your driver would probably (by necessity) infringe on a bunch of patents too.
Whilst I'd REALLY like the peace of mind of knowing that there is a working, efficient and up-to-date-with-modern-hardware OpenSourced driver out there - it's *so* not going to happen. We need to find clean ways to wall off the nVidia driver so that it can function without being a security loophole and so it can survive kernel changes and such.
www.sjbaker.org
I'd rather have closed drivers that work for these devices under Linux than some crappy open source drivers.
What is wrong with that?
1. nVidia can change their minds about Linux support at any time.
2. People may want the hardware to be usable on other arches than i86.
3. It'd be nice to be able to distribute a complete working nVidia Linux system legally.
What is wrong with any of that?