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

New "NV30" Nouveau Driver Still Causes Pain

Nouveau

Published on 22 April 2012 06:12 AM EDT
Written by Michael Larabel in Nouveau
21 Comments

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 Hardware Reviews
  1. NVIDIA GeForce GTX 970 Offers Great Linux Performance
  2. CompuLab Intense-PC2: An Excellent, Fanless, Mini PC Powered By Intel's i7 Haswell
  3. From The Atom 330 To Haswell ULT: Intel Linux Performance Benchmarks
  4. AMD Radeon R9 285 Tonga Performance On Linux
Latest Linux Articles
  1. Ubuntu 14.10 Linux 32-bit vs. 64-bit Performance
  2. AMD Moves Forward With Unified Linux Driver Strategy, New Kernel Driver
  3. MSI: Update Your BIOS From The Linux Desktop
  4. NVIDIA vs. AMD 2D Linux Drivers: Catalyst Is Getting Quite Good At 2D
Latest Linux News
  1. Features Of The Linux 3.18 Kernel
  2. Automatic Feedback Directed Optimizer Merged Into GCC
  3. Debian Now Defaults To Xfce On Non-x86 Desktops
  4. Phoenix Is Trying To Be An Open Version Of Apple's Swift
  5. Linux 3.19 To Have Skylake Graphics, PPGTT Enablement
  6. Ubuntu 16.04 Might Be The Distribution's Last 32-Bit Release
  7. Imagination Releases Full ISA Documentation For PowerVR Rogue GPUs
  8. Features GNOME Developers Want In The Linux Kernel
  9. GTK+ Gains Experimental Overlay Scrollbars
  10. Phoronix Test Suite 5.4 M3 Is Another Hearty Update
Latest Forum Discussions
  1. Users/Developers Threatening Fork Of Debian GNU/Linux
  2. AMD Releases UVD Video Decode Support For R600 GPUs
  3. HOPE: The Ease Of Python With The Speed Of C++
  4. Proof that strlcpy is un-needed
  5. xbox one tv tuner
  6. Bye bye BSD, Hello Linux: A Sys Admin's Story
  7. Updated and Optimized Ubuntu Free Graphics Drivers
  8. NVIDIA Presents Its Driver Plans To Support Mir/Wayland & KMS On Linux