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. Acer B286HK: A 28-inch UHD LED 4K Monitor For As Low As $350
  2. Intel Xeon E5-1680 v3 & E5-2687W v3 Compared To The Core i7 5960X On Linux
  3. Intel 120GB 530 Series SSD Linux Performance
  4. Btrfs/EXT4/XFS/F2FS RAID 0/1/5/6/10 Linux Benchmarks On Four SSDs
Latest Linux Articles
  1. Mesa Git Yields Performance Improvements For Newer AMD GPUs
  2. Apple OS X 10.10 vs. Ubuntu 14.10 Performance
  3. Mesa 10.5-devel Brings Some Intel Haswell HD Graphics Changes Over Mesa 10.3
  4. NVIDIA vs. Nouveau Drivers With Linux 3.18 + Mesa 10.4-devel
Latest Linux News
  1. AMD Richland APU Support Added To Coreboot
  2. 2014 Holiday Shopping Reminder, Happy Thanksgiving
  3. Python 3 Support Added To The GNOME Shell
  4. ReactOS Lands Its New Explorer Shell
  5. Weston's IVI Shell Sees New Version
  6. IMP Launches As Another Open-Source Computer Attempt
  7. Git 2.2.0 Released With 550+ Changes
  8. GNOME 3.15.2 Released
  9. Quantum OS Aims For A Linux Desktop With QML, Wayland & Material Design
  10. New Open-Source, Linux Benchmarks To Feast On
Latest Forum Discussions
  1. Updated and Optimized Ubuntu Free Graphics Drivers
  2. Hurrican SDL Port
  3. Roadmap to Catalyst 14.10 ?
  4. how to configure module phoromatic ?
  5. PulseAudio 6.0 Is Coming & Other Linux Audio Plans For The Future
  6. Debian Developer Resigns From The Systemd Maintainership Team
  7. Cant get working Kaveri APU - A10-7850k
  8. Script for Fan Speed Control