A 14-Way Comparison Of NVIDIA vs. Nouveau Drivers
Well, there you have it, quite a lengthy look at the open-source Nouveau driver against the official NVIDIA Linux driver.
The OpenGL results for the most part were not too surprising compared to past Phoronix tests. Not a whole lot has evolved in Nouveau when it comes to the OpenGL performance, but the not-very-demanding OpenGL games on the low and mid-range graphics cards, were a bit of a surprise. For several of the lower-end GeForce 8/9 series graphics cards, the Nouveau frame-rate was higher than the binary driver was, when both drivers were working correctly. For the higher-end graphics cards and Fermi (with the lack of re-clocking), the NVIDIA driver remained superior for all OpenGL tests.
In terms of other metrics, the CPU usage was always lower than the binary NVIDIA driver (but it's not a big deal for modern processors), the thermal results were mixed, and the GPU temperatures were mixed but tended to favor Nouveau. However, this does not mean too much when the Nouveau driver does not take full advantage of all of the GPU and does not handle power/fan management by default. The worst-case scenario was some hardware on Nouveau operating close to 80°C while idling, which is an increase of nearly 30°C compared to the NVIDIA blob.
The NVIDIA binary Linux driver also carries the advantages of VDPAU (Video Decode and Presentation API for Unix) support to provide a superior video playback experience and OpenGL 3/4 support. Like the other open-source Linux drivers, the Nouveau support is currently limited to OpenGL 2.1 compliance even for modern GL4-capable GPUs. There is OpenGL 3.0 support coming soon, but the OpenGL / GLSL support and performance is still a long way off from the NVIDIA binary driver. Nouveau can do some video decoding using Gallium3D, but it's not as feature-complete and rock solid as NVIDIA's VDPAU implementation on PureVideo hardware.
To end, here is a quote from earlier in the article about the overall Nouveau support coverage. The Nouveau driver that's developed by the community can be commended for their work, but en mass most Linux desktop users will be better off on the binary Linux driver or using the open-source Radeon Linux stack that's supported by AMD. NVIDIA's binary Linux driver is very well supported and generally makes users quite happy, it's the most common Linux graphics driver. The NVIDIA binary is usually better received than the AMD Catalyst binary driver, but on the open-source side, AMD has better support.
"When it comes to the Nouveau driver support, there's usually a lot to be desired. The performance of the Nouveau driver with Gallium3D is usually much slower than the proprietary driver (though the Radeon Gallium3D situation isn't too different, except when Nouveau fails at re-clocking to the nominal speeds), the support usually comes several months after the hardware launches due to no support from NVIDIA and the clean-room reverse-engineering that must take place on limited manpower, and there's far from being a feature parity to NVIDIA's official Linux driver.
The Nouveau driver can be usable for those that just care about a basic composited Linux desktop for office and Internet tasks, but for gaming and other demanding workloads it is not too viable. Nouveau use-cases are also limited for many due to the lack of reputable power management and fan management support. For mobile users with the Nouveau driver can find themselves with a very warm laptop. Mobile and desktop users can also be annoyed by the Nouveau driver with the associated noise level by pushing the fan at its maximum speed by default.
Making matters worse for Nouveau is that due to the lack of official NVIDIA support and the only documentation coming about via community reverse-engineering, is that regressions are all too common in Mesa/Gallium3D and the kernel driver, which leads to the Russian Roulette situation. With frequently testing different hardware and driver combinations, I'm commonly hit with showstopping regressions in either the mode-setting becoming borked or stability issues under OpenGL workloads, which seem to be the most common problems."
Latest Linux Hardware Reviews
Latest Linux Articles
Latest Linux News
Latest Forum Discussions