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 Benchmarking Platform
Phoromatic Test Orchestration

Open-Source NVIDIA Driver Approaches Stable State

Michael Larabel

Published on 13 April 2012
Written by Michael Larabel
Page 1 of 12 - 9 Comments

Nouveau, the reverse-engineered open-source graphics driver for NVIDIA's entire range of graphics processors, is reaching a stable state where it's exiting the "staging" area of the Linux 3.4 kernel and being considered part of the standard, stable kernel configuration. How though is the Nouveau driver working out compared to NVIDIA's official, closed-source Linux graphics driver? Here are some new benchmarks from ten different graphics cards and other information on the state of Nouveau.

The Nouveau driver has had a long and challenging journey to get where's it at today where the developers are now comfortable with the Nouveau driver leaving the Linux kernel's staging area and thus also fully committing to a stable ABI for their kernel driver (their DRM version is also now marked as v1.0). Nouveau began more than a half-decade ago; I first wrote about the project in 2006 and it wasn't until 2007 that OpenGL began to sort of work on this free software driver that was started by Stephane Marchesin (he's no longer directly involved with Nouveau as for a while now he's been off working for Google on Chrome OS). Nouveau's journey has been quite interesting and in the past six years has earned itself 450 news posts where I have written about this open-source NVIDIA driver and over 60 featured articles that have included benchmarks or more extensive information on this Linux driver.


The selection of NVIDIA graphics cards for today's Nouveau testing.

Aside from the kernel component, there's the user-space Nouveau 3D drivers in the form of Gallium3D for all modern NVIDIA generations and the classic Mesa DRI driver for the old fixed-function NVIDIA GPUs. The Mesa/Gallium3D support has been mainline in Mesa for a few years. The libdrm support for Nouveau has also long been in mainline, but requires that this DRM library be built with the --enable-nouveau-experimental-api build flag. The xf86-video-nouveau DDX driver remains available in Git form but it has yet to experience a release in all its life.

In the past three years the pace of Nouveau's development has really picked up pace as more distributions begin to use the Nouveau driver as their "out of the box" NVIDIA Linux graphics driver since it's open-source. In particular, it is largely because in 2009 Linus called for the Nouveau driver to be merged. Nouveau was merged into the Linux 2.6.33 kernel staging area at Torvalds request, which made it much easier for new users and developers to begin trying out this community-backed project.

The Nouveau developers continue to be playing catch-up in some areas such as when it comes to proper power management support and GPU core/memory re-clocking and various other features compared to the NVIDIA Linux driver (SLI, 3D Vision, and other features are also out at this point), but they have been successful in developing a truly open-source OpenGL 2.1/3.0 driver for GeForce/Quadro hardware without any support from NVIDIA Corp. Besides OpenGL, back in February they even got the first bits of OpenCL running on the NVIDIA GPUs, but this code is still a work-in-progress and not yet mainline. There is also an open-source NVIDIA CUDA implementation that came out last month.

For those wondering about the Nouveau driver support for a particular hardware generation there is the Nouveau Wiki Feature Matrix that documents from the latest Fermi (NVC0) and Kepler (NVE0) generations all the way back to the Riva TNT (NV04/NV05) with what driver capabilities are implemented.

Across the board from the TNT through Fermi/Kepler, most 2D acceleration support is in place except for proper video decoding. On the 3D side, the oldest NVIDIA hardware (GeForce 3/4) and prior that's fixed-function uses a classic Mesa DRI driver rather than a Gallium3D implementation like the newer generations so the OpenGL support for the oldest hardware is in a rotting state within the Nouveau driver. However, for around the GeForce 6 series and newer, there is a decent level of OpenGL 2.1+ support in place. Nouveau's mode-setting and other display functionality continues to be implemented via KMS-only with all user-space mode-setting support having been abandoned by the project long before it was even deemed stable; the xf86-video-nouveau DDX still has not seen an official release. Functionality like dual-head and TV-Out is mostly working along with suspend-and-resume.

Latest Linux News
  1. Pinos Is For Linux Video What PulseAudio Is For Audio
  2. Crossing 200,000 Benchmark Results Posted On LinuxBenchmarking.com
  3. New Mesa Vec4 Backend For Intel, Supports Their NIR Goals
  4. "PulseVideo" Coming To Complement PulseAudio?
  5. Premium Users Now Can Experience Our New Site
  6. XFS Will Get DAX Support In The Linux 4.2 Kernel
  7. X.Org Server Lands More Mode-Setting/GLAMOR Improvements, But No Sign Of 1.18
  8. Linux Mint 17.2 Officially Released With Cinnamon/MATE Flavors
  9. Fedora For MIPS Is Now Out In Testing, Supports The Creator CI20
  10. KDE Plasma 5.3.2 Fixes Shutdown Scripts, Few Dozen Other Bugs
Latest Articles & Reviews
  1. How KDE VDG Is Trying To Make Open-Source Software Beautiful
  2. Attempting To Try Out BCache On The Linux 4.1 Kernel
  3. CompuLab's Fitlet Is A Very Tiny, Fanless, Linux PC With AMD A10 Micro
  4. AMD A10-7870K Godavari: RadeonSI Gallium3D vs. Catalyst Linux Drivers
Most Viewed News This Week
  1. Kubuntu 15.10 Could Be The End Of The Road
  2. Linus Is Looking Forward To Merging KDBUS, But Not Convinced By Performance
  3. NVIDIA Starts Supplying Open-Source Hardware Reference Headers
  4. KDBUS Won't Be Pushed Until The Linux 4.3 Kernel
  5. Linux 4.2 Kernel Gets Port To New Processor Architecture
  6. The Staging Pull For Linux 4.2: "Big, Really Big"
  7. The State & Complications Of Porting The Unity Editor To Linux
  8. SteamOS "Brewmaster" Is Valve's New Debian 8.1 Based Version