1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking.org

NVIDIA Developer Talks Openly About Linux Support

Michael Larabel

Published on 20 October 2009
Written by Michael Larabel
Page 2 of 8 - 131 Comments

Q: Is development work done mostly on x86 or x86_64 systems?

It is a mix, based on personal preference. Probably most NVIDIA Linux driver developers use x86 for their development platform. However, we try to focus many of our test machines on x86_64, since that is what most of our OEM customers run.

Q: What applications, tools, and games do the developers use for testing regressions and speed?

For OpenGL, we have an extensive internal test suite that exercises OpenGL rendering paths well. This suite is enhanced by OpenGL driver engineers when new OpenGL extensions are implemented, or when a driver bug is reported that was not previously caught by the test suite. We also run the OpenGL conformance test.

We also use OpenGL applications like Maya, Viewperf, Unigine Tropics, ETQW, Doom 3, and of course the venerable Quake 3. We have various internal targeted test applications for exercising OpenGL Quad-buffered stereo and workstation overlays. We also use Compiz, of course.

And yes, we sometimes use glxgears as a quick sanity check.

For X rendering, we use rendercheck, a subset of xtest, jxrendermark, and a handful of ad-hoc tests written to target whatever driver paths we're currently working on.

Q: How has the managerial view of Linux changed within NVIDIA over the past few years?

I think Linux is as strong as ever in the workstation markets where the NVIDIA Linux team has been primarily focused. I think our Linux driver has been a vehicle for a lot of other new NVIDIA technologies such as CUDA and our virtualization efforts [3]) and Linux on Ion caught a lot of attention.

Internally, the NVIDIA Linux driver team has grown and matured and made many significant contributions to NVIDIA's core code base.

As manager of the NVIDIA Linux Graphics Driver team over the past several years, there is a lot more I'd like us to do, but I'm intensely proud of the team and all that we've accomplished so far.

Q: About what percentage of the driver's code-base is shared between Linux and Windows platforms?

I'd estimate greater than 90% of the Linux driver is cross-platform code. The NVIDIA GPU software development team has made a very conscious effort to architect our driver code base to be cross-platform (for the relevant components). We try to abstract anything that needs to be operating system specific into thin interface layers.

Some examples:

The NVIDIA kernel module is nearly all cross-platform code; the majority of the same code for this component runs on Windows XP, Windows Vista, Windows Win7, MacOSX, Solaris, FreeBSD, and Linux. In fact, the exact same nv-kernel.o binary file can be used on all three of Solaris, FreeBSD, and Linux. The only bits that are Linux-specific are provided as source code in the kernel interface layer of the NVIDIA kernel module.

The NVIDIA OpenGL driver is mostly cross-platform; the only bits that are not cross-platform are abstracted into the window system layer (e.g., GLX, WGL).

The NVIDIA X driver is more UNIX-specific. It shares some code with the NVIDIA display drivers for other operating systems, but due to differences in window systems, it doesn't make sense to share a lot more code here.

The VDPAU driver leverages a lot of the low-level video decoding algorithms from the Windows video driver.

We couldn't provide the Linux product that we do if we didn't leverage so much common cross-platform driver code.

Q: How many people work on the Linux driver at NVIDIA? If you're not able to give out an exact number, what is the relationship between the Windows and Linux driver team sizes?

NVIDIA GPU software is organized with teams focused on developing the core cross-platform driver code base, teams focused on adding new GPU support to the core driver code base, and "solutions teams" focused on leveraging much of that core code and driving it in different markets (e.g., Notebook, Apple, etc). The NVIDIA Linux Graphics Driver Team is one of these solutions teams. With that structure of core, chips, and solutions, it isn't straightforward to compare sizes of the "Linux team" to the "Windows team".

Latest Linux Hardware Reviews
  1. Btrfs On 4 x Intel SSDs In RAID 0/1/5/6/10
  2. AMD Radeon R9 290 On Ubuntu 14.10: RadeonSI Gallium3D vs. Catalyst
  3. MSI X99S SLI PLUS On Linux
  4. NVIDIA GeForce GTX 970 Offers Great Linux Performance
Latest Linux Articles
  1. NVIDIA's Linux Driver Can Deliver Better OpenGL Performance Than Windows 8.1
  2. Windows 8.1 vs. Ubuntu 14.10 With Intel HD Graphics
  3. 6-Way Ubuntu 14.10 Radeon Gallium3D vs. Catalyst Driver Comparison
  4. NVIDIA vs. Nouveau Drivers On Ubuntu 14.10
Latest Linux News
  1. AMD On Linux & Systemd Were Very Popular This Month
  2. Wine 1.7.30 Continues Work On DirectWrite & Offers Regedit Fixes
  3. Has The Sky Fallen? Qualcomm Contributes To Freedreno's DRM/KMS Driver
  4. Manjaro Works To Make Calamares A Distribution-Independent Installer
  5. DisplayLink USB 3.0 Support Sounds Like A Mess
  6. PulseAudio Gains A Native Bluetooth Headset Backend
  7. X.Org Foundation Decides On Its Women Outreach Project
  8. GTK+ 3.16's New GtkGLArea Widget Gets Improved
  9. X.Org Server 1.17 ABI Bumped
  10. Fedora 21 Beta To Be Released Next Week
Latest Forum Discussions
  1. How to get rid of Linux
  2. Closed source to opensource
  3. What Would You Like To See Next?
  4. Is foolish currently develop in machine code, hexadecimal and assembly?
  5. Reducing The CPU Usage In Mesa To Improve Performance
  6. Help diagnosing problems with a Readon HD 4670 on Mesa 10.3.2-1
  7. Advertisements On Phoronix
  8. nv and xorg.conf under Debian PPC