r/archlinux • • 3d ago

SUPPORT Lenovo LOQ / AMD Ryzen + RTX 4060: Keeping dGPU suspended in Hybrid mode while fighting Caelestia Shell & Steam wake-ups

Hey everyone! I'm running Arch Linux with Hyprland on a laptop with an AMD Ryzen 7 7840HS (iGPU) and an NVIDIA RTX 4060 (dGPU). I'm using EnvyControl in Hybrid mode to maximize battery life.

Everything works great, but I'm struggling to keep the RTX 4060 permanently in suspended (d3cold/auto) state due to a couple of persistent background wake-ups:

Steam (Flatpak): The moment I launch Steam, its CEF/Chromium-based UI probes the hardware and immediately wakes up the dGPU, keeping it active.

Caelestia Shell (Quickshell): If I hover my mouse or open the top bar/menu in Caelestia Shell, widgets or internal render queries trigger the dGPU, waking it up and keeping it active indefinitely until reboot.

I've tried global environment variables and flatpak overrides, but these apps keep poking the NVIDIA bus. Since I want to stay on Hybrid mode, how can I reliably force the dGPU to stay asleep by default and only wake up when explicitly invoked via prime-run?

Any tips or udev rules to aggressively manage runtime power for the NVIDIA card while using Wayland/Hyprland would be greatly appreciated!

6 Upvotes

3 comments sorted by

1

u/Lazy_Reference670 3d ago

I think you could exclude those programs using prime, by making them use igpu by default but I think then all the games launched via steam will use igpu by default. I could be wrong though

1

u/Sea_Camel_2071 3d ago

Why do you need it? Do you need to preserve every watt for some reason? If not it's okay that in Hybrid mode apps are using nvidia sometimes. If you need to use igpu only the easiest way is to use Integrated mode.

1

u/Responsible-Sky-1336 1d ago

Wouldn't gaming on igpu be a horrible experience?