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. 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. Mesa Gets Closer To Having OpenGL 4.0 Tessellation Support
  2. Uselessd: A Stripped Down Version Of Systemd
  3. F2FS Tools Gain FSCK Support
  4. FreeBSD 10.1 Has The New VT Driver, Hardware Improvements
  5. AntiMicro 2.6 Yields Greater Compatibility For Gamepads On Linux
  6. OpenGL 3.3 / GLSL 3.30 Lands For Intel Sandy Bridge On Mesa
  7. AMD's RadeonSI Gallium3D Driver Sees Some Improvements
  8. Mesa 10.3 Released With The Latest Open-Source GPU Driver Improvements
  9. GNOME 3.13.92 Officially Released
  10. Wine 1.7.27 Is Still Working Towards Direct2D Support
Latest Forum Discussions
  1. Can Linux kill a motherboard?
  2. Wasteland 2 Officially Launched Today, Including For Linux Gamers
  3. X.Org Women Outreach Program Only Turns Up Two Applicants So Far
  4. New stress testing utility for GPU's
  5. Stop grabbing my keyboard :(
  6. New Group Calls For Boycotting Systemd
  7. SSD seems slow
  8. R. Tyler restarts work on FreeBSD launchd port, openlaunchd