Trying Out The Open-Source NVIDIA/Nouveau Driver Rework In Linux 4.3

Written by Michael Larabel in Display Drivers on 10 September 2015 at 11:30 AM EDT. Page 1 of 3. 5 Comments.

With the forthcoming Linux 4.3 kernel is a big rework to the open-source NVIDIA (Nouveau) driver. Here are our first tests of NVIDIA GeForce hardware under Linux 4.2 stable and then the Linux 4.3 Git code with this reworked driver.

After Nouveau didn't see any improvements for Linux 4.2 due to this ongoing driver rework, the Nouveau changes in Linux 4.3 are significant as outlined in these articles. The Nouveau DRM update improves some of the driver's design, makes the code "a lot easier" to work with, lower memory usage, GPU VM is faster, and other code clean-ups took place.

For Linux 4.3 there is also support for loading the external, NVIDIA-supplied firmware/microcode files, but we haven't seen those yet for the GeForce GTX 900 Maxwell series so as such there isn't yet any open-source hardware acceleration for these latest NVIDIA GPUs.

Unfortunately there's also been no major breakthroughs in the re-clocking support for being able to run the NVIDIA graphics cards at their rated frequencies. About re-clocking, in response to a recent article about new patches for Nouveau voltage control, Nouveau contributor Ilia Mirkin summed up the current support as, "Reclocking on nv4x is mostly working, and GT21x is largely functional as well. The NVAA/NVAC (MCPxx) IGPs should work as well. Recently patches were integrated for reclocking on G200 (available in 4.2 or 4.3), and Roy is working his way back, playing with a G94 now. Most of that series should be mostly identical, with just a few variations, so I doubt it'll take too long. (We've also had it mostly working in the past, so there's old code to base it on.) Really Fermi's the one that's left out in the cold, with very little concretely known about it. It will take a considerable effort to iron it all out. (And Kepler's hardly done either.)"

When the screen doesn't go dark on a failed re-clock, this is generally what it will look like.

In my testing of the Linux 4.3 Git code as of 9 September, I have yet to run into any Nouveau regressions on the tested NVIDIA (Kepler 600/700 series) hardware tried thus far. However, with the exception of the GeForce GTX 650, the re-clocking still only goes part-way. With the GTX 650 I can hit the highest performance state (0f) while all the other tested hardware would run into issues with any performance state above 0a.

Nouveau Linux 4.3

The hardware tested for this Linux 4.2 vs. 4.3 Git Nouveau comparison was the GeForce GTX 650, GTX 680, GTX 760, and GTX 780 Ti. All of the OpenGL benchmarks were tested via the open-source Phoronix Test Suite software. With the kernels tested, Mesa 11.1-devel Git was built from source yesterday on this Xubuntu box for providing OpenGL 4.1 support with the NVC0 Gallium3D driver.

Related Articles