Nouveau Maxwell: Mesa 17.0 + Linux 4.10 vs. NVIDIA's Linux Driver
Recently on Phoronix we've tested the re-clocking and boost support in Nouveau with the Linux 4.10 kernel and separately landing in Mesa 17.0 Git was the big Maxwell performance boost for Nouveau Gallium3D. That Gallium3D driver work improves the Maxwell open-source performance by "1.5x to 3.5x" via instruction pipelining improvements. With those latest improvements in the kernel and Mesa, how does Nouveau now compare to NVIDIA's binary Linux driver?
For this article are benchmarks of Mesa 17.0 Git and Linux 4.10 with the tested Nouveau cards setup to their most optimal configuration then compared to the NVIDIA 375.27.03 proprietary driver. The cards tested were the GTX 750, GTX 750 Ti, and GTX 980. Only Maxwell cards were tested since that's the hardware affected by the recent instruction pipelining work and no Pascal cards were tested since the consumer GTX 1050/1060/1070/1080 don't yet have any working open-source 3D acceleration. With the GeForce GTX 750 series hardware, these "Maxwell 1" cards do have re-clocking support in Nouveau and they were tested on Nouveau fully re-clocked using the current static re-clocking support. With the GeForce GTX 980 there is unfortunately no working mainline re-clocking support as of Linux 4.10.
On the binary driver side, the NVIDIA 375.27.03 "just works" with all of the tested hardware. This proprietary driver was tested on Ubuntu 16.10's stock Linux 4.8 kernel.
With Mesa 17.0, Nouveau on Maxwell exposes OpenGL 4.3 (though the GL 4.4/4.5 extensions are effectively done) while the proprietary driver exposes OpenGL 4.5 officially.