GPU stays at maximum power state when using multiple monitor
NVIDIA Open GPU Kernel Modules Version
565.77 (older versions are also affected)
Please confirm this issue does not happen with the proprietary driver (of the same version). This issue tracker is only for bugs specific to the open kernel driver.
- [ ] I confirm that this does not happen with the proprietary driver package.
Operating System and Version
Arch Linux
Kernel Release
6.12.1-arch1-1
Please confirm you are running a stable release kernel (e.g. not a -rc). We do not accept bug reports for unreleased kernels.
- [x] I am running on a stable kernel release.
Hardware: GPU
NVIDIA GeForce RTX 2080 SUPER
Describe the bug
With certain combinations of monitor refresh rate, the GPU clocks won’t ramp down at idle (no app using the GPU open) even if I set:
- Powermizer mode to Adaptive or Auto in with both Xorg, Wayland and even TTY.
My GPU clocks never go bellow 1575 and 7750 Mhz at idle and nvidia-smi is reporting P0 in Perf section and 60W, it should be P8 and 22W at idle.
I have 3 monitors:
- Monitor 1: Alienware AW2725DF 2560x1440 360 Hz, Adaptive-Sync, DisplayPort
- Monitor 2: MSI MAG271CQR: 2560x1440 144 Hz, Adaptive-Sync, DisplayPort
- Monitor 3: Iiyama G2250HS: 1920x1080 75Hz, Adaptive-Sync, DisplayPort
The only configuration that doesn’t trigger the issue with more than one monitor is to only use monitor 2 at 144 Hz and monitor 3 at 75 Hz and disabling monitor 1 but this setup with VRR is causing another issue: ps://forums.developer.nvidia.com/t/monitors-literally-stutter-when-vrr-g-sync-is-enabled/256836
GPU doesn't even ramp down even if I am on a TTY console without any processes using GPU running.
To Reproduce
- Have a RTX 2080 SUPER AND
- Connect monitors 1, 2 and 3 and set them at 360 Hz, 144 Hz and 75 Hz respectively OR
- Connect monitors 1 and 2 and set them at 360 Hz and 144 Hz respectively OR
- Connect monitors 2 and 3 and set them at 144 Hz and 60 Hz respectively
Bug Incidence
Always
nvidia-bug-report.log.gz
More Info
- That issue behave as if i enable
disable_vrr_memclk_switchinnvidia-modesetmodule. - With this issue, the GPU doesn't even go to P2 state when CUDA apps are running.
Using a 4070 Ti, I can confirm this bug is present using a pair of AOC U27G3X screens operating at 4K when specifically both set to 75Hz (1x HDMI, 1x DisplayPort). Using projects like nvidia-pstate to manually set performance modes works but when left on auto, it will happily use P0 even under CUDA loads which would normally cap the card at P2 on Linux.
Issue is independent of whether proprietary module is used or not, and irrespective of the use of GSP Firmware.
It's a great loophole in some ways for extra performance in games when using elfarto's VAAPI driver though!
@thesword53 can you do me a favor and confirm if you see the issue at the TTY console level if you set the fbdev=0 kernel parameter for nvidia-drm?