[Driver Version 555.58.02] Power management bug

Hello everyone,

Some days ago i switched from Linux Mint (Cinnamon DE
on Xorg) to Arch linux (Hyprland WM on wayland).

My laptop has a NVIDIA dedicated GPU and an intel integrated GPU. On Linux Mint everything was fine and i was using the closed-source nvidia drivers of the 535 series.

On Arch i struggled a lot to make the nvidia GPU automatically switch to D3 mode when not used.

The driver version I’m currently using on arch is 555.58.02. I tried to setup my system so that everything would run on the iGPU by default. However I still want to be able to run programs on my nvidia dGPU using PRIME so I don’t want to disable it.
Since my nvidia GPU supports D3 power management my goal was to make it sleep when not used and wake up if I wanted to use it.

After some days of trying a lot of different things with no success I finally managed to accomplish that but I noticed some possibly buggy behaviours:

  1. I had to set the nvidia_drm module to be loaded with modeset=0 as a parameter otherwise it would keep the GPU on D0 power status.
  2. I had to either run nvidia-persistenced.service with the --no-persistence-mode flag or simply disable it, otherwise the GPU would remain on D0 power status in this case too.
  3. The nvidia driver is not able to detect information correctly: cat /proc/driver/nvidia/gpus/0000:01:00.0/power shows Runtime D3 status: Not supported and Video Memory Self Refresh: Not supported. Not sure what this means since on Linux Mint they are both shown as supported.
  4. If nvidia_drm is launched with modeset=0 the nvidia driver just shows a lot of question marks when doing cat /proc/driver/nvidia/gpus/0000:01:00.0/power

Feel free to ask for more info, thanks.

bug-report.gz (232.8 KB)