Nouveau Driver Remains Much Slower Than NVIDIA's Official Driver

Written by Michael Larabel in Display Drivers on 4 January 2013 at 12:00 PM EST. Page 1 of 5. 107 Comments.

While benchmarks this week have shown the Nouveau driver can be faster with the Linux 3.8 kernel, further benchmarks have shown that this reverse-engineered open-source driver for supporting the spectrum of NVIDIA GPUs is still at a significant loss compared to NVIDIA's official but proprietary Linux graphics driver.

When using the Linux 3.8 Git kernel plus the Mesa 9.1-devel Git master code for Nouveau Gallium3D, both of which were fetched as the "Nouveau Latest" code from just days ago, the performance was compared to NVIDIA's latest 313.09 Beta proprietary Linux driver. The GeForce 9800GT, 9800GTX, and GT 220 were used as the cards for this round of comparison, similar to the benchmarks published earlier this week.

As mentioned in Wednesday's article, one of the main performance problems for the reverse-engineered Nouveau driver now is that it can't properly re-clock the NVIDIA GPUs. As a result, the Nouveau driver currently runs the graphics cards at the core, memory, and shader clocks that the video BIOS set them to at boot time. Most modern NVIDIA GPUs have multiple performance levels and the vBIOS-set levels tend to be very low, usually multiple times slower than their optimal clock speeds. For months there's been experimental re-clocking support for several generations of NVIDIA graphics processors and it can work sometimes, but is overall quite buggy. This re-clocking support has also yet to be enabled by default even with the Linux 3.8 kernel but requires setting special parameters and writing new values to a sysfs file. With fan control support merged, hopefully in Linux 3.9 we'll see more work on Nouveau re-clocking later in the year.

Nouveau Gallium3D Linux 3.8 vs. NVIDIA Driver

Due to the Nouveau driver's major handicap, beyond benchmarking the NVIDIA graphics driver at each of graphics card's stock speed, each graphics card was also under-clocked to match the speed at which the Nouveau driver was pegging the hardware. For the GeForce GT 220, the optimal clock speeds that the NVIDIA binary driver runs the hardware at is 625MHz core and 400MHz for the video memory. Meanwhile the speed the Nouveau driver controlled the hardware at was 405/325MHz. The GeForce 9800GT meanwhile tops out at a stock speed of 660/950MHz while the Nouveau driver is limited to 399/399MHz. Attempting to re-clock the GT 220 and 9800GT with Nouveau on Linux 3.8 yielded failure. Lastly, for the GeForce 9800GTX, the Nouveau driver experienced rare success in being able to re-clock the higher-end GeForce 98 graphics card from 399/399MHz to 675/1100MHz without resulting in any stability problems, rendering artifacts, or other problems common to Nouveau.


Related Articles