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.

Latest Articles & Reviews
  1. NVIDIA's $1000+ GeForce GTX TITAN X Delivers Maximum Linux Performance
  2. OS X 10.10 vs. Ubuntu 15.04 vs. Fedora 21 Tests: Linux Sweeps The Board
  3. The New Place Where Linux Code Is Constantly Being Benchmarked
  4. 18-GPU NVIDIA/AMD Linux Comparison Of BioShock: Infinite
  5. Phoronix Test Suite 5.6 Adds New Phoromatic Enterprise Benchmarking Features
  6. OpenGL Threaded Optimizations Responsible For NVIDIA's Faster Performance?
Latest Linux News
  1. Debian 8.0 Jessie RC2 Installer Released
  2. Shadow Warrior Is Being Released For Linux Next Week
  3. Intel Pushes A Bunch Of Broadwell Code Into Coreboot
  4. Open-Source Driver Fans Will Love NVIDIA's New OpenGL Demo
  5. GHC 7.10.1 Brings New Compiler Features
  6. Git 2.4.0-rc0 Does A Ton Of Polishing
  7. The Most Common, Annoying Issue When Benchmarking Ubuntu On Many Systems
  8. Mesa Is At Nearly 1,500 Commits This Year
  9. Gestures & Other GTK3 Features For LibreOffice
  10. It's Now Easier To Try PHP 7 On Fedora & RHEL
Most Viewed News This Week
  1. Introducing The Library Operating System For Linux
  2. AMD Is Hiring Two More Open-Source Linux GPU Driver Developers
  3. New SecureBoot Concerns Arise With Windows 10
  4. GNOME Shell & Mutter 3.16.0 Released
  5. GNU Nano 2.4.0 Brings Complete Undo System, Linter Support & More
  6. Systemd Change Allows For Stateless Systems With Tmpfs
  7. Red Hat Is Rolling Out A VirtIO DRM/KMS GPU Driver
  8. GCC 5 Compiler Is Getting Close To Being Released