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

New "NV30" Nouveau Driver Still Causes Pain


Published on 22 April 2012 06:12 AM EDT
Written by Michael Larabel in Nouveau
Add A Comment

One week ago following the committing of the major libdrm re-write for the Nouveau project, the "NVFX" Gallium3D driver was dropped and succeeded by a new "NV30" driver for the GeForce FX/6/7 series GPUs. Unfortunately, for at least some hardware, this Nouveau support is still a busted mess.

The nearly 15,000 lines of code "NVFX" driver had been around for quite a while to actively support the NVIDIA GeForce 5 (FX), 6, and 7 series graphics processors. This open-source driver mostly worked for what now is vintage hardware, but the driver was no longer being worked on and went into a dormant state.

Recently work began on the "NV30" driver to replace the GeForce FX/6/7 series support and a new 13,725 line driver was born for this NV30/NV40 class hardware. As Ben Skeggs wrote in the commit message when introducing this new driver, "The primary motivation for this rewrite was to have a maintainable driver going forward, as nvfx was quite horrible in a lot of ways."

The new NV30 driver is based upon the design of the NV50/NVC0 drivers, which is the Nouveau Gallium3D drivers for the newer generations of hardware up through Fermi and Kepler. The NV30 driver also shares some common code with these newer drivers. Skeggs mentioned that the NV30 driver is passing much more Piglit OpenGL regression tests than the old driver did and potentially handles a couple more features with more potentially on the way.

Last but not least, the NV30 driver is designed to utilize less of the CPU than the old NVFX driver. "The CPU footprint of this driver is far far less than nvfx, and translates into far greater framerates in a lot of applications (unless you're using a CPU that's way way newer than the GPUs of these generations....)"

Ben ended with, "Basically, we once again have a maintained driver for these chipsets \o/"

New "NV30" Nouveau Driver Still Causes Pain
Going back to NVIDIA's GeForce 6 days... The first NVIDIA GeForce FX (5) series GPUs were launched in 2003, the GeForce 6 series began appearing in 2004, and the first GeForce 7 series graphics cards hit in 2006 and continued into 2007.

Seeing as I'm in support of killing old hardware support on Linux, the only graphics cards I still have around from the NV30/NV40 days is a PCI-based NVIDIA GeForce FX 5200 "NV34" and a PCI Express GeForce 6600 GT "NV43" graphics card.

The GeForce FX 5200 has never worked properly for me with the Nouveau driver, but had worked fine with the NVIDIA binary blob (there's still legacy support available) as well as the now-defunct xf86-video-nv DDX. Kernel mode-setting with Nouveau hadn't even worked right for this hardware. However, it may be working now. Nouveau's Martin Peres recently mentioned to me, "the 5200 should work too...many people came and asked for fixes. Ben got access to an AGP box a few weeks ago...he can now work on it again." But these days with the modern CPUs in use at Phoronix, LLVMpipe is probably faster than this NV34 graphics card from March of 2003.

The GeForce 6600GT has also been problematic with Nouveau for the past few years every time I've tried. It also shouldn't be a hardware availability issue here, seeing as a few years ago at FOSDEM I did give Nouveau a PCI-E GeForce 6600GT graphics card for their work.

With the committing of the NV30 Gallium3D driver, I decided to try it out when paired with Linux 3.4 kernel, Mesa 8.1-devel Git, the latest libdrm, and the latest xf86-video-nouveau. The latest code as of this weekend was tested from an Ubuntu 12.04 base.

New "NV30" Nouveau Driver Still Causes Pain

When booting, kernel mode-setting worked this time, but when it came to using the Gallium3D driver on the Unity desktop there were quickly issues. Rendering issues were commonly apparent on the Ubuntu Unity desktop with the NV30 driver and the 6600GT. With the NV30 Gallium3D Nouveau driver not even playing well with the Unity desktop, it didn't make it much further when running some OpenGL Linux games/benchmarks on the GeForce 6600GT. OpenArena 0.8.5 did work successfully, but the other games presented rendering issues -- either constantly or once in a while -- and ultimately the system would lock-up with this hardware/software combination.

New "NV30" Nouveau Driver Still Causes Pain

This eight-year-old graphics card is still failing badly with Nouveau.

New "NV30" Nouveau Driver Still Causes Pain New "NV30" Nouveau Driver Still Causes Pain

Though for anyone interested, there are a few Nouveau GeForce 6600GT benchmarks from this new Nouveau driver in Mesa 8.1-devel Git.

You can also see how your graphics card/driver compares to the GeForce 6600GT in those few benchmarks by running phoronix-test-suite benchmark 1204212-SU-NOUVEAUGE34. The GeForve 6600GT did at least work with Nouveau re-clocking.

It's actually a bit peculiar that the GeForce 6 support remains in bad shape for Nouveau with the new GeForce 400/500 "Fermi" and GeForce 600 "Kepler" series support being in better shape when it comes to OpenGL support and stability.

Recent Nouveau benchmarks compared against the binary NVIDIA Linux driver can be found in this article. Coming up soon will also be an open-source driver comparison between Intel Ivy Bridge, Nouveau, and Radeon Gallium3D for several different graphics processors.

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Linux News
  1. Mandriva Linux Was Allegedly Brought Down By Employee Lawsuits
  2. GNOME 3.17.2 Is Released As The Latest Look Towards GNOME 3.18
  3. Phoronix Turns 11 Years Old Next Week: How Should We Celebrate?
  4. Ubuntu Community Council Reaffirms Its Decision Against Kubuntu's Leader
  5. Future Plans For Changing Fedora's Installer
  6. Confusion Mounts Over Wayland's Actual License
  7. GNOME's Mutter Now Supports Drag-n-Drop To/From Wayland & X11
  8. Wine 1.7.44 Works On More 64-bit ARM Support
  9. Phoronix Test Suite 5.8 Milestone 5 Brings Near Final "Belev" Experience
  10. For AMD Users, Linux 4.2 Will Bring The New AMDGPU Driver & VCE1 For Radeon
Latest Articles & Reviews
  1. Btrfs RAID 0/1/5/6/10 Five-Disk Benchmarks On Linux 4.1
  2. Opening The Gates To Our Daily Open-Source Linux Benchmark Results
  3. The Latest Features For Linux Performance Management + Benchmark Monitoring
  4. Noctua NH-U12DX i4 + NF-F12
Most Viewed News This Week
  1. NVIDIA's Proprietary Driver Is Moving Closer With Kernel Mode-Setting
  2. Zapcc Claims To Be A "Much Faster C++ Compiler"
  3. OpenWRT 15.05 Preparing Improved Security & Better Networking
  4. Features Added To Mesa 10.6 For Open-Source GPU Drivers
  5. Ubuntu's LXD vs. KVM For The Linux Cloud
  6. Friction Building Around An Ubuntu Community Council Decision
  7. The Latest Linux Kernel Git Code Fixes The EXT4 RAID0 Corruption Problem
  8. Fedora 22 Is Being Released Next Tuesday