NVIDIA 470 EOL Drivers For Kepler Still Obliterating Open-Source Alternative
With the recent NVIDIA 470 series Linux driver beta this R470 branch is the point at which NVIDIA is ending its GeForce 600/700 series "Kepler" support. The 470 driver series will be maintained as a long-lived driver that will continue to see security updates and Linux kernel / X.Org Server compatibility updates for another three years. If this end-of-life status has you thinking about trying out the open-source "Nouveau" Linux driver with Kepler, here are some current benchmarks.
The NVIDIA 470 driver series should keep working with new Linux distributions through 2024, but if the 470 series marking the end of the official driver road for Kepler has you thinking about Nouveau, the support is still far less than ideal.
In today's article are benchmarks of two Kepler cards, the GeForce GTX 680 and GTX 760, under both the NVIDIA 470 Linux driver beta and then the latest open-source Nouveau driver.
Unfortunately the Nouveau driver even for these nearly decade old Kepler GPUs still leaves a lot to be desired. Most pressing is these graphics cards still do not support automatic re-clocking for allowing the GPU core and memory frequencies ramp up to their nominal frequencies. By default this open-source driver still runs the hardware at its boot clock frequencies, which tend to be extremely low. Kepler on Nouveau though does allow manual re-clocking which by reading and writing to a DebugFS file the driver can force the GPU to its higher frequencies / performance states. But that is far from user-friendly and sub-optimal having to rely on the user to put their GPU into the desired performance state for gaming and then lowering it when not engaging the GPU, etc. Dynamic re-clocking sadly hasn't seen any real progress in recent years.
The GeForce GTX 600/700 Kepler series (and GTX 750 Maxwell series) though are the last NVIDIA graphics cards to not require signed firmware images for hardware initialization. These are the latest NVIDIA graphics cards with 100% blob-free operation on Nouveau and not having signed firmware requirements. It's those signed firmware requirements and lack of PMU access on newer generations that leaves the GTX 900 Maxwell series and newer not being able to even manually re-clock the GPU. The lack of being able to even manually re-clock Maxwell / Pascal / Volta / Turing / Ampere on the Nouveau driver basically means the performance is always miserable. Hopefully this gets fixed sometime soon.
But back onto the Kepler open-source state, Nouveau still only has a working Gallium3D OpenGL driver. There isn't yet any open-source NVIDIA Vulkan driver and the OpenCL support remains a work-in-progress. Not to mention there isn't any working open-source NVIDIA CUDA implementation at this point.
So while it may be the end of the road for Kepler on the NVIDIA proprietary driver, in many aspects it still is certainly much better than the current open-source state that has been rather stagnate now for a number of years outside of some work quietly being pursued by Red Hat around compute.
For those wondering what the performance of the NVIDIA 470 proprietary driver is like against the open-source Nouveau driver, here are some fresh OpenGL benchmarks on the GTX 680 and GTX 760. Nouveau was tested both out-of-the-box/default where limited to its boot clock frequencies and then again after manually re-clocking the GPUs to their highest performance states.