Making It Easier To Try Out The Experimental Re-Clocking Support

Written by Michael Larabel in Nouveau on 29 March 2016 at 03:52 AM EDT. 4 Comments
While it won't help the current GTX 900 Maxwell performance situation on Nouveau due to being blocked on the PMU firmware in order to be able to re-clock these latest-generation GPUs, there's a fresh kernel source tree that's easy to build with experimental Nouveau patches for improving the NVIDIA re-clocking support on this open-source driver.

Karol Herbst has been one of the independent Nouveau developers who in recent months has been doing a lot of work on advancing re-clocking support for this reverse-engineered driver. Previously he managed his experimental patches in a Git repository where the Nouveau DRM driver was standalone, but now he's established a new setup with the complete kernel source tree. This way you don't need to worry about any breakage against a particular kernel version on your system nor with any other issues pertaining to building the standalone DRM driver: just build it as you would any other kernel spin.

Karol explained some of the work in his Git branch, in an email to Phoronix, outlined below. I'll be trying out Karol's latest Nouveau code once I'm back in the office.
git clone
cd linux
git checkout nouveau_4.5_reclocking

and then whatever kernel config you are using.

After booting with that kernel (don't forget to enable nouveau and debugfs), you should get two important files inside /sys/kernel/debug/dri/0/:

1. pstate (this you know already)
2. boost (0: base clock, 1: boost clock, 2: unlimited, same usage as pstate, just echo whatever you want in it and it will limit the highest clock used at the higher pstates)

The boost file can be used to limit the max clock on the gpu and defaults to 1 for now. Currently nouveau doesn't check if the GPU actually draws to much power, so this won't be default until nouveau does that.

the base and boost clocks are usually those which the gpu are advertised with. I know somebody with a 780 Ti where 0 and 2 were stable, but 1 crashed after some minutes with high load. So you might want to play with that a bit if you are up to. 0 and 1 are pretty save, with 2 you want to have a strong enough PSU installed in the machine, because this will draw a lot of power, especially for your 780 Ti (you can check with sensors, because with high end GPUs we now export the power consumption as long as there are power sensors on the GPU).

Also the reclocking bits are not well tested for GM10X cards, because it just uses the Kepler code. With a bit luck, there is no difference and everything just works.

Usually I got pretty good feedback out of this and I am pretty sure that it will work on most cards (>=90%)
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via

Popular News This Week