Open-Source NVIDIA Driver Approaches Stable State
While it's great that the open-source NVIDIA driver is moving forward and leaving the Linux kernel staging area with the promise of a stable ABI, in most OpenGL workloads more often than not the performance ends up being disappointing with the binary NVIDIA Linux driver being the only viable solution.
With modern NVIDIA graphics hardware the Nouveau developers are still battling proper re-clocking support so that the GPU core and video memory can run at their rated speeds, but this support is still a ways from being stable. Even when it is stable it will likely be some time before there is dynamic re-clocking or at least support that is enabled by default, since if anything is missed, the graphics card could potentially overheat and cause some angry Linux desktop users. For now the users must have the Nouveau kernel module loaded with a special parameter and then be writing to the sysfs in an attempt to change the GPU clock speeds each time, as talked about in this article.
The NVIDIA graphics cards performing the best on this reverse-engineered driver ended up being the low-end and mid-range GeForce graphics cards that were several generations old. There the support is the most mature, some developers are still working on the Nouveau support for this hardware (the very old NVIDIA hardware support is effectively abandoned by new development work), and there are not re-clocking issues on the lower-end graphics cards since there's often only one performance level. The best Nouveau support right now continues to be for the GeForce 8/9 series.
In some of the OpenGL tests in this article the performance of these older, cheap graphics cards ended up being about the same between the official NVIDIA Linux binary driver and this community-created open-source alternative! This is great if you are an open-source fan always living on a tight budget, but for anyone wanting to play the latest games with great frame-rates, there is no choice but the NVIDIA blob (or move over to the open-source Radeon driver with AMD graphics hardware). It will be interesting to see how the Nouveau libdrm overhaul will change these numbers, but more pressing than that on handicapping the Nouveau Gallium3D performance is likely the clock speed issues.
Aside from the performance catch-up game to the binary blob, Mesa developers are still catching up when it comes to OpenGL support. There is now OpenGL 3.0 support in the open-source driver for NVIDIA's Fermi while the older hardware is still stuck at the GL 2.1 support level at the moment. The newer NVIDIA hardware can handle OpenGL 4.0, but it will likely be quite a while still before any open-source Linux driver is advertising full OpenGL 4.0 (or GL 3.3) compliance. There also remains the sticky open-source issues of no out-of-the-box support for S3TC texture compression and floating-point textures because of patents / legal concerns. On the GPGPU side, the open-source OpenCL/CUDA is still a work-in-progress as with other more advanced features like SLI and Optimus.
At the end of the day though if you are just concerned about using the Nouveau driver on NVIDIA hardware for a basic Linux desktop with office tasks, web browsing, or other functionality that just needs a nice compositing window manager, this open-source NVIDIA driver works just fine. There are not many KMS mode-setting issues for Nouveau anymore (aside from the GeForce GT 240 and other select hardware) and the power consumption of the Nouveau driver is on par with the NVIDIA binary driver, in part due to the cards frequently being stuck at their lower clock speeds.
If you like this continued Nouveau driver testing and other work, consider subscribing to Phoronix Premium to view entire articles on a single page, disable AdBlock, making a tip, or other possibilities discussed at the end of this posting. Coming up next week are the long-awaited NVIDIA GeForce GTX 680 "Kepler" Linux benchmarks.
If you enjoyed this article consider joining Phoronix Premium to view this site ad-free, multi-page articles on a single page, and other benefits. PayPal or Stripe tips are also graciously accepted. Thanks for your support.