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.'"
Frosty Goatse Piss
Binary vs. open drivers. I say we ask Tiger Woods.
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?
So, basically, it's "we don't care, we're not changing". It's kind of sad that they refuse to release open drivers, although not nearly as bad as ATI's fglrx, the nvidia driver has issues too and seems to be used to force upgrades (semi-recent drop of support for 4xxx cards, eh?), basically meaning that otherwise fine cards will be unusable in a couple months or after a few kernel release cycles.
Still no 3D support without having to use a proprietary (closed) driver. Wake me up when that changes.
df -h
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?
How we know is more important than what we know.
Why do you _expect_ a company to do business according to your own rules?
Sure, you can vote with your wallet, but it seems to me demanding that a company release their drivers in open source (and let's not forget, that probably contains a vast amount of work they spent their own R&D budget on) is expecting a huge amount of work from them, in return for a small amount of convenience for you.
I'm just wondering why so many open source users have disdain for companies not open sourcing their software when it is potentially against their aims to do so. I mean, to the exclusion of actually using the software which could make their computer experience better. Surely we haven't got that many mini-RMSes?
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.
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??????
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?
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.
my mom has a myspace page....which is like soooo embarrassing!!!! please troll her into getting rid of it....thanks
http://www.myspace.com/amandagrashel
alex
So far I've never plugged any HW into my Ubuntu PCs without finding at least a proprietary driver that delivers at least the main functions, except an X3d "3DWorld" VGA/glasses system that seems totally orphaned. But I don't use other exotic HW, or even push the limits of the OS with gaming.
What I do lack is sync "drivers" for Evolution. I want to sync across the LAN with apps on Windows. And most important, I want to sync with my SonyEricsson K750 phone. I want to sync my calendars, contacts, and media files, including phone SMS'es as Evolution memos and Evolution email (from a single folder) as some kind of phone text item. I also want to import my old Palm Pilot calendar, contects and memos into Evolution (or the K750, then sync that with Evolution).
Usually OS connections to devices develops slower than app connections, because OS development is slower and has so many other focuses. Evolution seems pretty badly interconnected to other apps, especially on other OS'es, especially on mobile devices.
Or am I just missing a treasure trove? FWIW, the "MultiSync" project is pretty dead, and never worked as easily as a driver (for either the OS or for Evolution).
--
make install -not war
One thing that seriously blows about nVidia is their (closed-source) drivers are buggy. e.g. the nv4_disp infinite loop bug. This is year sold, affects many generations of cards, and nVidia *still* haven't fixed it. Fixed it? You can't even talk to them about it. They don't answer any tech support questions: Their forums are user-to-user. If this driver was open source, someone would have fixed it by now. It'd be quicker than the black-box game people have played to fix it.
& st=80v 4disp-problem/v iewh tmly -pc-need-advice-111501/
Read it and weep:
http://forums.nvidia.com/index.php?showtopic=4432
http://www.christopherjason.com/articles/nvidia-n
http://fileforum.betanews.com/review/950852325/1/
http://forums.2cpu.com/archive/index.php/t-10410.
http://www.tech-forums.net/pc/f77/3d-games-kill-m
I'll share my fix for the nVidia nv4_disp infinite loop bug.
1. Shut down windows.
2. Power off PC.
3. Remove nVidia card.
4. Throw in trash.
5. Install ATI card.
I even know Windows driver engineers at NVIDIA that primarily use Linux on their personal machines at home.
Well, that explains lot of issues with my DirectX setup.
839*929
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.
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 last year about NVidia's support for the BSDs.
Carousel is a lie!
There are two reasons:
First, drivers are the half of the product. They are as important as the actual hardware. Open sourcing drivers would be equivalent to releasing VHDL code for their chips. It would give a huge advantage to their competitors who could utilize the same tricks to improve performance of their products.
Second, not all code in NVidia's drivers is owned by NVidia. They have licensed some stuff from other companies and they can't open source that code even if they wanted. Keep in mind that NVidia isn't developing Linux drivers separately, most (>90%) of NVidia's driver code is common across all OSes.
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 reverse engineering which is not always a delightful thing to do. I hope I'm making sense here...=p
Fighting over religion is like seeing whose imaginary friend is best.
There is a difference between drivers for graphics cards and 'drivers' for synchronisation software. In the synchronisation world there is a standard, SyncML/OMA Data Synchronisation, which has been adopted by M$ and most of the major phone/PDA companies, but hasn't found its way into Evolution or other OS desktop systems yet to my knowledge, even though there is a server for it. This topic is talking about closed source hardware drivers though, and cable linked PDAs usually use some kind of serial port, so there's plenty of support for that.
How about a driver for Linux on the PlayStation 3, 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.
--
make install -not war
At one time, there was a very clearly defined line between the graphics hardware and the driver software. The hardware was sold, the drivers were given away. The trade secrets were in the hardware. The driver just programmed registers and set up data transfers. In this environment, it is easy for someone like Stallman to draw a distinction between hardware and software.
However, GPUs are reconfigurable computers. Some of the rendering hardware is actually being built dynamically out of reconfigurable components to match the current tasks. This is very powerful, but it also means that the drivers contain partial descriptions of the hardware. The line between the two components is indistinct - where are the trade secrets of the hardware construction? Answer - they are spread between the driver programs and the GPU ASIC design.
It's exactly the same situation that we hit with the Winmodems, before DSL killed them off. Some wireless chipsets have this problem too, and at one point there were "winprinters" too. We're going to hit this again in the future, because CPUs will become more like reconfigurable computers, and there will be binary blobs to gain access to the high speed features. It's not the end of free software, but it is a major challenge for us all.
Cooool. Good to see that Direct3D isn't on -everything-.
Whats the harm in yelling 'Computer, end program!'? You could be living in Star Trek! Go on.. give it a try.
then GPLing it means ATI can't use the patents unless they *GPL* their driver. And if *their* driver also includes patents, then these patents are available to NVidia for their GPL driver.
If it's someone else's patent, then let us know whose and we can tell them the same thing.
GPLing code implementing a patent doesn't help a competitor get a leg-up.
BSDing it would.
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.
... People seem to be especially interested in better 2D acceleration, hardware MPEG-4/H264 acceleration ...
From TFA, regarding video accell:
Q:
A: (Nothing Related to video acceleration)
So, continued lack of suppport for all their hardware Video Acceleration capabilities in Linux. The only possibility it seems was touched on in the next question:
Q2) People would like to use their powerful GPUs for their own processing intensive applications (eg. video compression or math formulas computation). Can we expect some SDK to make this happen?
A: For NVIDIA GPU programmability, there are several options: for graphics-oriented applications within the context of OpenGL, NVIDIA supports Cg and GLSL for higher-level programming
GLSL could theoretically be used to accelerate video decoding. But, that's quite an undertaking, and is only supported on the newest chips.
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.
I'm thinking releasing the source in seriously obfuscated c with no descriptive identifiers. Or, there's always the old uncommented assembly.
You know, there is a difference between trolling and pointing out the flaws in your reasoning. Just saying.
After I hit the [send] key my trusty nVidia just did its BSOD infinite loop bug. Fourth time today. Getting a new ATI card tomorrow. Stay away from nVidia and don't buy their dulcet cooing: They're bad news.
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.
technical writing / development
I hate seeing these kind of topics because they always turn into a flame war. I've been using linux as my only operating system for four years straight now and I could realy give a rats ass about whether a driver or program is open source or not. Its pretty sad that you have this vocal hippy crowd that are like children and if something good doesn't have it's source code available then its the work of Satan. Now I've never had a single problem with Nvidias linux drivers but that being said I'm sure their are some. Please stfu with the "See if it were open source the bugs would of already been fixed" shit, if a bug were as simple to fix as you try and act like it is then don't you think Nvidia would already have done it? Like I said really don't give a damn about open or closed because regardless of which of the two it is you WILL have bugs. As much as you would like to think open source is a mega god and suddenly turns a program or driver into a piece of bug free code because so many people will be able to see it, well I'm sorry to say your wrong. It's pretty sad now a days that just supporting linux with a driver or port of an application isn't enough, no the hippies also want access to your bread and butter to. Every time linux gains an inch these zealots run out asking for 3 more, well you can't have it all so fuckn deal with it. I've come to realize this vocal "ZOMGBBSAUCE EVERYTHING HAS TO BE OPEN SOURCE" crowd is nothing more then people that can't fully do something themselves so they want to milk off of someone else's work and have them do it for them. Mod me flaimbait all you want I could care less. I'm a linux user not because I follow some open source screwed up religion, I like the idea of open source but at the same time I'm sane enough to realize its not the only option. I don't play in the middle ages like some of you do, forcing people to convert to your way just because they play in the same sandbox.
Oh please, it's a slightly modified GeForce 7800 chip.
That's fast. The last chap was up the mountain getting them for 40 days but then spent 40 years wandering the desert...
Does anyone else remember when Andy used to be Conan O'brien's sidekick? I always said to myself, "Andy is funny, but one day he is going to move on to work on Linux drivers for Nvidia."
If NVIDIA won't release all the info for FOSS, then they should release bug-free drivers. To follow their present course without any better explanation than they give is muddle-headed thinking on their part.
Because there are a bunch of smaller OSs out there that are getting the short end of closed source drivers. They are not big enough for the nVidia to notice for 3D support (how long ago was it nVidia didn't care about Linux?). AMD/ATI seems to be getting it's about making their hardware attractive to end users. After all, sales are sales, they don't have to care what OS is accessing their hardware.
Perhaps if they made cards with superdupersecret stuff on a ROM, charge an extra $25 and release the SDK for OSS that would meet their legal/technical requirements?
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. What would they lose by telling free software developers how to make their GPUs work?
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).
This makes a little more sense, despite that awefull IP term. You are saying it's not Nvida's fault but I'm not sure how that can be true. Nvidia is huge and should be able to set terms better than that. Further, they are releasing binaries, so I'm not sure what Uncle No-No is protecting. Finally, while the free software community may be able to provide some help in convincing Uncle No-No to co-operate, this is something Nvidia could do better.
Nvidia's hostility to free software only hurts their hardware sales. Gamers crave the clean world of free software and will spend more money on cutting edge hardware if their wallets are not bled white by M$. As things stand, upgrading hardware requires a new M$ OS purchase and begging or a cracked version of M$ OS. People like me won't even consider buying a cheap or middle of the line Nvidia card because it won't do much more than heat up the room. The non free drivers are better than that, but they make my system brittle like a M$ system - flaky and harder to upgrade. A system like that is disposable and I might as well buy a Play Station. Nouveau has promise, but the vast majority of GNU/Linux users are going to wait until it's in Debian Testing. You would think they'd want to grow what's going to be a richer market for them.
Friends don't help friends install M$ junk.
Well, here's the code NVidia tries to hide. You don't have it from me, OK?
The Tao of math: The numbers you can count are not the real numbers.
Or is that under NDA???
Jeesus, it's like getting blood from a stone here.
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:
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.
In Soviet Washington the swamp drains you.
Except the XvMC extension is NOT supported in the 8xxx series cards. Can't be bothered to dig out the link, but it's true. You buy a top of the line NVidia card, expecting to get at least as much as the previous card generation, but nope. Apparently it's too difficult to implement on the new architecture.
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!
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.
Just wondering if you were planning on replying to some of these. Thanks.
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...
f ers_3d_graphics_patents/
? ID=301
t /0,7208,28681,00.html
http://www.theregister.co.uk/2002/01/16/sgi_trans
http://www.smithhopen.com/news_briefs_display.asp
http://www.forrester.com/Research/LegacyIT/Excerp
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.
As far as SGI have said (very publicly) there is nothing that SGI have patents for that they don't have a problem being GPL'd
Microsoft are the real owners of the SGI OpenGL patents and are blocking this entire show ...
Ah yes, who else can suck life like M$? I should have known.
Friends don't help friends install M$ junk.
And, to be honest, more support is needed than is currently provided.
-- Tigger warning: This post may contain tiggers! --
> I'm sure they would fix it
Well, you'd think that, wouldn't you? So why then are there so many web pages talking about it?
>> Especially when the first post you linked to says
> so i got the 91.28 drivers and they finally worked, now i can play games like i did before
I've upgraded the drivers so many times and tried all those tweaks. I still get it. Today was a bad day. Sometimes it'll go for week without crashes. Imagine my delight at lost work, yesterday a corrupted word file.
> If you're claiming it's never been fixed yet there's step-by-step solutions in all of
> the "evidence" you linked to, you either cannot read (unlikely, you can write) or you are trolling.
Why would I make something like that up? Hell man: The Windows BSOD Error message says "an infinite loop has been detected in the nv4_disp.dll driver and is being shut down. This is probably due to a device driver programming error". I spend too much time rebooting and *you* call me a troll? Can I call you an nVidia astroturfer? (It's cheaper than providing tech support.)
Let's see: nVidia don't release their driver source, don't fix their driver's bugs, the infinite loop bug is widely reported, yet, somehow, reporting this is flamebait?
As Slashdot tells you: "use your mod points wisely"
* recognising that they are people too, but the responsible persons can change at the drop of a hat. I've seen management at work. All they do is prevent good ideas becoming successful for bureaucratic reasons.
Semi-automatic amateur armchair Australian philosopher; conjecture ready at any moment...
> The other thing is, when I have experienced problems with the nVidia drives and reported them,
> I have always been contacted back by nVidia in an attempt to resolve the problem.
This is for the nVidia Linux driver? I haven't been able to find anyone who got a response from nVidia about anything, let alone the infinite loop bug. The problem doesn't have to be the bug per se, but the fact they won't fix it or even acknowledge its existence.
> I curse the drivers for my ATI card daily at work.
Ouch. As someone in the nVidia paddock, the grass isn't any better here!
Well Intel have announced they're re-entering the 3D Graphics field. Their original 3D card was a rock-solid effort: It never crashed, not once, and they provided drivers years after it had been withdrawn from market. Hopefully Intel will come and give nVidia and ATI the butt kickings they so richly deserve. Welcome back, Intel!!!
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.
NVidia has been releasing binary Linux drivers for over 5 years. There's been new versions of OpenGL, new extensions, the new NVSG, bugs, and all this time NVidia has done a good job releasing drivers that are up-to-date with their Windows counterparts and stable (can you say the same for ATI?) In my 8+ years using Linux, I have never had a problem with an NVidia driver (except one where I submitted a bug report and it got fixed). The hypothetical scenario you mention has, to my knowledge, not yet happened even though there was a much better business case for having poor Linux support years ago than today.
Nowadays, the choice is clear: go Intel X3000/X3500, which supports open source and you can be sure will always be up-to-date
By up-to-date you mean...using a video card that performs worse than 3-year old NVidia hardware? People have different priorities. For me, if I buy a 3D card, I want performance (for 2D, there's no argument since NV's 2D driver is open source and outperforms intel). I don't want to buy something that's already out of date.
-- Political fascism requires a Fuhrer.
If Nvidia is committed to making the 2D nv driver work, then why the @#$% doesn't dual-monitor support work? It's not that hard, it just requires knowing the hardware. There's not a shred of OpenGL involved.
There's no failure quite as dissatisfying as a complete and total solution to the wrong problem.