Forgot your password?
typodupeerror
Graphics Software Linux

NVIDIA's Andy Ritger On Linux Drivers 269

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

NVIDIA's Andy Ritger On Linux Drivers

Comments Filter:
  • Nouveau (Score:3, Interesting)

    by nxsty (942984) on Wednesday June 06, 2007 @08:28AM (#19409259)
    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?
    • Re:Nouveau (Score:5, Insightful)

      by babbling (952366) on Wednesday June 06, 2007 @08:36AM (#19409313)
      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.
      • Re: (Score:3, Interesting)

        by Andy Dodd (701)
        Yeah. I interpret their "help but not hinder" comment to mean:

        "Some of our license agreements prevent us from contributing 3D support to open source drivers, we like Nouveau but can't legally contribute to it."

        One wonders what happens if Nouveau becomes the official xorg driver. Perhaps NV will be able to legally contribute to the 2D aspects of the driver. The binary drivers will likely continue to exist as long as they are encumbered by technologies licensed from other vendors which NV has no direct con
        • Re:Nouveau (Score:4, Interesting)

          by babbling (952366) on Wednesday June 06, 2007 @09:49AM (#19409969)
          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.
          • If you wish to see evidence of that, look at nForce. The default nVidia nForce drivers for Linux kinda sucked, so some open-source people developed forcedeth. When nVidia saw forcedeth was already better than their proprietary Linux drivers, they contributed a lot of code to forcedeth, helping it even more.
          • Re:Nouveau (Score:4, Informative)

            by the_greywolf (311406) on Wednesday June 06, 2007 @01:31PM (#19413355) Homepage

            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.

            • Re: (Score:3, Interesting)

              by Andy Dodd (701)
              Regarding the last one (S3TC) - removing it WILL break a lot of games.

              Unreal Tournament's need for the last one marks the beginning of ATI providing proprietary drivers and partial specs for their cards rather than full specs. There was a huge to-do about Unreal Tournament 2003 only working on NVidia cards in Linux back when UT2K3 was released. Epic's response was basically "we use this feature, it's implemented in all Windows drivers and the NVidia 3D drivers, we cannot work around the lack of this featu
    • Re: (Score:2, Interesting)

      by b1ufox (987621)
      The problems as i look at it is loosely like this. Nouveau being a reverse engineered driver misses to harness complex Nvidia specific GPU features.Yes, mod me down if you feel like but that is the truth, a reverse engineered software for a complex GPU is not simple.And now please don't give me example of Samba and et all, i know it. The way hardware evolves in today's hardware industry Nouveau will find it extremely difficult to sustain the pace to match it.

      Moreover reverse engineering being a difficult t

      • Re: (Score:3, Interesting)

        by WilliamSChips (793741)
        The problem with that is that AMD is bound by the same patent crap nVidia is on a lot of their 3D features and neither one can actually open their drivers because it wouldn't be worth the patent minefield to navigate around. But if Nouveau advances far enough to supplant nv, then nVidia will probably send a few engineers to contribute to Nouveau code like they currently do with nv and forcedeth(nForce network driver for Linux)
    • by neersign (956437)
      What I don't understand is why 3d acceleration cannot be added to nv. why is there a completely seperate 3d driver? and what are the reasons that nvidia will help with 2d on nv but will not help with 3d on nouveau? and, what are nvidia's reasons for maintaining a closed source, proprietary driver if they are helping on open source too? it seems to me that if they waste any effort helping with nv, they might as well throw all of their effort in to it. I'm sure their main reason for maintaining a proprie
      • by jandrese (485)
        As I understand it, while they own all of the IP for the 2d driver, some parts of the 3d support are licensed from other companies and individuals (who hold the patents). The terms of those licenses forbid nVidia from releasing their code (naturally). In order to get a nVidia to open up the 3d support in the driver entirely, the open source community as a whole (or at least some part of it) would have to negotiate with them and convince the companies to open up like nVidia. Given that they make their mon
        • 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?

          Given that they make their money off of licensing IP and perhaps selling software (as opposed to selling hardware), this is highly unlikely.

          That term, "IP", has confused me. I thought Nvidia made GPUs [wikipedia.org]. What would they lose by telling free software developers how to make their GPUs work?

          they own

          • Given that they make their money off of licensing IP and perhaps selling software (as opposed to selling hardware), this is highly unlikely.

            That term, "IP", has confused me. I thought Nvidia made GPUs. What would they lose by telling free software developers how to make their GPUs work?
            I think you misread that sentence. The "they" in that sentence is the companies that nVidia has licensed code from, not nVidia itself.
            • by twitter (104583)

              I think you misread that sentence. The "they" in that sentence is the companies that nVidia has licensed code from, not nVidia itself.

              Ah, so what does that have to do with nvidia again? As I said, you would think nvidia's in charge.

              • Ah, so what does that have to do with nvidia again? As I said, you would think nvidia's in charge.

                I would guess that means that nVidia can't release the source code for the drivers because they don't actually own the rights to the code. As for nVidia being in charge, I would think that nVidia, being the far larger company that the smaller company may not be able to exist without, would have the advantage in negotiations. Then again, if nVidia said "Screw you, we'll write our own code", they'd probably get

              • by jandrese (485)
                Because nVidia uses some of that code in their driver. They can't release that code because it isn't theirs, but without it the driver is useless. I'm guessing if they could write it themselves cost effectively they would have.

                It's the same reason DooM's source code wasn't released as fast as the rest of ID's projects. DooM used a licensed sound module that they had to eventually rip out of the code before they could release it.

                A good example of functionality that can trip up a driver release like th
          • by mikael (484) on Wednesday June 06, 2007 @11:39AM (#19411513)
            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 [nvidia.com]

            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.
          • Re: (Score:3, Insightful)

            by Macthorpe (960048)
            Reading your posts today has been a joy. This piece of abject stupidity regarding patent licensing, and your other comments regarding GSM phones, have only proved that towing the /. party line leads directly to mod points, no matter how uninformed you actually are.
        • Re: (Score:3, Interesting)

          by jonwil (467024)
          I wonder if it would be possible to produce a driver that didnt use the patented features (and as such presumably didnt support that relies on the patent) but still implemented the rest of the functionality of the GPU. For example, if nvidia has licensed the S3TC patent, they could remove the S3TC code from the "open source" driver.

          Or they could go half way by taking all the code that they don't own and all the code that relies on 3rd party patents where the patent holder has forbidden them from releasing
          • by jandrese (485)
            I think they have done your first suggestion. It's called the "nv" driver, and it ships with Xorg.

            The second suggestion is interesting, and is in principal similar to what they do now. Parts of the driver are still compiled on the host OS, although usually just the kernel interface bits now. Moving more of the code out of the binary blobs really doesn't solve much though, since the binary blobs will still be necessary for the driver to work. Binary blobs are still binary blobs no matter how small you
            • Re: (Score:3, Insightful)

              by jonwil (467024)
              The smaller you make the binary blobs, the easier it is for other people to clean-room reverse engineer and clone said binary blobs (as has been done for some of the WiFi cards with binary blobs)
    • by jonwil (467024)
      Is Nouveau using the NV code (or the information contained therein) for the 2D part of their work? If they aren't, why not?
  • Every interview with the NVIDIA "developers" they repeat the company line (see summary) but fail to state WHY this is the company line. Speculation abounds as to why this strategy was chosen, but I've yet to see an official comment from NVIDIA.

    Anyone?

    • by Kjella (173770)
      Licensed code and patented algorithms that require closed-source implementation, I'd wager. Or just a general paranoia and protection of software implementations. Or that they're still the preferred choice over ATI for Linux machines. If we ever get to the point where you say "Go with ATI instead, their drivers are much better *and* open source" maybe they'll change their opinion. Until then, they're probably committing most of their resources to beating ATI in the Windows market. Can't say I blame them for
      • by QuantumG (50515)
        More speculation, just what we need. Hopefully the next guy who interviews an NVIDIA dude will ask the question and we'll get something other than bullshit back.
      • by simm1701 (835424)
        Patents wouldn't exclude an open source release. Patents they want to enforce would preclude using the GPL or BSD licenses for example, but it would certainly be possible for them to release their driver open source with a license they are happy with that protects patents they own.

        Its the licensed code, as you mentioned, that causes the problem.

        They would need permission and an agreement on license type from every single company or organisation they have licensed code from
  • Improving our GLX_EXT_texture_from_pixmap implementation's handling of out-of-videomemory scenarios (this is the cause of the "black window bug" when running Compiz or Beryl composite managers)
    Good to see that this issue is still wellknown to nvidia developers, this bug has been around for a lot of months and has never been addressed yet. This is the typical problem that open sourcing the drivers would solve in a much shorter timeframe I guess..
    • by LWATCDR (28044)
      Why do you guess that?
      They know it exists but my guess they are having problems duplicating it. Even if it was totally open sourced I doubt that the fix would come much sooner. Frankly until they can say "If I do X,Y, and Z I get the error" it will be very hard to track down. Frankly with the complexity of the hardware they are dealing with it would take years for opensource developers to get a grip on it.
      I like FOSS but it isn't magic. Take a look at just about any FOSS project and you will see that a fe
  • Considering (Score:5, Insightful)

    by Z00L00K (682162) on Wednesday June 06, 2007 @08:44AM (#19409359) Homepage
    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).

  • I would really like to see a ppc driver! Comeone! And the driver should be written so it will run on the PPC, the new PPC platforms that are emerging, and IBM powerpc boxes like the p4, p5, and p6

    COME ON!! PLEASE??????
  • by Karellen (104380) on Wednesday June 06, 2007 @08:50AM (#19409399) Homepage
    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...
    • by krmt (91422)
      None of the major linux distros actually ship their driver. In addition, Debian does have it in non-free, and it's very actively supported there.
    • by neersign (956437)
      something tells me that the people at Nvidia could care less about the "linux way", and could really care less about the ethics of choosing a distro to match their driver development.
    • I hope they don't develop video drivers on their desktops. It would be horrible to close one's email, web browsers, terminals, IM, IDE, and everything else every time one wanted to test a new driver.

      I occasionally compile stuff on my Kubuntu desktop, but not anything that prompts a reboot. That's what test machines are for. Yes it's good to eat your own dogfood, but not when every crash leads to a 10 minute break in concentration while you reboot and start everything up again.

  • by east coast (590680) on Wednesday June 06, 2007 @08:54AM (#19409445)
    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.
  • Noticeable absence (Score:4, Insightful)

    by redelm (54142) on Wednesday June 06, 2007 @09:12AM (#19409581) Homepage
    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.

    • by Apreche (239272)
      In my estimation, I do think that the coding of the NVidia drivers must be very clever. Even if you compare the Windows Nvidia drivers to the ATi drivers just from a user's perspective, the NVidia driver blows ATi out of the water. It is more stable, more usable, more reliable, and more compatible in every possible way. In fact, I bet what they are doing is so clever, that even if they released the specs for all their hardware, the open source driver would remain inferior for a very long time.
  • I'll still switch.. (Score:2, Interesting)

    by pjr.cc (760528)
    ATI said they'll go OSS with their drivers and if they do i'll switch away from nvidia and be happy to do so given that article.
  • ...Director of Unix Development, Andy Ritger; the BSDTalk podcast interviewed him and Christian Zander [blogspot.com] last year about NVidia's support for the BSDs.
  • Perhaps I'm echoing something that has been said before, but please bear with me. If the companies (Nvidia and ATI) are worried that releasing specs to the open source community will violate patents, why not make the driver more modularized so that they can release everything that is not patented and have the patented parts be libraries/plugins/whatever? This would allow the community to have better information leading to relatively more stable drivers (not 100% due to the binary 'plugins') instead of rev
  • by Doc Ruby (173196) on Wednesday June 06, 2007 @09:18AM (#19409649) Homepage Journal
    How about a driver for Linux on the PlayStation 3 [psubuntu.com], which would let the PS3 RSX chip actually work for Linux apps?

    Right now PS3 Linux runs all display processing on the PPC core on the Cell, which needs to do a lot of other processing to keep the complex Cell going. Meanwhile there's an RSX chip that runs at 1.8TeraFLOPS, dwarfing even the Cell's 0.2TFLOPS. But Sony's Hypervisor virtualization layer that runs Linux hides the RSX from Linux. However, the RSX is exposed in some API, otherwise PS3 Linux wouldn't display on the HDMI port out of the PS3, and sound probably wouldn't work (probably also running on the RSX somehow).

    Sony doesn't want the RSX exposed to Linux apps, because then Linux apps could compete with Sony-licensed games (without paying Sony the royalty that even subsidizes over 25% of the PS3 purchase price). But can't nVidia release a driver, or some kind of specs, that expose a 2D API for running X desktops? Sony's money all comes from 3D games.

    Or maybe someone else has a way.
    • by jonwil (467024)
      linux apps can't compete with PS3 licensed games. In order to run any linux software you need to install the PS3 otheros loader first. No games company is going to want to cut down the market by forcing people to install that loader.

      I suspect the real desire is to stop things like Second Life (which competes directly with Sony's new online virtual world offering) being ported to PS3 linux. The people who are likely to use things like Second Life are more likely to have the know-how to install the otheros lo
  • As a Myth user, trying to improve my HDTV output, I'm interested in the video acceleration capabilties of their components. NVidia provides some basic MPEG2 acceleration support (XvMC) but it doesn't seem to be too robust, there are tons of problem reports on the Myth mailing list. This is one area that could _really_ benefit from open source access to the drivers. But, we know how likely that is.

    From TFA, regarding video accell:

    Q: ... People seem to be especially interested in better 2D acceleration,
    • Re: (Score:3, Interesting)

      by kimvette (919543)

      Instead, I think the way to go is with Intel integrated GPUs. They don't have MPEG acceleration yet, but they are working on APIs and drivers to greatly improve this (the hardware has very good video support). I'm hoping Intel GPUs quickly become the far and away best option for Myth users.. let open source prevail.

      Intel open source drivers are fine and all but before I abandon Nvidia for Intel I need:

      - Dual dual-link DVI ports (the nvidia cards we buy have these)
      - HDTV & S-video ports

    • Q: ... People seem to be especially interested in better 2D acceleration, hardware MPEG-4/H264 acceleration ...

      A: (Nothing Related to video acceleration)

      I'm one of those people who are interested in better 2D acceleration and hardware MPEG-4/H264 acceleration. I'm a MythTV user. Nvidia's hardware does have support for such acceleration; they call it Purevideo [nvidia.com]. Unfortunately, the Linux drivers don't support it. Supposedly, it will be supported "in the future". But it's really frustrating. The ne

      • Re: (Score:3, Informative)

        by sbryant (93075)

        I'm one of those people who are interested in better 2D acceleration and hardware MPEG-4/H264 acceleration. I'm a MythTV user. Nvidia's hardware does have support for such acceleration; they call it Purevideo. Unfortunately, the Linux drivers don't support it.

        Well, the "nv" driver doesn't support it, but Nvidia's own driver does ("it" being the XvMC extension in Xorg).

        Given that you're a MythTV user, here's a link to their Wiki, which contains a page about XvMC support [mythtv.org].

        The new 7050PV [nvidia.com] chi

        • I'm one of those people who are interested in better 2D acceleration and hardware MPEG-4/H264 acceleration. I'm a MythTV user. Nvidia's hardware does have support for such acceleration; they call it Purevideo. Unfortunately, the Linux drivers don't support it.

          Well, the "nv" driver doesn't support it, but Nvidia's own driver does ("it" being the XvMC extension in Xorg). Given that you're a MythTV user, here's a link to their Wiki, which contains a page about XvMC support.

          XvMC only supports MPEG-2 (e.g. w

      • by tji (74570)
        > ... The new 7050PV chipset would be perfect for a high-definition ...

        Yeah, they have all kinds of great hardware features, none of which are available in Linux. As a long-time HDTV/HTPC user, I've bought my last piece of hardware based on advertised capabilities not yet available in Linux. As soon as there are Linux drivers to use it, I'll buy it, short of that I'm not interested. Even when they add new features to their drivers, I'll still be hesitant. NVidia's XvMC on their X86-64 drivers
  • by athloi (1075845) on Wednesday June 06, 2007 @09:50AM (#19409981) Homepage Journal

    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.

  • by mi (197448) <slashdot-2012@virtual-estates.net> on Wednesday June 06, 2007 @12:06PM (#19411989) Homepage

    It could not even support a dual-head setup. If that's what he means by "NVIDIA engineers actively maintain and improve", then it is simply sabotage:

    • Why don't we fix the dual-head setup, boss?
    • Because we want people to use "nvidia" driver instead.
    • What do we care — we give it away for free anyway?
    • Because we drop support for older cards from our official driver, thus pushing people to upgrade them.

    The nv-driver was my only option on FreeBSD/amd64, yet it would not drive the second monitor, so I changed the card for a Radeon. The open-source driver for ATI, at least, supports dual head and plenty of other features found on the hardware.

After an instrument has been assembled, extra components will be found on the bench.

Working...