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

 



Forgot your password?
typodupeerror
×
Graphics Technology Linux

NVIDIA Driver Developer Discusses Linux Graphics 317

An anonymous reader writes "Andy Ritger, who leads the NVIDIA UNIX Graphics Team responsible for creating drivers on Linux, FreeBSD and Solaris, has answered many questions at Phoronix about the state of Linux graphics, gaming, and drivers. Ritger shares some interesting facts, such as: the Linux graphics driver download rate is 0.5% that of their Windows driver downloads at NVIDIA.com; how the Nouveau developers are doing an incredible job; creating an AMD-like open-source strategy at NVIDIA would be time intensive and unlikely; and development problems for the Linux platform. Also commented on are new features that may come to their Linux driver within the next twelve months." Like all stories at Phoronix, in common with most other hardware review sites, this one is arbitrarily and maddeningly spread across 8 pages.
This discussion has been archived. No new comments can be posted.

NVIDIA Driver Developer Discusses Linux Graphics

Comments Filter:
  • by Lord Lode ( 1290856 ) on Tuesday October 20, 2009 @06:19PM (#29815609)
    I download my Nvidia drivers from the Archlinux package repository. How many Linux users manually download them from Nvidia? The 0.5 percentage could be a big understatement...
  • by girlintraining ( 1395911 ) on Tuesday October 20, 2009 @06:23PM (#29815653)

    the Linux graphics driver download rate is 0.5% that of their Windows driver downloads at NVIDIA.com

    It is entirely possible that Windows users download their drivers much more often than Linux users.

    Windows user: "Hey, do I need the x64, or the 32bit? What kind of card to I have? Just to be safe, I better download them all and see which one works. WHQL certified... or not? What's the difference? Let's download both and find out. Hey look, some beta drivers..."

    Linux user: "apt-get...done. Because I built this f***er from the ground up and I'd lose some of my geek cred if I couldn't recite the serial number."

  • by QuantumG ( 50515 ) * <qg@biodome.org> on Tuesday October 20, 2009 @06:26PM (#29815691) Homepage Journal

    Q: Are there any plans in place to provide new features within the xf86-video-nv driver or to better engage with the Nouveau developers for some open-source support?

    With the nv driver, we've always tried to provide something minimal that just works out of the box and requires the least maintenance. For that reason, feature set in the nv driver has stayed pretty slim.

    The guys working on nouveau have done a really incredible job so far. However, our policy remains the same: we won't try to hinder their efforts, but we have no plans to help them.

    Scumbags.

    Q: AMD was able to open source and/or document a lot by separating out the parts they couldn't legally disclose. Similar problems have been cited as preventing NVIDIA from open sourcing their driver (licensed 3rd parts code, etc) or documentation. Could nVidia use the same strategy?

    A similar strategy might be technically possible for NVIDIA, but for better or worse I think it is quite unlikely. There are several reasons for this:

    - For competitive reasons on other platforms, I don't think we would ever open source any of our cross-platform driver source code (which is 90%+ of the Linux driver... see my earlier description of code sharing). The Linux-specific pieces of the driver code base don't really stand on their own, and generally need to change in sync with the cross-platform code, so I don't believe it would be practical to just open source the Linux-specific pieces.

    - We have developed substantial IP in our graphics driver that we do not want to expose.

    - Unfortunately the vast majority of our documentation is created solely for internal distribution. While at some point it may be possible to release some of this information in pubic form it would be quite a monumental effort to go through the vast amounts of internal documents and repurpose them for external consumption.

    Yes, and there's a whole community that would like to help you do that. That second answer is the real point here. They don't want to open source it because they don't believe in open source. It's that simple. Hopefully this will kill the last of the NVIDIA apologists.

  • by ClosedSource ( 238333 ) on Tuesday October 20, 2009 @06:30PM (#29815753)

    You'll never hear me apologize for people whose beliefs are in opposition to my own!

  • by Anonymous Coward on Tuesday October 20, 2009 @06:36PM (#29815837)

    On the other hand, I believe Windows users often get the drivers from MSI or whoever manufactured the card. Actually, probably a large percentage do. So it's impossible to tell how accurate the 0.5% figure is because there are so many other places to get the drivers on both platforms.

  • by serviscope_minor ( 664417 ) on Tuesday October 20, 2009 @06:37PM (#29815855) Journal

    I'd like the authors of some common troll s to note:

    a) The most high profile binary kernel module distributor considers the unstable kernel API to be very little trouble.

    b) One of the most high profile X driver cerators thinks that X is well designed.

    so there.

  • by Anonymous Coward on Tuesday October 20, 2009 @06:40PM (#29815895)

    Yes, and there's a whole community that would like to help you do that. That second answer is the real point here. They don't want to open source it because they don't believe in open source. It's that simple. Hopefully this will kill the last of the NVIDIA apologists.

    No it won't. I have dual 9800s and it runs WoW like a champ (read: no spontaneous system resets or strange/spurious bugs.) I'm unlikely to change to a card with an open source driver anytime soon, because what I have right now works.

    I'm really mystified by this attitude - if a company produces a stable, reliable product with closed software and the market is willing to pay for it, what difference does it make? It's not like they are charging $$$$ for crappy product, like, say, Windows. And if you can't understand nVidia's position - e.g. maybe they really DO have some novel graphics processing pipeline in their software that provides them with a competitive speed advantage over the competition - then it's worth keeping it obscured. That's capitalism. (Speculation: some of their binary code dynamically optimizes an FPGA on board for better performance.) You can be damned sure that if I suddenly managed to come up with a novel algorithm for faster database transactions that I'd keep it secret, too, and then sell the hell out of it in competition with Oracle and DB2. Again, that's not bad, that's competition.

    Don't get me wrong, I doubt that 95% of the code that is closed is actually worth closing. It really might be that last 5% scattered everywhere that warrants keeping it closed.

  • by Antique Geekmeister ( 740220 ) on Tuesday October 20, 2009 @06:43PM (#29815935)

    One powerful reason for the low Linux download rate is because the packaging for the NVidia Linux drivers is terrible. It doesn't upgrade properly, it replaces system provided OpenGL libraries with little warning, and it has lacked (the last time I looked) a way to detect if there is a more recent driver available. Instead, people install the freshrpms or atrpms or other repositories that report dependencies and available updates more reliably for RedHat based software,

    I shouldn't have to compile a kernel module in order to install a software package: it should be published, or at least publishable, along with the updated kernel itself. But NVidia refuses to use licensing that would permit this, so they're going to continue to have people not only using alternative installation sources, but becoming quite angry when they update their kernels and their graphics drivers from NVidia stop working until they can be recompiled and a new kernel module built.

  • by icebike ( 68054 ) on Tuesday October 20, 2009 @06:46PM (#29815965)

    Yet the summary sees fit only to mention the .5% issue....

    Why? Because if TFA mentioned that the vast majority of Linux users with Nvidia cards never need to go to Nvidia's site for anything at any time it wouldn't be a SlashDot article.

    I swear, it would be more honest if TFA authors just inserted the random "Balmer Boils Babies" or "Apple Abandons Angola" outbursts into the articles we could all chuckle and move on, without the need to explain that TFAuthor had to find a way to insert his bias into the summary by cherry picking one-liners.

  • by Zerimar ( 1124785 ) on Tuesday October 20, 2009 @07:10PM (#29816211)
    AMD's high end graphics (the 5870) far surpass the offerings from nVidia.
  • by Kjella ( 173770 ) on Tuesday October 20, 2009 @07:16PM (#29816255) Homepage

    Scumbags. (...) They don't want to open source it because they don't believe in open source. It's that simple. Hopefully this will kill the last of the NVIDIA apologists.

    Oh, STFU and volunteer yourself to go write open source AMD drivers. They've been running an open source strategy now for 2+ years and they're still short on manpower even though there's plenty specs out there and AMD is actively leading the development on top of the hours they've spent getting the documentation through legal review. There's plenty evidence to suggest the open source drivers would drop dead if AMD wasn't carrying them every step of the way, you think nVidia is impressed? The alleged army of open source coders waiting for specs is more like a handful, that's not a claim it's a fact. By all means they're making great progress and all that but they're way, way behind the blobs still.

  • Re:Ran ran ruu! (Score:5, Insightful)

    by jim_v2000 ( 818799 ) on Tuesday October 20, 2009 @07:31PM (#29816415)
    It is interesting then that ATI gfx drivers have generally been a pain in the ass to use in Linux, while Nvidia's work well most of the time.
  • by petrus4 ( 213815 ) on Tuesday October 20, 2009 @08:06PM (#29816833) Homepage Journal

    I'm really mystified by this attitude - if a company produces a stable, reliable product with closed software and the market is willing to pay for it, what difference does it make?

    The reason why you can't understand this attitude, is because you're not a Stallmanite freetard.

    You're essentially correct; from any sane, neurotypical point of view, there's absolutely nothing wrong with nVidia's hardware or its' drivers being proprietary whatsoever.

  • by Sycraft-fu ( 314770 ) on Tuesday October 20, 2009 @08:08PM (#29816863)

    Is that you get people who've toyed with writing a driver for something simple, and get lulled in to thinking that means that all drivers are not a huge deal. Problem is that's not the case. Something like a basic SATA controller really doesn't have a whole lot in the way of functionality for you to implement to get a driver up and working. You can see this in terms of downloadable driver sizes too. Take a look at something like the MegaRAID cards from LSI. The actual driver is all of 25k.

    Well that's not the case with graphics cards. They are extremely complex beasts, and getting more complex all the time. You are working to implement a very complex API (OpenGL). As such the driver is going to be much more complex. You can again see this in terms of driver sizes. The core nVidia driver for my 7950 here at work is 16MB. That's just the main driver file, there are other support files it needs to work, and then more files on top of that to really give you all the functions you want (like the custom control panel and such).

    So it is a much harder job. It is also a continually moving target. As of this month, we now have a new generation of graphics hardware out that has major differences. The DirectX 11 gen hardware (Radeon 5000 series) is quite different from the previous gen in terms of what it can do. As such the drivers are going to be different. It isn't a case of "Just update the old drivers for the new hardware." It is writing drivers to support a whole new set of features.

    Thus I think you get people who have this "Oh it isn't so hard," idea because they've played with the simple stuff. Ya well, sorry guys this isn't simple. In fact, I'd wager graphics drivers are the most complex drivers on systems these days.

    As such I can see why nVidia isn't impressed. It isn't a case of "Just give us the docs and we'll knock out a dynamite driver in a week." They might like to pretend that is how it'll be but it's not.

  • by tabrnaker ( 741668 ) on Tuesday October 20, 2009 @09:02PM (#29817531)
    Sucks to be you. I had no problem with the hd3200 in my tx2524, even doing output to an external monitor or my tv. Granted, if you have two different screen resolutions it's very hard to discover that you need to set a virtual desktop that can encompass both together.
    I was a little wary in the beginning remembering the hell that was trying to get an ati all in wonder card trying to work in the past, have to say i was pleasantly suprised this time around. Only thing i wish they had was hardware accelerated video decoding, though it handles hdtv no problem.
  • by spitzak ( 4019 ) on Tuesday October 20, 2009 @09:46PM (#29817963) Homepage

    I completely screwed my Ubuntu install by trying to install the downloaded Nvidia driver (mistakenly thinking that I needed to do so to get Nvidia graphics to work). As there was nothing on the machine I reinstalled and let Ubuntu do it's automatic thing, and it worked perfectly, I strongly recommend doing that from now on, and I'm sure the vast majority of Ubuntu installs with nvidia cards do exactly that.

  • by Miamicanes ( 730264 ) on Tuesday October 20, 2009 @09:52PM (#29818005)

    > So why are those goodies disabled under Linux?
    > Come on NVIDIA, just release the specs and let us write our own damned drivers eh?

    It's not so much that they're "disabled", as a case of being "not implemented". The problem is that the line between what's a hardware capability and what's implemented mainly at the driver level through software is increasingly blurred. Just to give a familiar example, look at a PCI Winmodem. At the end of the day, a Winmodem is basically a PCI soundcard that's hardwired to a phone jack and optimized for PSTN-level voltages & impedance. Someone like Conexant could flawlessly document how to use the chips on one of their Winmodem cards to generate and sample audio, and it wouldn't do a thing to help anyone actually make the card act like a 56k modem under Linux. Someone has probably done it by now, but back when it would have actually still mattered (circa 1999-2000 or so), there was no such thing as an open-source Linmodem driver for that precise reason. Documenting the hardware was necessary, but even fully-documented, it would have only gotten you ~2% of the way towards the ultimate goal of *being* a software-defined modem.

    There's another problem with video drivers -- patents. As a practical matter, everyone in the industry violates at least one patent belonging to the other big players, and they're *all* sitting ducks for every patent troll who comes wandering along. If NVIDIA were 100% altruistic, fully implemented every Windows feature into their Linux drivers, and released the full documented source code to their proprietary Linux drivers, they'd essentially be painting a red target on their forehead and making the patent trolls' fishing expeditions that much easier. It's sad, but it's true.

  • by S.O.B. ( 136083 ) on Tuesday October 20, 2009 @11:53PM (#29819133)

    Another example of dogma over practicality. 99.9999999999% of users have no use for the source code and could care less if it was available. Who cares if the source code for the driver is available AS LONG AS THEY HAVE A DRIVER AND IT'S FREE!!! And by free I mean "does not cost money".

    Personally I think it's a mistake to choose an inferior product simply because it does not have the source code available which most people will never need, look at or use. But of course you are free to make that choice.

    I'm a big proponent of open source but this is one of those issues where the purists bite off their nose in spite of their face. It threatens to drive away companies that have the temerity to support Linux in a way other than what the purists believe.

    That's my rant for the day.

  • by Chandon Seldon ( 43083 ) on Wednesday October 21, 2009 @12:17AM (#29819297) Homepage

    You're so convinced that preference for open source software is a question of "dogma" espoused by "purists" that you haven't stopped to consider the practicalities of the issue. When it comes to drivers on Linux, proper open source releases have huge practical advantages:

    • They can be distributed with distros without anyone needing to jump through weird hoops.
    • They can be maintained in-kernel, so they work with new kernel releases automatically.
    • They can be fixed by the community, so they have fast turnaround on annoying bugs and favorite features.
    • If the device manufacturer doesn't keep up with them, they don't instantly code rot.
    • They can be integrated with other standard code, so they do all the normal stuff without anyone needing to re-invent the wheel.

    When it comes to graphics drivers, these issues are mitigated to a large extent by the fact that Nvidia and ATI have very active driver teams that keep up with things. There are still some advantage to Intel graphics from open source drivers: you'll never have to worry about picking "old" or "new" driver packages like Nvidia for example. Having the option to one day run OpenBSD is another. But, in general, using Nvidia or ATI blobs on Linux is reasonably painless.

    The same is absolutely not true for any other kind of hardware. Proprietary network drivers, RAID drivers, printer drivers, or webcam drivers are simply a nightmare - much better to get something with in-kernel drivers that will just work out of the box. The manufacturer *will* forget about you and leave you stuck on random old kernel revisions limping along with an unsupported driver.

  • by Grishnakh ( 216268 ) on Wednesday October 21, 2009 @05:09PM (#29828751)

    another thing that would help a lot is if Linux didn't change the ABI at the drop of a hat, ANY hat.

    Simple: because things change, and it's a lot easier to just change the ABI with the changing internals, rather than worrying about backwards compatibility. When all your drivers are built-in to the kernel, ABI changes are a non-issue; when an interface changes, you simply update all the drivers affected at the same time, and no one notices. Over time, this keeps things much cleaner, as you don't have a lot of legacy junk hanging around, and everything is always optimized.

    The only place this causes problems is with jerks who insist on keeping their drivers closed-source. Obviously, the Linux kernel devs don't care much about those people.

    I dont understand why you linux people put up with it.

    Because it's not an issue, as I said before, unless you're a jerk who insists on keeping your driver closed-source. As a result of this stand, very very few drivers are closed-source in the Linux world, because they've made it such a pain. If they hadn't done this, there'd probably be tons of closed-source drivers and not enough open-source ones, the drivers would have crap quality (as in Windows land), and Linux would have about as much marketshare as OpenSolaris.

  • by Grishnakh ( 216268 ) on Wednesday October 21, 2009 @05:40PM (#29829137)

    1. People trying to make out-of-tree open source drivers.

    Then don't make out-of-tree drivers. Write your driver based on one kernel version, and merge it in ASAP. You might have to port it once, but it's unlikely the interfaces you're using will change in that time.

    2. Distributors trying to backport fixes to distribution kernels, and their users.

    How often does this actually present a problem? I'm pretty sure distros usually only backport security fixes to older kernels, and these are usually in the core kernel code, not device drivers. I certainly haven't seen any distros complaining about this.

    3. Users who rely on the closed source drivers.

    a. Pick hardware with open-source drivers.
    b. Complain to your hardware vendor.

    4. Kernel developers, because companies are more likely to just skip Linux support instead of making an open source driver because it's such a pain, forcing the kernel developers to reverse-engineer the hardware instead.

    I don't see the kernel developers complaining about that. Plus, if the companies cared enough to even contemplate making a Linux driver, they would certainly provide their hardware specs to anyone interesting in writing an open-source driver.

    The alternative is the driver mess that is Windows, where every product has a different driver by a different vendor (even if they're based on the same chips), and the drivers are largely crap, causing Windows to crash a lot. This is why Linux pushes open-source drivers. You get better quality, better maintained drivers, and you don't have to throw your hardware away when the hardware vendor decides to discontinue support, like people do with Windows OSes.

Real Programmers don't eat quiche. They eat Twinkies and Szechwan food.

Working...