PCI PM fails with modesetting enabled in multi-GPU config in a console/tty env

NVIDIA Open GPU Kernel Modules Version


I confirm that this does happen with the proprietary driver package as well

Operating System and Version

Arch Linux

Kernel Release

Kernel 6.8.4 from Arch Repositories

Please confirm you are running a stable release kernel (e.g. not a -rc). We do not accept bug reports for unreleased kernels.

  • I am running on a stable kernel release.

Hardware: GPU

GPU 0: NVIDIA GeForce GTX 1660 Ti (UUID: GPU-fd77e18f-2c78-5a1c-48f8-f7869e44aa8e)

Describe the bug

On a Multi-GPU system, where the NVIDIA GPU is NOT the primary GPU, PCI power management fails if modesetting is enabled on nvidia_drm in a console/tty environment. However, PCI power management functions correctly if modesetting is disabled

To Reproduce

  1. Have the following options in /etc/modprobe.d/nvidia.conf:
options nvidia_drm modeset=1
options nvidia NVreg_DynamicPowerManagement=0x02
options nvidia NVreg_EnableGpuFirmware=1
  1. Have a multi-GPU setup, such as a laptop, where the NVIDIA GPU is not the primary GPU.
  2. Disable your Display Manager/boot to multi-user.target
  3. Run echo auto > /sys/bus/pci/devices/0000\:01\:00.0/power/control as root
  4. Run grep . /sys/bus/pci/devices/*/power/runtime_status a few seconds later. The GPU state shows as active.
  5. Change options nvidia_drm modeset to 0 and reboot to multi-user.target/tty
  6. Repeat steps 3 and 4. The GPU state shows suspended

Bug Incidence




More Info

Ideally this should not be happening since the NVIDIA GPU is not driving the tty either. There are no processes on the NVIDIA card, as verified by nvidia-smi, as well as lsof /dev/dri/render*

The GPU also suspends correctly in an X11 environment.

Full output of dmidecode: dmidecode.log (12.0 KB)
Laptop model: Acer Nitro 7 AN715-51 (2019 - i5-9300H, GTX 1660Ti)

Moved here from open kernel module github issues