While the Nouveau driver may not yet have a stable Gallium3D or DDX driver release nor does it have capabilities like stabilized power management or OpenGL 3.x, if you want to overclock your NVIDIA graphics card with this open-source driver, you can now do so today. Martin Peres who has been working on Nouveau power management support
and timing management
, has produced a patch to support custom clock manipulation of the NVIDIA graphics card's core clock, memory clock, and shader clock speeds. The voltages can also be manipulated too whether you are manually overclocking or underclocking your GPU with this Linux kernel DRM driver.
Martin is one of the free software developers that has been working on the Nouveau driver as well as PathScale's Nouveau driver fork known as PSCNV
that's specializing in GPGPU computing and other areas, but it's received some criticism
. Martin published this patch for "custom power management perflvl" support that allows clock and voltage manipulation via custom sysfs nodes to the Nouveau DRM driver. While some may not like the abilities to control the graphics card in a way that can potentially overheat or kill your graphics card, Martin wants this patch merged (it would go into the Linux 2.6.38 kernel
) if there are no major objections.
This patch was created in the first place not to satisfy the requests of enthusiasts; those really concerned about performance will still be using the proprietary NVIDIA Linux driver as the Nouveau Gallium3D driver is still very slow
. This patch was instead created to help developers in reverse-engineering and also seeing whether the Nouveau driver is yet scaling with GPU clock speed increases. Unfortunately, the Nouveau driver is not scaling as the GPU clocks are ramped up.
For those that may not be interested in overclocking the card but rather just reading the shader/memory/core clock speeds of their NVIDIA GPU with the Nouveau driver loaded, these values are also expressed via these new sysfs nodes. This patch does not yet hook into the NVIDIA thermal zones for monitoring the core temperature and ensuring it doesn't overheat. Martin though bumped his Quadro NVS 140M core up by 66% on the memory, 66% on the GPU core, and 25% on the shader. This support also isn't universal across all NVIDIA GPUs at this time, but the NV84 and NV86 ASICs are mentioned as working perfectly. You also need to switch to a TTY from the X.Org Server when you want to switch the clock speeds or voltages.
Those interested in fetching this Nouveau kernel patch until it makes its way in the mainline tree, you can find it on the Nouveau mailing list
For those running NVIDIA's binary blob, there's CoolBits to overclock your card (except it doesn't yet work for NVIDIA Fermi
) and previous to that there was the open-source NVClock project