NVIDIA Driver Developer Discusses Linux Graphics
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.
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...
Who is going to be the first to just grab the .txt from the article with the pictures and supply it in a common format for all these sites?
What was the topic again? I have ADD and got distracted somewhere.
--- We need more Ron Paul!
I never download the driver from their site since I use the dkms rpm provided by my distro.
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."
#fuckbeta #iamslashdot #dicemustdie
It's slightly sad to see that NVIDIA most likely won't go through the same effort as AMD/ATi did with their internal documentation. The current open source drivers are quite amazing regardless tho'.
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.
How we know is more important than what we know.
... While at some point it may be possible to release some of this information in pubic form it would be quite a monumental effort [...]
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.
SJW n. One who posts facts.
The year of Linux on NVIDEA.
Squirrel!
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.
From page three:
Ever the child... I must admit it made me snigger...
Both Intel and AMD own their own respective graphics chipset. Intel, AFAIK, developed their own integrated graphics chipset, mostly, and AMD purchased ATI.
Both Intel and AMD support the free software community far better than Nvidia. Both Intel and AMD are racing to integrate video graphics into their respective CPUs. With the graphics chip integrated into the CPU, Nvidia gets locked out.
Nvidia's only remaining market niche, as I see, is extremely high end graphics. Intel's and AMD's graphic offering, at the moment, lag Nvidia's, somewhat. Someone who needs all the rendering power they could get would not have Linux support as a major bullet point, as I see. They'll be quite content to using Nvidia's drivers on either Windows or Linux, depending on their software, with Nvidia's nature as a binary blob under Linux being of little concern. That's the only market niche I see remaining for Nvidia. Both AMD's and Intel's product lines, although not as powerful as Nvidia's, are perfectly fine for the average user and/or gamer. With out of the box support in current Linux distros for Intel's hardware (mostly already the case today), or AMD's hardware (eh, maybe tomorrow), Nvidia's outlook there is not too bright.
0.5 percent well if thats the only matrix they go by,then every distro should make you download it from there each time you install.
Dont include it any more.
Personally I will withhold judgement until I know who exactly will be releasing the information. It just might become something that you do want to see.
From TFA. Q: Overall, what percentage of NVIDIA's customers do you believe use Linux?
I don't know many concrete percentages. Highend workstation visualization is roughly half Linux, and Digital Content Creation (DCC) is largely Linux. NVIDIA Linux graphics powers a respectable portion of the 3D workstations. Our CUDA user base also has a large Linux contingent.
. and earlier:
Q: Is NVIDIA starting to see more interest in the driver from companies or publishers?
There has been, and continues to be, significant Linux workstation interest from a variety of workstation segments (e.g., Oil & Gas, Automotive, Film and Broadcast, etc). Workstation is where Linux has the most measurable business impact for NVIDIA.
In large multi-display installations Linux is very popular and offers several strong and distinct advantages over other operating systems.
CUDA on Linux receives huge interest from a variety of High Performance Computing (HPC) customers.
Linux on Tegra receives a lot of customer interest.
Linux on Ion also receives considerable interest.
It seems Linux use is very strong among high end commercial art creation, alongside the scientific/engineering and small form-factor computing areas.
Wait - you're expecting mere FACTS to dissuade trolls? You must be n.... wait a minute.
Personally I will withhold judgement until I know who exactly will be releasing the information. It just might become something that you do want to see.
Oooh... Tux has an outie... and he ought to lay off the herring for a while, too, from the look of things.
Back in the old days I would go to the site and download the drivers. Now there are installed from the Ubuntu repository soon as I turn on 3D desktop effects. So if you ask me they might want to start tracking downloads from the different distros out there. Then again I'm sure a lot of people are thinking that.
However it still suck that they're not worried about ESA and PhysX support. I'm a little upset that the Linux gaming market is not doing well but that's when I just say fuck it and go with a gaming console. However I still enjoy playing FPS games like QuakeLive and I hope I'll still be able to play some of the new games using Wine if there isn't a native port. I think the only thing that would help Linux get back on track is a game console because a lot of games are ported to Windows using Microsoft's XNA SDK.
From Zero to Hero... Starbuck Zero
Wow ... I never knew penguins had bellybuttons...
Modder it way up!
how many Windows users get their Nvidia drivers through their OEM and Windows Update?
I'm going to bet that it evens out.
Don't take life so seriously. No one makes it out alive.
Insert Ubuntu or Knoppmyth CD, choose the install option, walk away, done.
I want to delete my account but Slashdot doesn't allow it.
Saying that NVIDIA think the unstable kernel API being "very little trouble" is a little understated. What they actually say in the article:
1) The lack of a stable API in the Linux kernel. This is not a large obstacle for us, though: the kernel interface layer of the NVIDIA kernel module is distributed as source code, and compiled at install time for the version and configuration of the kernel in use. This requires occasional maintenance to update for new kernel interface changes, but generally is not too much work.
That said, the kernel API churn sometimes seems unfortunate: in some cases, working interfaces are broken or replaced with broken ones for no seemingly good reason. In some other cases, APIs that were previously available to us are rendered unusable.
This confirms that companies ARE paying attention to if linux users go out and buy linux games. On the other hand, the fact that bioware didn't release drag age: origins on linux after releasing nwn on it might be a depressing tell-tale that linux users aren't buying enough to make it worthwhile for them (but then, they seem to be screwing the pooch with DA in terms of everything that made NWN cool, like community content, etc.).
Gentlemen! You can't fight in here, this is the war room!
Yet they replace a major portion of it. Something just doesn't fit here.
If you turn the speakers on audio works just fine. Try it some time!
Have you tried using AMD's drivers with 2 monitors? They don't work! Their configuration process is tedious and error prone. Their Catalyst software is incredibly amateurish and dated-looking. nVidia's configuration process is not ideal, but I can always get my nVidia cards working in Linux. I am now a lifelong nVidia customer.
It's a shame because I like AMD cards and really love their CPUs, but their cards don't work. AMD doesn't care about Linux. I have tried 3 AMD cards in the last 4 years (I tried 3 different cards 2 months ago) and had to return all of them because they don't work in Linux. I scoured the web for help with the various errors and posted on the forums and couldn't get them working on two monitors. I tried writing support and they told me to go f**k myself (in polite terms, of course).
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.
What, no preference? Heretics!
[/sarcasm]
This post contains no rudeness or derision of any kind. All arguments are friendly. Terms and exclusions may apply.
He did say "generally is not too much work". That's not the same as "no work", but it's not as bad as "it's completely blocking us" or "it's such a pain we're thinking of giving up on this".
I constantly lurk at the nvnews forums and download the official nvidia installers. From previous experiences I can say the following:
1) The installer not working with a new kernel version is a rare event. When it does happen, it's usually an indication that the kernel had major changes. It's not like changing two lines related to the audio stack will break the nvidia installers
2) nVidia is usually very explicit and clear about which kernel versions the driver will work with.
3) They are also usually very fast in releasing a new version. Usually only people who like to use the gushing-rivers-of-blood-edge kernel are affected.
Where is the gratuitous BSD is dead comment?
Your card carrying membership to the "Savvy Semicolon Users" club has officially been revoked. Please pry off the appropriate key and mail it to us promptly, or we will find you.
You can't READ the articles!
I use a Thinkpad T61 laptop computer running Ubuntu. Now when I bought it, there were two configurations available: a nicer one (higher screen resolution) that I really wanted, that used NVidia graphics, and a less-nice one (lower resolution) that I could live with, that used Intel graphics. But, there was a free (with source code) driver for the Intel version and not for the NVidia version. So I bought the Intel version. The lack of source code for the NVidia chip drove not just a download decision, but a purchase decision.
Unless of course your new netbook has a GMA500.
I install the Nvidia X server once on a box and leave it. If it has trouble, then I'll update it. Translation: very rarely. I install the Nvida drivers on my windows partition (on the same box) an average of once per month. Because I either just reinstalled windows (again) or I'm trying to fix a compatibility issue (again.) So yeah, that ratio surprises me.. well, none at all.
-Troll, Flamebait, and Offtopic are NOT equivalent to disagreement.
Also, OpenGL is basically where DirectX was 10 years ago. Pathetic.
No, it's DirectX that is a completely hideous API. OpenGL is far more powerful and easy to use/understand.
Tesla was a genius. Edison however was a overrated hack who liked to torture puppies.
Apparently I'm a troll, because my opinion differs from yours, but oh well:
a) The actual article doesn't in any way make it out to be "very little trouble" (the exact phrase used was "not a large obstacle"), and considering it's the very first grievance he points out, I think it should be obvious that it causes a non-trivial amount of trouble. I'm not arguing in favour of a stable kernel API mind you; I'm personally not strongly for or against, I've read insightful and convincing arguments from both sides of the debate. But pointing out that one of the biggest closed-source Linux drivers with a large team of dedicated/experienced driver developers who are paid for their work (and presumably quite well) and are are employed by a large company with significant resources don't find the unstable API to be a large obstacle doesn't exactly in my view prove anything, except that with sufficient resources the problem is manageable.
b) He says the architectural decisions are "quite sound", but at the same time says it's the area of Linux with the "largest opportunities". I'm going to play the Devil's advocate and suggest that he's probably somewhat biased with this kind of assessment, as if he loathed X, I doubt he'd be developing graphics drivers for it. Don't take this as invalidating his comments, I think they are correct, but I'd be more than surprised if he came out and called X a gigantic turd. He _does_ point out that it is highly flexible and extensible, which is to say, you can easily change its functionality and implementation, and others have pointed out, the Nvidia binary-drivers replace a fairly large chunk of the X code in order to work, which doesn't exactly lend to your assertion that X is entirely rosy.
I'll be honest and say I'm no fan of X, it's fairly close to my arch-nemesis on Linux, I just always to have bizarre/infuriating problems with it but that might just be that I'm unlucky/incompetent with it. But, I don't think it's wholly bad; it's been capable of various things for decades that Windows has only achieved in the last couple of years (and other it still can't). I'm just opposed to blanket labelling of opposing viewpoints as trolls.
I'm quite disappointed to see that Andy discussed absolutely *nothing* about the state of nVidia drivers on FreeBSD.
There has been a long-standing battle between FreeBSD kernel developers and nVidia regarding their drivers, dating back to at least 2006. nVidia claims their driver has to go jump through hoops to deal with a shortcoming of the FreeBSD kernel, while kernel developers claimed nVidia's developers simply lacked the knowledge/understanding of the existing (stable) kernel API to use to gain what nVidia needs.
The discussion in question is here -- multiple links because it spans multiple months, and some mail clients don't seem to honour Reference-ID headers.
http://lists.freebsd.org/pipermail/freebsd-hackers/2006-June/016995.html
http://lists.freebsd.org/pipermail/freebsd-hackers/2006-July/017062.html
http://lists.freebsd.org/pipermail/freebsd-hackers/2006-July/017077.html
http://lists.freebsd.org/pipermail/freebsd-hackers/2006-July/017078.html
The thread gets heated (as most crap on freebsd-hackers does), but then dies off without a trace of resolution. Literally nothing in the years to come. There are some indications in July of discussions going private between members of FreeBSD Core (also kernel developers) and nVidia, which is shocking, given FreeBSD developers insisting on public release of GPU documentation. Pot kettle black...
Go into your gnome menu editor and change the shortcut for it to be preceded by gksudo. It'll pop up a dialog for you to enter your password into when you run like the other items in the system menu.
I think 100% of the time when I'm installing Windows from scratch I grab the drivers for the ethernet, sata, audio and graphics. Because usually those don't work out of the box when the hardware is a lot newer than the copy of Windows.
Linux distros don't make it easy to add an extra driver disk, so I tend to have to get a distro that is recent enough to support the new hardware. And those will already have the drivers I need, including the graphics driver.
For user's downloading drivers, maybe the Linux number isn't too small, but the Windows number is too big?
“Common sense is not so common.” — Voltaire
If there is no game why bother downloading a game driver?
Patents Drive Free Software as Hurricanes Drive Construction Industry
since they have so many graphical workstation that are part of they core business, can they tell me how I can use two nvidia video cards, connect 4 monitors, have xinerama working with 3d acceleration? I am really struggling on this.
Thanks for anybody else who feels like landing a helping hand
TC
SInce they say Linux is a strategic market for them, could they find a way to let two nvidia cards and 4 monitors work in xinerama with 3d and hdtv acceleration working? in Windows it has been working forever .
If it is possible and somebody feels like landing a helping hand I would appreciate
To get more BOINC credits through CUDA, you insensitive clod!
When ideas fail, words become very handy.
"0.5% that of their..."? They are damn rigth. They should just publish the hardware programming manual to let this insignificant OS deal with their own things. Or stop the Linux driver developement and keep programming infos in order to allow the entire FOSS community to push hard for AMD and re-allocate all devs on AMD GPUs (and we will have a real Linux driver, not this kernel abstrated kludge which is the DRM).
</irony>
BTW, I do not think that mainstream Linux distros download the nvidia driver from the web. If that is really the case, 0.5% are mainly source based distro downloads since mainstream distros are binary based.
Their comments in the topic of their messages, starting the actual messages with capital letters and ending up making sentences with no sense and that are hard to read.
There, fixed that for you
Hmmm, look at the pretty clouds. It's like, I see R.M.S in the sky, and he's got diamonds.
.
.
.
.
.
.
Picture yourself in a boat on a river
With tangerine trees and marmalade skies
Somebody calls you, you answer quite slowly
A girl with kaleidoscope eyes
Cellophane flowers of yellow and green
Towering over your head
Look for the girl with the sun in her eyes
And she's gone
Lucy in the sky with diamonds
Lucy in the sky with diamonds
Lucy in the sky with diamonds
Follow her down to a bridge by a fountain
Where rocking horse people eat marshmallow pies
Everyone smiles as you drift past the flowers
That grow so incredibly high
Newspaper taxis appear on the shore
Waiting to take you away
Climb in the back with you head in the clouds
And you're gone
Unstable kernel API? Who says this.. @)(*&%#@@! (connection lost)
With all that shared code, sounds like I should completely give up on the idea it will ever be openned, or fit in properly. :-(
I'm keen on the idea of Gallium3D, KMS and moving drivers out of X, stripping X down to something managable. NVidia aren't going to help at all.
Linux users, both X bashers and X fans both loose out with NVidia. If your a X fan, you won't get the X developments, if your a X basher, you won't be able to have a X replacement. Both require things to be stripped from X and abstracted.
No, I'm buying a ATI next time. Maybe it's not as fast or stable, but it's at least beginning to move with X development. In the long run, it's a better choice.
I maintain a 10GbE network driver for an IHV. We have one guy (me) doing our 10GbE drivers for all non-Windows OSes. Our driver is GPL has been in the Linux kernel (minus a many helpful features) for quite a while, and is also in other open source OSs (FreeBSD, OpenSolaris). However, we also have to offer a driver directly from our site with all the latest features and bugfixes, since distros are so slow to pick up changes. In this driver, I abstract Linux kernel API changes away, so that the same driver compiles on 2.4.0, 2.6.32rc and all versions in between. The Linux kernel API churn is responsible for over 20% of the size of this generic Linux driver, and is a frequent source of problems when vendors like Red Hat backport new features (like GRO) from the mainline kernel in incompatible ways. OSes with stable kernel APIs are so much easier to deal with that it isn't even funny.
Add a section to the installer that gives you one of the usual options to:
"Click yes to notify Nvidia of your driver installation. This will send minimum information needed to track how many users are installing our drivers on various varieties of systems. Information included in the notification will include:
- Your NVidia card model
- Your CPU model
- Your RAM
- You Linux Distribution and kernel version"
Give or take some of the above info, it should be minimally intrusive, but help them to better track the usage of their drivers and even what varieties of systems they are most used on.
The Linux support of nVidia is awesome. Even though the drivers are still proprietary, they are solid. It's amazing how well the nVidia cards work in Linux, when you compare to ATI which can be a nightmare. When you use an nVidia card in Linux system, it's set and forget usually. Everything just works out of the box.
I think your calculations are a bit off. For all the people licensed to use linux, you are going to need ~99.9999999833% of them to care about just one bug and have the ability and desire to fix it for the entire user base to benefit.
May not seem very efficient, but it is positive sum.
For the sake of argument, lets just say 100% of Americans care about health care and fiscal responsibility. Hmm... my bet is a couple high school students will do a science fair project that will successfully demonstrate safe clean nano scale cold fusion technology before Social Security and Medicare get a balanced budget that is properly secured for future obligations.
Of course, you say users don't care about open source in a practical way. Well duh; if they cared in a practical way, they wouldn't be called users, they would be called developers. So all you really need to ask yourself is 1) Do developers care about source code? and 2) Should users with a spark of intelligence and ambition have it within their ABILITY to become a developer?
Proprietary Software is akin to the scribe culture of long ago, where certain people read books to most people. Few people could read, and very few could write. Either way, paper was very expensive. When the printing press came along, and books started becoming cheap, books became open source; ordinary people, not just those of an elite class, began to read. Quickly came the age of enlightenment, as more people began to read, so did many people begin to write.
So I ask you, why do you need the source code to your books? Are you going to fix problems in stories and notify the author? Are you going to write a novel? Of the install base of books in homes, how many of those do you think have taken advantage of the open source nature of those books to write a book of their own outside of academic circles? Inexpensive open source books have been around for a few hundred years, though writing and libraries have been around for thousands. Digital computers have been around for about 70 years, but was restricted to a fairly elite class of people such as university students. Open source software in the 90's was much like the way scientists share their information with each other. Servers based on open source software became very popular with the birth of the Internet, and Linux for the non-geek really started to make an appearance about 2004 with OpenSuse followed by Fedora and Ubuntu. Non-geek / non-business people only just starting to get computers... early 90's? Computer literacy (basic usability) becomes mandatory at just about every job by the late 90's. With the Internet, and the human readability of html, everybody was making web pages with about much class and style as a 4 year old writing his first book half way into his kindergarten.
Computer literacy is VERY important. I would like to hope that everybody feels it is within their ability to learn and contribute to an open source project if they desired to. I have known adults that do not have basic reading comprehension. Some are embarrassed, but many just don't think it is important or relevant to their lives, though I think it has been at least 10 years since I have heard that argument from an adult. We can either have a class structure of producers and consumers, programmers and non-programmers with the programmer class picking who will move up to become a creator, and who will not, or we can recognise that good software does exist and improve for its own sake as it serves people.
You can either create a class system (proprietary), Give people the freedom to choose whether or not they want to support the class system (MIT/BSD), or fight the system with hostility and dogmatic ideology (GPL).
Most people don't care how their computer works any more than their care, their house, or even biological functions. But when it comes to using that as an excuse to keep that information away from people, I err on the side of hostile dogmatic ideology.
I guess it can depend on who you mean
Want Big Business out of government? Take away the incentive and start by getting government out of big business!
Creating an AMD-like open-source strategy at NVIDIA would be time intensive and unlikely.
No it would NOT. You just add a license to the files, that lie right on your computer, run "git init" in that directory, and upload it to the web. Done!
The real reason is, that much of what makes your most expensive GPUs "differ" from the cheapest ones, is in the driver. Including some functionality, that you claim to be in the hardware.
Any sufficiently advanced intelligence is indistinguishable from stupidity.