Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
Graphics Software The Almighty Buck Linux

Open nVidia Linux Driver Pledge Nearly Complete 221

Posted by kdawson
from the encouragement dept.
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.
This discussion has been archived. No new comments can be posted.

Open nVidia Linux Driver Pledge Nearly Complete

Comments Filter:
  • Excuse me. (Score:2, Interesting)

    by RightSaidFred99 (874576) on Tuesday January 09, 2007 @04:14PM (#17528922)
    Seriously - isn't it somewhat silly to undertake a project of this magnitude (and we're talking a _lot_ of magnitude - take for example redoing drivers for new 8800 line) when it could be instantly obsoleted by one phrase from Nvidia: "OK, nevermind, here are the drivers - we changed out mind."

    This sounds, for lack of a better phrase, retarded to me.

  • Re:Excuse me. (Score:2, Interesting)

    by Anonymous Coward on Tuesday January 09, 2007 @04:25PM (#17529192)
    Nvidia has already stated why they can't make their driver open source: their source code is derived from SGI code (and yes, there was a lawsuit). Their settlement effectively bars them from opening their code.
  • by lolocaust (871165) <sage> on Tuesday January 09, 2007 @04:35PM (#17529458) Homepage Journal
    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.
  • by chill (34294) on Tuesday January 09, 2007 @04:42PM (#17529596) Journal
    Just to bring this back into view...

    http://wiki.duskglow.com/tiki-index.php?page=OGPN1 7&PHPSESSID=629ef486f166fab6ef8951de2a5ae96c [duskglow.com]

    The Open Graphics Project is making steady progress.
  • by the_humeister (922869) on Tuesday January 09, 2007 @04:42PM (#17529600)
    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.
  • Re:Excuse me. (Score:3, Interesting)

    by dinivin (444905) on Tuesday January 09, 2007 @04:48PM (#17529740)
    And SGI has already stated that this isn't true.

  • Re:Great... (Score:2, Interesting)

    by Anonymous Coward on Tuesday January 09, 2007 @04:53PM (#17529850)
    At the moment there seems to be only negative actions to take (ie a boycott of products without OS drivers). Perhaps a positive example where the presence of a fully implemented open source driver creates a competitive advantage for nVidia will push its rivals to release specs and code for OS drivers for their own products. Maybe it won't work out so optimisticly, but at least this project is making an effort to change the status quo.
  • by chromatic (9471) on Tuesday January 09, 2007 @04:55PM (#17529894) Homepage
    Besides, isn't patent licensing part of the reason nVidia and Ati won't release fully OSS drivers?

    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.

  • Re:Excuse me. (Score:3, Interesting)

    by lakeland (218447) <lakeland@acm.org> on Tuesday January 09, 2007 @05:00PM (#17529988) Homepage
    I have to disagree with this.

    Yes, Nvidia has NDAs which would be violated if they turned around tomorrow and released a GPL driver. However, those NDAs were negotiated by Nvidia and it would be trivial for them to be renegotiated. I very much doubt the people who developed the components care either way - as illustrated by how quickly intel was able to open-source their driver.

    I think the "We'd be breaking our supplier agreements" line is nothing more than a red-herring.
  • Re:Excuse me. (Score:5, Interesting)

    by tinkerghost (944862) on Tuesday January 09, 2007 @05:03PM (#17530052) Homepage
    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.
  • by mandelbr0t (1015855) on Tuesday January 09, 2007 @05:20PM (#17530430) Journal

    If nVidia ever decides to drop a piece of hardware and stop compiling a certain driver for newer kernels, then users will either have to upgrade hardware (gee, I wonder if nVidia would have an incentive to make people do that) or else use an old kernel. Ouch!

    More appropriate would be to say "or else use a kernel you don't want to." It's just as much of a nightmare being forced to upgrade your kernel as well. Gaming is very sensitive to kernel version (just read the Cedega release notes re: versions 2.6.9 and 2.6.10). Upgrading from 2.6.15 to 2.6.16 caused some Cedega-supported games to stop working.

    My major issue with the binary driver is security. Because the driver is a kernel module, remote exploits of the NVIDIA driver will hack the kernel every time. Online gaming brings new life to the idea of remotely exploiting the NVIDIA driver, and not having an auditable driver is a big issue. It took them over 2 years to fix [slashdot.org] a reported, remotely exploitable issue. It's unacceptable to be forced to use such crap. The only other alternative is to use some other [ati.com] crap [microsoft.com] which suffers from exactly the same problems. I wish something would shake up the 3D market, but somehow I doubt this project is going to unseat NVIDIA. :(

    mandelbr0t
  • by meldroc (21783) <meldroc@f r i i . com> on Tuesday January 09, 2007 @06:09PM (#17531298) Homepage Journal
    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.
  • What's In It For Me? (Score:3, Interesting)

    by Doc Ruby (173196) on Tuesday January 09, 2007 @06:21PM (#17531486) Homepage Journal
    Will this project produce a driver that will let my Inspiron 8000 offload window rendering from the CPU to the nVidia GPU, so Ubuntu runs faster?

    Or is it just a way to get higher FPS on 3D games running on nVidia HW?
  • Exactly (Score:4, Interesting)

    by ChunderDownunder (709234) on Tuesday January 09, 2007 @06:27PM (#17531588)
    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!
  • Re:Huh? (Score:1, Interesting)

    by Anonymous Coward on Tuesday January 09, 2007 @07:45PM (#17532742)
    Well, I for one would like to encourage such projects and I'd be happy to donate some money. This is not about getting value for your money, it is about showing someone else that you appreciate their effort.

    I'd rather give someone money in appreciation of what they have done than to a manufacturer that writes a bad driver and wants to make money on it.
  • by vandan (151516) on Tuesday January 09, 2007 @09:23PM (#17533810) Homepage
    Open source drivers drop support for devices too.

    That's not entirely accurate, and not a fair comparison. When a corporation drops support of their product in a binary-only driver, that's the end of the story. When an open-source driver 'drops' support of a product, what they're doing is failing to maintain support. Other people are free to pick up the slack. If a device was supported by open-source software at one point, getting that support up-to-date is far easier than, say, starting from scratch.

    And unless you're a kernel module developer, you're just as much at the mercy of others as you are with a binary driver from the manufacturer.

    Not really. This story demonstrates that if there is sufficient demand for an open-source driver, it's quite easy to raise enough funds to hire a developer to bring an open-source driver up-to-date ... which again, is a different beast entirely from hiring a developer to start from scratch.

    And unless you're a kernel module developer, you're just as much at the mercy of others as you are with a binary driver from the manufacturer.

    Not at all. There's a big difference between an excuse and the real reasoning here. What nVidia and ATI are basically saying is that they can't give out documentation on programming the hardware ... register details, setting up DMA, basically talking to the card. This is absolute bullshit. They might be right when they say that they can't open-source their software , because, as they say, some of their software ... ie their OpenGL implementation and other tricks, are legally bound. Fair enough. But no-one is asking them to open-source their drivers. We're asking them to release enough information for developers to write their own drivers. There are no legal issues involved here.

    The real reason nVidia and ATI won't release any information for developers is that they see the emergence of high quality, high performance, feature rich, open-source drivers as a threat to their profits. If, for example, Intel can leverage the Xorg / DRI environment ( not to mention developers ), then it means their unit costs are considerably lower than if they have to screw around with writing everything themselves, and sign expensive licensing deals to make use of other people's OpenGL implementation. Intel isn't the only competitor here. Any upstart can make some hardware, hand the open-source community the documentation they need, and guess what ... pretty soon someone has written some drivers for them. And they're fast, feature rich, etc, etc. This is what ATI and nVidia don't want. They have spent millions on their own drivers, and they must protect that investment. There are no legal reasons preventing them from sharing developer documentation with open-source developers.

    I believe Intel has patents on certain memory bus related technologies which are used by both nVidia and Ati.

    Yes, but that patent covers the hardware, not the interface to talk to the hardware.
  • Re:Change the kernel (Score:2, Interesting)

    by rdebath (884132) on Wednesday January 10, 2007 @04:03AM (#17536514)
    Their drivers won't be any better, still crash happy, still dangerous.

    BUT, userspace drivers could allow us to kill and restart the driver when it crashes, keep the old slow ABI around so we don't have to bin the working hardware when the maker tells us to and put the driver behind a 'firewall' to prevent it seeing anything that would upset it.

    I can see why they don't want to release the binary interface of the card; it's not like an ethernet card ... "put bytes here and they go on the wire" ... the "interface description" would be a complete description of how the card works and why it works that way. The "driver" and the "chipset" are two interwoven parts of the device. The choice as to which side of the AGP a particular function is executed is not fixed and depends on detailed design choices during the co-development of the driver and the chipset.

    To try and put it clearly this interface is just like the interface between the different phases of GCC; the C-compiler syntax trees are the "interface" between the phases and could be described but it's not a fixed interface. The programs on the sides of the interface share code so that they know what will be sent and how it should work.

    They are stuck here; they cannot release the drivers because of paper contracts; they cannot release the 'interface' because it would require an exact description of the driver to make sense of it; and violate the contract. If they release what they can they're just taking the piss.

    IMO there are two choices that allow both sides to be happy
    1) Usermode drivers
    2) An opensource daughtercard.

    A box for a usermode driver would need care. In some ways a process with a usermode driver would have to be very different (eg control of shared memory in OTHER processes, DMA access to memory). The support for restarting the driver would be very interesting.

    The simple fact is that there is no hard line between 'software' and 'hardware' and if part of the 'hardware' actually runs on the host system I don't see a problem for open source. AS LONG AS the 'hardware' conforms to a published interface specification. There is IMO no difference between comforming to 'Usermode driver Version 1.1' and 'ATI I/O Port Version 12.43832' both have advantages and disadvantages but both are perfectly reasonable.

    The current situation is not reasonable; the kernel interface between the driver and the rest of the kernel is like the GCC example above it's not "Interface version 1.1" it's "The driver module interface for kernel version 2.6.14-ac13" and because these graphic card are designed in part like 'winmodems' (so they can be both cheap and fast) the makers are basically screwed.

    Number (2) would be an expensive little card that basically runs a lightweight version of the driver and means that everything on the host side can be open source and/or firmware blob. It in effect turns a 'winmodem' graphics card into a completely selfcontained one. (ie solve the problem by throwing moeny at it)

    So where's the usermode video driver project?

  • by Anonymous Coward on Wednesday January 10, 2007 @09:14AM (#17538704)
    According to NVIDIA [robots.org.uk], there is no demand at all for free software drivers for NVIDIA hardware.

    I'd have to agree with them. The Linux users who buy nVidia hardware are those who have nothing against buggy proprietary software. The rest of us already bought ATI or Intel hardware with working free software drivers.

    (Happily playing Second Life with full 3D acceleration on my Radeon card).

"There is nothing new under the sun, but there are lots of old things we don't know yet." -Ambrose Bierce

Working...