Slashdot Mirror


NVIDIA's Andy Ritger On Linux Drivers

tykev writes "The Director of Unix Software at NVIDIA talks about Linux drivers, planned features, development cycle, and the open source Nouveau driver. (The interview is in English but all the comments are in Czech.) Quoting: 'NVIDIA's stance is to neither help nor hinder Nouveau. We are committed to supporting Linux through a) an open source 2d "nv" X driver which NVIDIA engineers actively maintain and improve, and b) our fully featured proprietary Linux driver which leverages common code with the other platforms that NVIDIA supports.'"

20 of 269 comments (clear)

  1. Nouveau by nxsty · · Score: 3, Interesting

    NVIDIA's stance is to neither help nor hinder Nouveau. We are committed to supporting Linux through a) an open source 2d "nv" X driver which NVIDIA engineers actively maintain and improve, and b) our fully featured proprietary Linux driver which leverages common code with the other platforms that NVIDIA supports.

    But what will they do when nouveau is complete, and replaces the nv driver? Will they stop commiting to xorg?

    1. Re:Nouveau by babbling · · Score: 5, Insightful

      Nouveau probably won't ever be "complete" since there's always new cards to add support for and that sort of thing. If Nouveau gets good enough and is the default driver they will probably start contributing to it. They would save money on driver development, and continuing their proprietary driver would be a bit pointless since everyone would be using Nouveau.

      Until Nouveau gets good, I imagine they'll keep pushing the proprietary driver, though.

    2. Re:Nouveau by babbling · · Score: 3, Interesting

      Do you really think Nvidia couldn't renegotiate license agreements, work around patent problems, or at least release a data sheet for their cards?

      It's all a matter of how desirable it is for them.

      If Nouveau became the official xorg driver and was decent enough that people wouldn't rush to replace it, Nvidia most likely find a way to contribute to it to ensure that Nvidia hardware has a good quality driver on Linux.

    3. Re:Nouveau by babbling · · Score: 3, Insightful

      It would be pointless for Nvidia to continue developing their proprietary driver once very few people use it because the Free Software one is "good enough" and installed by default. Nvidia doesn't directly make money off drivers, so in such a scenario it would be in their interests to just make sure the Free Software driver is as good as it can be.

      What's the point of spending money developing a proprietary driver if everyone just uses the default Free Software one which works reasonably well?

    4. Re:Nouveau by MoxFulder · · Score: 4, Informative

      There is no way that an open-source GPU driver can ever achieve same quality (in terms of performance and compatibility at a given timeframe) as an actively developed proprietary driver. GPUs are very complex devices, and drivers make a huge difference on performance. In order to make a fast driver you really need to know how the target GPU works on a very low level.

      This is the same tired, fallacious argument NVidia has been trotting out for years: "Developing GPU drivers is much too complex. Why don't you Linux kids go run along and play with your toys, and let us write the GPU drivers?"

      Well, it's just wrong. I have used many reverse-engineered drivers for complex pieces of hardware, and nearly all of them work as well as or better than the original vendor's drivers. Most recently, I had the pleasure of trying out the Broadcom 43xx wireless driver, which was painstakingly reverse engineered in the face of an INCREDIBLY recalcitrant vendor that won't release a shred of documentation on their devices to open source developers, even under NDA! And, surprise, the card works better under Linux with the reverse-engineered driver than it does with the Windows driver, which seems to lose the signal quite often. The bcm43xx developer Michael Buesch has even got some evidence that certain parts of their code are implemented more efficiently and elegantly than the original driver.

      Naturally, NVidia will not disclose this low level stuff about their GPUs to outsiders.

      Why is this "natural"? Intel releases documentation on the low level stuff about their GPUs, Realtek goes out of its way to help the Linux community with Ethernet and wireless IC documentation, and Linksys has released the complete code for its Linux-based routers. If a business is based on continual innovation--rather than maintaining an entrenched monopoly--it is entirely possible to be successful and open at the same time.

      You can compare GPU drivers to compilers. There is no way that open-source compiler (GCC) will ever produce as good code for new Intel's CPUs as Intel's own compiler (ICC) as long as ICC is actively developed.

      Again, this is only true if Intel holds back some of the documentation necessary to make a good compiler. If they publish complete instruction set information, with accurate timing, cache, and pipeline data (which they have done, for the most part), then making a better compiler is "merely" a question of developer resources and talent.

      I suspect that, to the extent that GCC code doesn't run quite as fast as ICC, it's because GCC has higher priorities for its code base, especially ensuring support for an incredible breadth of platforms. GCC has essentially become the reference compiler for a lot of embedded development in particular. Even companies like Broadcom that won't lift a finger to help open source out rely on GCC to build the firmware for their own devices.
    5. Re:Nouveau by jdschulteis · · Score: 5, Funny

      No open source is ever "complete", for good and for worse :) Even a dead open source project is only "temporary dead"! (whatever that means...) It just so happens that your open source project here is only MOSTLY dead. There's a big difference between mostly dead and all dead. Mostly dead is slightly alive.
    6. Re:Nouveau by the_greywolf · · Score: 3, Informative

      Do you really think Nvidia couldn't renegotiate license agreements, work around patent problems, or at least release a data sheet for their cards?

      No, I don't think NVIDIA are in the position to renegotiate a license that they don't have direct involvement in. I'll give a few examples from OpenGL extensions for why I think this way:

      • ARB_occlusion_query -- HP claims the IP to this extension and licensed it to the ARB.
      • ARB_fragment_program, ARB_fragment_program_shadow, ARB_vertex_program -- Microsoft claims ownership of the IP. What, precisely, they claim they own, I don't know. They're not likely to favor opening related source.
      • ARB_texture_float, ARB_color_buffer_float, ARB_half_float_pixel -- SGI patent #6,650,327
      • ARB_point_parameters, ARB_multisample -- "TBD," according to NVIDIA. It's probably not clear just who has the claim on it.
      • EXT_texture_compression_s3tc -- S3 owns the IP on this specific compression scheme. It's the most popular and most widely-used compression format, so removing it might break a lot of games.

      A number of other OpenGL extensions are NVIDIA proprietary, and most of the suits will probably hang on with their dying breath, if typical corporate behavior is any indication.

      It'd be nice if they opened the driver, but half of the OpenGL ARB's members would probably sue their pants off if they tried.

      --
      grey wolf
      LET FORTRAN DIE!
  2. Considering by Z00L00K · · Score: 5, Insightful
    the fact that the "nv" driver is buggy there is a lot of room left to improve on here.

    I experienced a problem with the "nv" driver on my computer with dual 7600GS cards and three displays. It wasn't possible to run all three displays at all with the "nv" driver, but the binary driver from nvidia works. The part that I'm not satisfied with is the need for an alternate driver.

    I haven't tried the Nouveau driver, but somebody else may. As I see it, Nvidia should release all information needed to allow others to write suitable drivers. (should apply to all HW manufacturers).

    --
    If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
  3. NVIDIA driver team members use Debian? by Karellen · · Score: 3, Interesting

    From TFA:

    "Across the NVIDIA Linux Graphics Driver team, everyone has their own favorite Linux distribution as their primary desktop: Debian, [...]"

    Interesting, given that Debian can't ship their driver.

    Oh, I know that none of the driver team will be using a distro-bundled version of the driver anyway, but still...

    --
    Why doesn't the gene pool have a life guard?
  4. What a crazy world we live in by east+coast · · Score: 3, Funny

    The interview is in English but all the comments are in Czech

    Stop the planet. I want to get off!

    From now on I vow that when I code the code will be in English but the comments will be in Slovak.

    --
    Dedicated Cthulhu Cultist since 4523 BC.
  5. Re:A question by Whiney+Mac+Fanboy · · Score: 5, Insightful

    seems to me demanding that a company release their drivers in open source

    I read & re-read the parent comment, but couldn't see them demanding anything. WTF are you talking about?

    I mean, to the exclusion of actually using the software which could make their computer experience better.

    Some people have quite pragmatic reasons for preferring open software - particularly kernel software. Driver crashes were one of the things that made windows (particularly in the late 90's / early 2000s) such a mess.

    If you're making a hardware purchasing decision and want to run linux, of course you should try to buy from a company that supports FOSS.

    Surely we haven't got that many mini-RMSes?

    Finish the troll with a flourish. Nice work.

    --
    There are shills on slashdot. Apparently, I'm one of them.
  6. Re:A question by Aladrin · · Score: 4, Insightful

    Because it works! There's a saying, 'The squeaky wheel gets the grease.' If Linux users are very vocal about how they expect companies to do business, those companies -will- feel pressured to move more towards that way of doing business.

    It's the exact same reason that lobbying a congressman (without money) works. Once they hear it enough, they know it's important to the people that are most important to them: Their customers. (Or voters, as the case may be.)

    When people don't tell a company how to behave, you end up with companies like Walmart. Walmart used to be about the country, the consumer, and the profit, in that order. They gave up on the whole 'made in the USA' thing quite a while back. They gave up on customer service even longer ago. They only care about the profit now. They do it by having cheap goods and cheap wages. For people who only care that the goods are cheap, it's a great store. For the rest of us it sucks.

    nVidia has the choice of only catering to the mainstream Windows-based gamers, or also adding on a rabidly-loyal group of fanatics that are willing to work for free to make their business better. All nVidia has to do is LISTEN TO THEM and release their drivers open-source.

    Yes, there was a great amount of R&D involved in their drivers, but most of the stuff that makes their drivers 'great' on windows just doesn't apply to Linux, like that massive control panel. That doesn't even exist in the binary Linux driver.

    The code doesn't have to be GPL or any such. They could release it under their own license that specifically states the code can only be used for a driver for nVidia cards. The only thing necessary is the ability to improve the code at will. (I think they would find it advantageous to go to GPL later, but that's another discussion.)

    nVidia really has little reason not to open their source code to the public, unless they are doing something illegal or extremely unethical in their drivers. (Cheating at benchmarks, etc.)

    --
    "If you make people think they're thinking, they'll love you; But if you really make them think, they'll hate you." - DM
  7. Noticeable absence by redelm · · Score: 3, Insightful
    I read TFA fairly closely, as usual looking as much for what could have been said but wasn't. iReading tea leaves. First, NVidia did not complain they had licenced technology from others which they couldn't "open source". It would have been a great excuse, but since they didn't use it, it doesn't apply.

    Second, while they certainly want to be seen as supporting Linux, they really believe their closed-source drivers give them some source of competitive advantage. That's either in clever code or what the coding reveals about the internal organization of their GPU hardware. It would have been relatively easy and palatable to say: "We'd like to release full GPU asm specs and code, but believe this will help our competitors design better hardware. So we can only provide APIs." They didn't say this, so I think they consider their actual driver code to be very clever (main competitive advantage). No such secret will last.

    Yes, I know there are many other explanations for "negative knowledge" -- things that didn't happen. But when they could have and would have been easy, perhaps we need to wonder why they didn't.

  8. Re:A question by mrcgran · · Score: 5, Interesting

    One big problem in not releasing the source code is that they actually are not making our computer experience better: their drivers have bugs, and we will be locked to whatever features and bugs THEY want to make available to us -- so, basically we become hostages of their will, they can do whatever they want, because whithout THEIR driver, your nvidia card isn't worth its weight.

    In the future, when new versions and extensions of OpenGL are released, we won't have any guarantee that they will properly update the drivers. So, you'll probably won't be able to use their proprietary drivers in 5 years for new applications (shining new wobbling effects), because these apps will need new extensions, but the driver for your specific nvidia card is arbitrarily not supported anymore by them (they want to force you to throw the old one away). Too bad for you.

    On the other side, if we have access to the source code (or at least the hardware specification), we don't even need nvidia's help: we can do the updates/bug-squatting ourselves, much better than a small team at nvidia. This is something that these companies don't get: the whole world is willing to write their drivers for free and maintain them to the end of times, but they refuse the consumer this right (or maybe they get, they just want you to throw away your old card and buy a new one). We don't want a huge amount of work from them, quite the contrary! It's *way* cheaper for them to release an open-source driver: it costs nada/zero, we can build one with the bare bones of a reasonable hardware specification, a little pdf file -- how much does it cost to post a pdf file on the Internet?

    There's no RMS ideology in that, only the absolute minimum someone would expect in terms of support for something you bought. Nowadays, the choice is clear: go Intel X3000/X3500, which supports open source and you can be sure will always be up-to-date. Ignore nvidia and ati, until at least one day (I hope so) nouveau arrives.

  9. Linux-certified hardware by athloi · · Score: 4, Interesting

    Windows certifies hardware, and Apple makes it clear what they support. Could it be useful for an agency of Linux developers to certify hardware that is open (standards released so drivers can be written) and well-designed enough to support the rigors of a "UNIX-like" OS?

    I do not know the answer to this one. My inner four-year-old anarchist is leery of certification in anything, but even something as simple as a list of supported hardware like BSD does, with the requirement that its standards be open so drivers can be developed, might help companies market to Linux users (1 in 10 users, by my estimate) and help Linux users get their market share behind a few quality products so they can stand up and be counted.

    Just an idea. Feel free to mod -1, this guy's an idealistic moron.

  10. Re:A question by pkphilip · · Score: 3, Informative

    Though one may argue that having the source for a driver may result in the driver becoming more stable over time as a lot of people contribute changes/fixes to it, I feel that this may be overstated.

    Consider Nvidia/ATI drivers on Windows or Mac OSX - these binary-only drivers are feature rich (are they more feature rich than their binary-only drivers on Linux?) and most users are quite happy. Bugs do occasionally show up, but they are normally fixed by Nvidia/ATI within a reasonable time frame.

    However, I have noticed that these same manufacturers take forever to fix bugs which show up only on Linux.

    That indicates to me that the reason that these binary drivers are not that stable on Linux is not because of the binary nature of these drivers but because the Linux user community matters less to Nvidia/ATI than the Windows user community.

    And that is understandable - the number of windows users is roughly 93% http://http//en.wikipedia.org/wiki/Comparison_of_W indows_and_Linux/ and Linux users probably account for about 3% to 4% for all computer users.

    So it is understandable that a hardware manufacturer prioritizes bug fixes for their larger user base (windows) rather than for the Linux users.

    Unless Linux gains the kind of market share which will force hardware manufacturers to take it seriously, we can expect less than stellar drivers and support from them.

  11. Re:NDAs and Patents Suck Life. by mikael · · Score: 5, Informative

    What you say is confusing and has the smell of a well crafted lie. Can you set me straight so I can understand why Nvidia is unable to do like Intel and fully co-operate with the free software community?

    Have a look at NVidia's OpenGL specifications web-page

    Every extensions comes with an IP Status field. For example ARB_color_buffer_float has the following:

    IP Status

            SGI owns US Patent #6,650,327, issued November 18, 2003. SGI
            believes this patent contains necessary IP for graphics systems
            implementing floating point (FP) rasterization and FP framebuffer
            capabilities.

            SGI will not grant the ARB royalty-free use of this IP for use in
            OpenGL, but will discuss licensing on RAND terms, on an individual
            basis with companies wishing to use this IP in the context of
            conformant OpenGL implementations. SGI does not plan to make any
            special exemption for open source implementations.

            Contact Doug Crisman at SGI Legal for the complete IP disclosure.

    --
    Vintage computer adverts: http://www.vintageadbrowser.com/computers-and-software-ads
  12. OK, that Sucks Life. by twitter · · Score: 3, Interesting

    Thanks for the link, it clears up a lot. The site itself is a pain, so it would probably be easier to Google site:developer.nvidia.com for "IP Status".

    As for the example you give, Holy Shit!

    SGI owns US Patent #6,650,327, issued November 18, 2003. SGI believes this patent contains necessary IP for graphics systems implementing floating point (FP) rasterization and FP framebuffer capabilities.

    A patent on floating point raterization and framebuffers? Is that what I think it is? Yes it is. I can not think of anything more obvious in high quality imaging than representing the image as a floating point matrix. It may be true that there are still "fat line" patents out there.

    Kudos to Nvidia for shining a small light on this insanity. Knowing the problem is always the first step. It would be nicer if they would put patent and other encumbering as symbos on the reference page and a link to the actual patent in the description page.

    --

    Friends don't help friends install M$ junk.

  13. It's bloody obvious what's really happening here.. by advocate_one · · Score: 3, Informative

    Microsoft are the real owners of the SGI OpenGL patents and are blocking this entire show by insisting on those anti-GPL RAND terms for the licensing... not SGI...

    http://www.theregister.co.uk/2002/01/16/sgi_transf ers_3d_graphics_patents/

    http://www.smithhopen.com/news_briefs_display.asp? ID=301

    http://www.forrester.com/Research/LegacyIT/Excerpt /0,7208,28681,00.html

    that last is is a doozy... they want $99 for a one page article...

    Microsoft has nVidia over the certification barrel... if they make the nv driver support 3D, then nVidia may find it very difficult to get their windows drivers certified... they're having enough problems at the moment...

    --
    Donald 'Duck' Dunn: We had a band powerful enough to turn goat piss into gasoline.
  14. Re:SGI aren't the problem by ichigo+2.0 · · Score: 3, Interesting

    They could always change their mind. The GPLv3 would help in this case only if SGI themselves distributed/contributed code that covered the patent in question. If they are really serious about not minding GPL code that use those patents, maybe they will release something under v3 themselves? Just saying something publicly doesn't make it legally binding.