Michael Larabel over at Phoronix recently published a feature covering our out-of-tree nouveau-dkms initiative: “Nouveau-DKMS Aims For Better NVIDIA Open-Source Experience On Old GPUs”.

The article takes an in-depth look at why a downstream kernel project like nouveau-dkms is essential for Linux users holding onto aging NVIDIA hardware, where upstream kernel focus has drifted, and how dynamic reclocking bridges a decade-old performance void.

Here is a summary of the key takeaways and architectural context highlighted in Phoronix’s coverage.


The Upstream Divergence: Where Pre-GSP Hardware Stands

As Phoronix highlights, modern open-source NVIDIA graphics driver development has shifted dramatically over the past two years:

  1. The GSP Boundary: Upstream driver engineering—including the mainline nouveau kernel module and NVIDIA’s forthcoming Rust-based Nova driver—is predominantly focused on Turing (GTX 16xx / RTX 20xx) and newer generations. These modern architectures incorporate NVIDIA’s on-die GPU System Processor (GSP), which offloads initialization, power sequencing, and clock management to closed firmware, making driver maintenance significantly more manageable.
  2. The Abandoned Legacy Frontier: For pre-Turing generations—most notably the GeForce 400/500 “Fermi” series (dating back roughly 16 years), alongside Kepler, Maxwell, and Pascal—there is no GSP. Power management, clock states, and voltage regulators must be programmed directly via hardware registers and PMU microcode.
  3. Proprietary Bitrot: NVIDIA officially dropped Fermi support into legacy proprietary branches (such as 390.xx), which have ceased receiving functional updates, require extensive out-of-tree patching to compile against modern Linux 6.x kernels, and fail completely under modern Wayland compositors. Meanwhile, running Fermi cards on mainline upstream Nouveau leaves the silicon locked at default boot frequencies (often 324 MHz), rendering web browsing sluggish and desktop compositing laggy.

What Nouveau-DKMS Brings to the Table

Phoronix highlights how nouveau-dkms steps in as an out-of-tree downstream module to unlock the full physical capabilities of these GPUs on modern Linux distributions:

  • Complete Silicon Clock Scaling: Implements reliable core, shader, voltage, and PCIe link (Gen1 ↔ Gen2) reclocking.
  • Zero-Stutter Bidirectional DDR3 Memory Reclocking: Eliminates display corruption and memory retraining lockups by synchronizing frequency transitions directly with the CRTC vertical blanking interval (VBlank).
  • Userspace Telemetry & Dynamic Governors: Complemented by the decoupled nouveau-utils suite, allowing users to run an automatic daemon that monitors GPU load and throttles frequencies dynamically between idle power savings and peak performance.
  • Hardware Telemetry Verification: Standardized tooling to read VBIOS timings, monitor thermal sensors, and track Falcon PDAEMON execution states.

Looking Ahead

While nouveau-dkms currently focuses on maximizing stability and performance across Fermi (NVC0–NVCF), Phoronix notes the project’s broader roadmap to extend similar reclocking, thermal, and voltage stability mechanisms to subsequent pre-GSP architectures like Kepler, Maxwell, and Pascal.

For users interested in learning more or testing the module on their own systems: