NVIDIA Engineers On The Realities Of Linux Drivers
linuxquestions writes "LinuxQuestions.org recently interviewed members of the NVIDIA Linux team. The interview covers the internal use of Linux at NVIDIA, the current demand NVIDIA is seeing for Linux drivers, the biggest perceived obstacle in Linux becoming a mainstream gaming platform and the decision to maintain both an Open Source and closed source Linux driver."
oh yeah, first post and since more games come penguin supported,the future looks bright
Much of the interview is the standard optimistic corporate smiley-face stuff you would expect. What I found interesting is the reference to a unified driver infrastructure. Apparently the bulk of their driver code is identical across platforms, so mostly what they need to maintain for Linux is a compatibility layer.
This is what they cite in not open sourcing the driver--too much of the unified code is licensed by them from third parties. (Now why don't they ask their sources about a dual GPL/proprietary license?)
The followup question that this raises is: Given that the base driver code is the same across platforms, are there any particular aspects of X or Linux that reduce performance?
LQ) Can you tell me a little bit about what went into the original decision to release an NVIDIA driver for Linux?
NV) NVIDIA received several requests from our end users for giving the same quality Linux drivers that we provide on other platforms. In addition, our workstation customers were moving more and more of their development to Linux. NVIDIA recognized early on the demand for Linux drivers from the community as well as from significant commercial customers such as the film studios, national labs, geosciences, life sciences, etc and knew that this was to become a trend in professional graphics as customers started migrating from proprietary UNIX workstations to open platforms.
LQ) Does NVIDIA use Linux for anything internally?
NV) Yes, we use it for many things internally from developing drivers to designing and verifying our chip design. We use Linux substantially for software development, testing, as well as having the largest Linux data center for chip simulation in the industry!
LQ) Can you tell us a little bit about the current demand you are seeing for Linux drivers? What has the recent trend been?
NV) Demand has continues to grow for high quality Linux drivers with each new generation of GPUs. Around 15-20% of our workstation users ship with Linux. Some industries in the workstation business are 100% Linux. We have users using our Linux OpenGL drivers for things like designing automobiles, operating medical equipment, broadcasting television, and creating the latest special effects in movies.
LQ) From a technical perspective, which drivers do your engineers like working on? Why?
NV) I think its fair to say that our engineers like working on great GPUs. We have some folks on our team that like working on Linux, others on Windows, and others on Apple. Driver developers can be bigots too. We have too many developers to make such a generalization. Due to the unified driver infrastructure, we share a common driver base between multiple operating systems (like Linux, Windows, Linux64, Win64, MacOS, Solaris).
LQ) At times, NVIDIA has taken a bit of flak for the Linux drivers not being Open Source. Can you tell us a little bit about why they aren't? Do you have any plans for a full open source driver, or is the long term plan to stick with one Open Source driver (nv) and one closed source driver (nvidia).
NV) We have lots of IP in our supported closed source Linux driver some of which is licensed and cannot be open sourced. While we did our best to ensure that there was open source driver (nv) for our chips available, we got lots of feedback from our professional partners as well as end users that wanted a driver that had the same quality and performance characteristics of our supported drivers for platforms such as Windows and Apple. By taking on the commitment to providing great Linux drivers for our GPUs, networking adapters/storage/audio devices we have given our end users the same Compatibility, Reliability & Stability that NVIDIA Software has become known for. We will maintain the strategy of providing both. Due to the UDA architecture, there is too much IP in the driver source to make open sourcing the driver a practicality.
LQ) Is there anything the Linux community could do to help enable the release of an Open Source driver?
NV) Not at this time.
LQ) Has NVIDIA considered putting a "Compatible with Linux" type logo (similar to the Windows logo) on any of its products?
NV) We do use the Linux (Penguin) logo when appropriate on our software etc, but this is more of a question for our OEM's and channel partners who place these types of stickers on their boxes.
LQ) What do you see as the biggest obstacle for Linux becoming a mainstream gaming platform?
NV) Having better game developer tools for Linux, more installed base of consumer users for Linux and the horrible ATI drivers for people that were stupid enough to buy radeons.
LQ) Any comment on the recent X.org fork? Do you anticipate it impacting NVIDIA in any way?
Pain lasts, kid. Its how you know you're alive. Sometimes I think this growing up thing is just pain management-TheMaxx
new record?
Pain lasts, kid. Its how you know you're alive. Sometimes I think this growing up thing is just pain management-TheMaxx
To me the obvious follow up question is: Okay, so you can't free the driver software. So be it. Can you at least open up the hardware specs, so that open-source people like the DRI boys can have a shot to compete with you?
They'll ignore that too, but the first one to go truly open (XGI did that, but only with their 2D stuff, ATI did too but only with limited amounts of their older stuff) will see people doing useful tricks and performance enhancements with their cards that they didn't think was possible. Once that becomes common knowledge, the people with the wallets will follow too. By that time, the damage will be done and the other manufacturers will be chasing tail-lights.
Got time? Spend some of it coding or testing
I would be suprised if the different manufacturers cards are so similar that they could copy parts of the design and splice it into their cards.
Even though they generally do the same thing they must do it in ways that aren't 100% compatible, otherwise each card wouldn't have different drivers.
The cards being designed today will be more advanced than those out now, so I don't see how opening the details would give the competitors much useful information, they would still have a lot of development to catch up - even if they completely copied one of today's cards.
Hopefully the opensource graphics card mentioned on Kerneltrap will see the light of day and prove that the arguments given are just excuses.