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

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.

<< Previous Page
1
Latest Linux Hardware Reviews
  1. Scythe Mugen MAX
  2. Intel Core i7 5960X Haswell-E On Linux
  3. Intel 80GB 530 Series M.2 SSD On Linux
  4. With A New Motherboard, The Core i7 5960X Haswell-E Lights Up
Latest Linux Articles
  1. 7-Way Linux Desktop Gaming Comparison On Ubuntu 14.10
  2. Intel P-State vs. CPUFreq Benchmarks On The i7-5960X
  3. RadeonSI GLAMOR Benchmarks With X.Org Server 1.16
  4. RadeonSI Gallium3D vs. Catalyst At 4K UHD On Linux
Latest Linux News
  1. F2FS Tools Gain FSCK Support
  2. FreeBSD 10.1 Has The New VT Driver, Hardware Improvements
  3. AntiMicro 2.6 Yields Greater Compatibility For Gamepads On Linux
  4. OpenGL 3.3 / GLSL 3.30 Lands For Intel Sandy Bridge On Mesa
  5. AMD's RadeonSI Gallium3D Driver Sees Some Improvements
  6. Mesa 10.3 Released With The Latest Open-Source GPU Driver Improvements
  7. GNOME 3.13.92 Officially Released
  8. Wine 1.7.27 Is Still Working Towards Direct2D Support
  9. Wasteland 2 Officially Launched Today, Including For Linux Gamers
  10. Tropico 5 Launches On Steam For Linux
Latest Forum Discussions
  1. SSD seems slow
  2. Can Linux kill a motherboard?
  3. Stop grabbing my keyboard :(
  4. X.Org Women Outreach Program Only Turns Up Two Applicants So Far
  5. Glamor now enabled in Debian radeonsi
  6. New stress testing utility for GPU's
  7. New Group Calls For Boycotting Systemd
  8. It's Now Possible To Play Netflix Natively On Linux Without Wine Plug-Ins