NVIDIA GeForce 700 Series: Stick To The Binary Linux Drivers

Written by Michael Larabel in Display Drivers on 21 March 2014 at 06:00 AM EDT.

While the GeForce GTX 760, GTX 770, and TITAN had worked with the latest open-source NVIDIA driver, the big problem overall with the Nouveau driver is the lack of dynamic power management / re-clocking. Nouveau lacks reliable re-clocking for newer generations of GPUs so the driver is stuck to running the GPU core, shader, and memory clocks statically at the speeds programmed by the video BIOS at boot time. For newer GPUs, these boot clock speeds tend to be rather low compared to their rated frequencies, which means the GPUs are running in a crippled state until the re-clocking code is sorted out with a future Linux kernel update. So far it looks like we won't see any major re-clocking work land for the Linux 3.15 kernel.

At least from the power management information reported by the Nouveau driver, the GTX 760 and GTX 770 were both running with a 405MHz GPU core clock speed and 648MHz for the video memory, well below the GTX 760 core base clock frequency of 980MHz and 1033MHz for its boost frequency. The GTX 770 has a base clock frequency of 1046MHz and a Turbo frequency of 1085MHz. The Nouveau driver was operating the GTX TITAN with a 324MHz core frequency and 648MHz video memory frequency; the TITAN GK110 should have a 837MHz base frequency and 876MHz boost.

Nouveau GeForce 700

With that said, while the Nouveau performance is limited when it comes to its clock capabilities, I ran some benchmarks comparing the Linux 3.14 and Mesa 10.2-devel state to that of the NVIDIA 334.21 binary driver. This shows the performance impact of using the open-source NVIDIA Linux driver for the time being on modern NVIDIA hardware, well, for the GPUs that worked. Due to the NVIDIA 334.21 kernel compatibility, switching back to the Linux 3.13 kernel was used when running the binary driver but all other settings were maintained the same during testing (the reported CPU frequency differences just come down to CPUfreq reporting differences of base vs. turbo frequencies between the kernels).

All of this NVIDIA Linux benchmarking was handled in a fully automated and reproducible way using the open-source Phoronix Test Suite software.


Related Articles