DRIVER POWER CONTROL(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… Driver Power Control (9) πŸ’…

Okay bestie, so this is from the Kernel API Manual and it's literally all about how your discrete GPU manages its power vibes. No cap, it's giving iconic kernel energy. ✨


🌸 DESCRIPTION 🌸

Okay so in this mode of use, the discrete GPU automatically powers up and down at the discretion of the driver's runtime pm. On muxed machines, the user may still influence the muxer state by way of the debugfs interface, however the ON and OFF commands become a no-op for the discrete GPU. Like, they literally do nothing. πŸ’…

This mode is the default on Nvidia HybridPower/Optimus and ATI PowerXpress. Specifying nouveau.runpm=0, radeon.runpm=0 or amdgpu.runpm=0 on the kernel command line disables it. Slay. πŸŽ€

After the GPU has been suspended, the handler needs to be called to cut power to the GPU. Likewise it needs to reinstate power before the GPU can resume. This is achieved by vga_switcheroo_init_domain_pm_ops, which augments the GPU's suspend/resume functions by the requisite calls to the handler. It's giving technical but make it fashion. πŸ”₯

When the audio device resumes, the GPU needs to be woken. This is achieved by a PCI quirk which calls device_link_add to declare a dependency on the GPU. That way, the GPU is kept awake whenever and as long as the audio device is in use. Main character energy, honestly. πŸ‘‘

On muxed machines, if the mux is initially switched to the discrete GPU, the user ends up with a black screen when the GPU powers down after boot. Not cute. As a workaround, the mux is forced to the integrated GPU on runtime suspend, cf. https://bugs.freedesktop.org/show_bug.cgi?id=75917. πŸ’€


✨ SEE ALSO ✨


Catch you later, bestie! This page is from ./drivers/gpu/vga, October 2026. Stay powered. πŸ’–

πŸ“¦ where this page comes from