Open-Source Nouveau Driver Remains Slow For NVIDIA's Fermi, Kepler
After last week publishing a Linux review of the GeForce GTX 650 using the proprietary NVIDIA Linux graphics driver, I set out to run a new performance comparison of the open-source "Nouveau" graphics driver against NVIDIA's official closed-source Linux driver. In this comparison, five different GeForce 400/500 "Fermi" and GeForce 600 "Kepler" graphics cards were benchmarked under Ubuntu Linux on each driver.
The graphics cards that were tested for this Linux GPU driver comparison include the GeForce GTX 460, GeForce GT 520, GTX 550 Ti, GeForce GTX 650, and GeForce GTX 680. This comparison was limited by the graphics cards I had available.
For this testing the Nouveau performance was tested as found "out of the box" on Ubuntu 13.10 with the Linux 3.11 kernel, xf86-video-nouveau 1.0.9, and Mesa 9.2.1. The driver stack was then tested when upgrading to the Linux 3.12 Git kernel for the very latest Nouveau DRM driver code. It was also attempted to use Mesa 10.0 Git as an additional data point, but Mesa 10.0 for Nouveau seemed to be unstable in the configurations tested. The proprietary NVIDIA driver tested was the NVIDIA 319.60 x86_64 Linux driver that's offered through the Ubuntu 13.10 "Saucy Salamander" package archive.
As pointed out numerous times on Phoronix, the main limitation of the open-source Nouveau driver right now is the lack of proper re-clocking support. This issue is particularly problematic for Fermi and Kepler GPUs because there is no re-clocking support at all compared to the support being an experimental run-time option for earlier NVIDIA GPU generations where the support is hit-or-miss but at least it works fine for some graphics cards. Because of no Fermi/Kepler re-clocking, the graphics cards are left to run at the speeds set by the video BIOS at boot time. For some GPUs like the GeForce GTX 460, these boot speeds are very low (e.g. 50 / 135 MHz).
Besides re-clocking, the Nouveau driver right now also only supports OpenGL 3.1 in comparison to the binary driver having OpenGL 4.3 compliance. The OpenCL/GPGPU support is also a work-in-progress as with other features. With all of that said, on the following pages are our Phoronix Test Suite benchmark results showing the current performance imparity between Nouveau and the NVIDIA binary driver for the GeForce 400/500/600 series on Ubuntu Linux.