NVIDIA / NVIDIA/open-gpu-kernel-modules
"Runtime D3 status" (RTD3) is always "Not supported" on my headless and completely idle NVIDIA GeForce RTX 5060 Ti
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 17.4k
- Forks
- 1.9k
- PR merge metrics
- No merged PRs in 30d
Description
NVIDIA Open GPU Kernel Modules Version
575.64.05
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
Gentoo Linux
Kernel Release
6.15.8
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
Gainward GeForce RTX 5060 Ti Python III 16GB
Describe the bug
I am using my integrated Intel GPU to power my display, while my Nvidia GPU is occasionally used for CUDA/LLM tasks. The monitor is connected to the motherboard DP output and the Nvidia GPU is completely idle (from a software point of view) 99% of the time.
It doesn't matter whether I never load the nvidia module or whether I load it with the "correct" options -- the Nvidia GPU is always consuming 10+ watts even though it's idling.
I have the following in /etc/modprobe.d/nvidia.conf:
blacklist nvidia-drm
blacklist nvidia-modeset
blacklist nvidia-peermem
blacklist nvidia-uvm
blacklist nvidia
blacklist nouveau
blacklist nova_core
options nvidia NVreg_DynamicPowerManagement=0x01
options nvidia NVreg_DynamicPowerManagementVideoMemoryThreshold=700
options nvidia NVreg_EnableS0ixPowerManagement=1
options nvidia NVreg_S0ixPowerManagementVideoMemoryThreshold=700
options nvidia-drm modeset=0
options nvidia-drm fbdev=0
options nvidia NVreg_EnableGpuFirmware=1
options nvidia \
NVreg_PreserveVideoMemoryAllocations=1 \
NVreg_TemporaryFilePath=/var/tmp
options nvidia \
NVreg_DeviceFileGID=27 \
NVreg_DeviceFileMode=432 \
NVreg_DeviceFileUID=0 \
NVreg_ModifyDeviceFiles=1
alias char-major-195 nvidia
alias /dev/nvidiactl char-major-195
After booting up the system I observe the following:
───────┬────────────────────────────────────────────────────────────────────────────
│ File: /sys/bus/pci/devices/0000:01:00.0/power/runtime_status
───────┼────────────────────────────────────────────────────────────────────────────
1 │ suspended
───────┴────────────────────────────────────────────────────────────────────────────
───────┬────────────────────────────────────────────────────────────────────────────
│ File: /sys/bus/pci/devices/0000:01:00.0/power/runtime_suspended_time
───────┼────────────────────────────────────────────────────────────────────────────
1 │ 174059
───────┴────────────────────────────────────────────────────────────────────────────
This looks good on the surface, but the GPU is actually still consuming power (determined by a smart plug). When I modprobe nvidia, the runtime_suspended_time time stops growing:
# modprobe nvidia
# lsmod | grep nvidia
nvidia_modeset 2109440 1
nvidia_uvm 3067904 0
nvidia 12570624 7 nvidia_uvm,nvidia_modeset
video 73728 4 asus_wmi,xe,i915,nvidia_modeset
# bat /proc/driver/nvidia/gpus/0000:01:00.0/power
───────┬────────────────────────────────────────────────────────────────────────────
│ File: /proc/driver/nvidia/gpus/0000:01:00.0/power
───────┼────────────────────────────────────────────────────────────────────────────
1 │ Runtime D3 status: ?
2 │ Video Memory: ?
3 │
4 │ GPU Hardware Support:
5 │ Video Memory Self Refresh: ?
6 │ Video Memory Off: ?
7 │
8 │ S0ix Power Management:
9 │ Platform Support: Not Supported
10 │ Status: ?
11 │
12 │ Notebook Dynamic Boost: ?
───────┴────────────────────────────────────────────────────────────────────────────
Starting nvidia-persistenced with systemctl start nvidia-persistenced.service leads to:
───────┬────────────────────────────────────────────────────────────────────────────
│ File: /proc/driver/nvidia/gpus/0000:01:00.0/power
───────┼────────────────────────────────────────────────────────────────────────────
1 │ Runtime D3 status: Not supported
2 │ Video Memory: Active
3 │
4 │ GPU Hardware Support:
5 │ Video Memory Self Refresh: Not Supported
6 │ Video Memory Off: Supported
7 │
8 │ S0ix Power Management:
9 │ Platform Support: Not Supported
10 │ Status: Disabled
11 │
12 │ Notebook Dynamic Boost: Not Supported
───────┴────────────────────────────────────────────────────────────────────────────
I know that nvidia-smi wakes up the GPU and momentarily breaks power saving, but just to verify that nothing is using the Nvidia GPU:
# nvidia-smi
Sun Jul 27 12:01:45 2025
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 575.64.05 Driver Version: 575.64.05 CUDA Version: 12.9 |
|-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA GeForce RTX 5060 Ti On | 00000000:01:00.0 Off | N/A |
| 0% 46C P8 10W / 180W | 1MiB / 16311MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| No running processes found |
+-----------------------------------------------------------------------------------------+
# nvidia-smi -q -d POWER
==============NVSMI LOG==============
Timestamp : Sun Jul 27 12:33:59 2025
Driver Version : 575.64.05
CUDA Version : 12.9
Attached GPUs : 1
GPU 00000000:01:00.0
GPU Power Readings
Average Power Draw : 10.77 W
Instantaneous Power Draw : 10.81 W
Current Power Limit : 180.00 W
Requested Power Limit : 180.00 W
Default Power Limit : 180.00 W
Min Power Limit : 150.00 W
Max Power Limit : 180.00 W
Power Samples
Duration : 118.00 sec
Number of Samples : 119
Max : 10.83 W
Min : 10.63 W
Avg : 10.73 W
GPU Memory Power Readings
Average Power Draw : N/A
Instantaneous Power Draw : N/A
Module Power Readings
Average Power Draw : N/A
Instantaneous Power Draw : N/A
Current Power Limit : N/A
Requested Power Limit : N/A
Default Power Limit : N/A
Min Power Limit : N/A
Max Power Limit : N/A
Repeatedly running nvidia-smi does not increase the system energy use according to my smart plug, so I can confirm that the GPU never actually sleeps. In contrast to nvidia-smi, intel_gpu_top is correctly listing all my graphical applications.
According to the documentation (https://download.nvidia.com/XFree86/Linux-x86_64/575.64.05/README/dynamicpowermanagement.html), RTD3 should also work on desktops. I don't understand why it's not working on my system -- it should fulfill the requirements:
# zgrep CONFIG_PM= /proc/config.gz
CONFIG_PM=y
# grep DynamicPowerManagement: /proc/driver/nvidia/params
DynamicPowerManagement: 1 # (coarse-grained power control)
UVM persistence mode isn't enabled (the man page says "By default, nvidia-persistenced starts with UVM persistence mode disabled for all devices"):
# systemctl status nvidia-persistenced
● nvidia-persistenced.service - NVIDIA Persistence Daemon
Loaded: loaded (/usr/lib/systemd/system/nvidia-persistenced.service; disabled; preset: disabled)
Active: active (running) since Sat 2025-07-26 08:16:58 UTC; 1 day 4h ago
Invocation: ec84457c71b54be88cfc7b5f4f8525f8
Process: 27722 ExecStart=/usr/bin/nvidia-persistenced --user nvpd (code=exited, status=0/SUCCESS)
Main PID: 27723 (nvidia-persiste)
Tasks: 1 (limit: 114557)
Memory: 5.1M (peak: 6.1M)
CPU: 2.663s
CGroup: /system.slice/nvidia-persistenced.service
└─27723 /usr/bin/nvidia-persistenced --user nvpd
I have the required 80-nvidia-pm.rules file:
───────┬──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
│ File: /lib/udev/rules.d/80-nvidia-pm.rules
───────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
1 │ # From https://us.download.nvidia.com/XFree86/Linux-x86_64/570.133.07/README/dynamicpowermanagement.html
2 │
3 │ # Remove NVIDIA USB xHCI Host Controller devices, if present
4 │ ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c0330", ATTR{remove}="1"
5 │
6 │ # Remove NVIDIA USB Type-C UCSI devices, if present
7 │ ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c8000", ATTR{remove}="1"
8 │
9 │ # Remove NVIDIA Audio devices, if present
10 │ ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x040300", ATTR{remove}="1"
11 │
12 │ # Enable runtime PM for NVIDIA VGA/3D controller devices on adding device
13 │ ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", TEST=="power/control", ATTR{power/control}="auto"
14 │ ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030200", TEST=="power/control", ATTR{power/control}="auto"
15 │
16 │ # Enable runtime PM for NVIDIA VGA/3D controller devices on driver bind
17 │ ACTION=="bind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", TEST=="power/control", ATTR{power/control}="auto"
18 │ ACTION=="bind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030200", TEST=="power/control", ATTR{power/control}="auto"
19 │
20 │ # Disable runtime PM for NVIDIA VGA/3D controller devices on driver unbind
21 │ ACTION=="unbind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", TEST=="power/control", ATTR{power/control}="on"
22 │ ACTION=="unbind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030200", TEST=="power/control", ATTR{power/control}="on"
───────┴──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
I have ASPM enabled in BIOS and have run powertop --auto-tune.
This should be the ideal case for RTD3 power management -- no processes are using the GPU and no displays are connected to it (now or in the past), yet the GPU keeps consuming 10 watts. Have I missed something or is something terribly broken in desktop Blackwell GPUs?
Or does the issue lie with my motherboard? When running modprobe nvidia, dmesg reports:
[ 2246.095866] nvidia: loading out-of-tree module taints kernel.
[ 2246.312666] nvidia-nvlink: Nvlink Core is being initialized, major device number 510
[ 2246.419612] nvidia 0000:01:00.0: vgaarb: VGA decodes changed: olddecodes=io+mem,decodes=none:owns=none
[ 2246.558611] NVRM: loading NVIDIA UNIX Open Kernel Module for x86_64 575.64.05 Release Build (portage@localhost) 2025-07-25T19:08:35 UTC
[ 2331.410804] ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00.PEG1.PEGP._DSM.USRG], AE_ALREADY_EXISTS (20240827/dsfield-184)
[ 2331.559020] ACPI Error: AE_ALREADY_EXISTS, CreateBufferField failure (20240827/dswload2-477)
[ 2331.659618] ACPI Error: Aborting method \_SB.PC00.PEG1.PEGP._DSM due to previous error (AE_ALREADY_EXISTS) (20240827/psparse-529)
[ 2365.331307] ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00.PEG1.PEGP._DSM.USRG], AE_ALREADY_EXISTS (20240827/dsfield-184)
[ 2365.479469] ACPI Error: AE_ALREADY_EXISTS, CreateBufferField failure (20240827/dswload2-477)
[ 2365.579976] ACPI Error: Aborting method \_SB.PC00.PEG1.PEGP._DSM due to previous error (AE_ALREADY_EXISTS) (20240827/psparse-529)
[ 2365.843770] nvidia-modeset: Loading NVIDIA UNIX Open Kernel Mode Setting Driver for x86_64 575.64.05 Release Build (portage@localhost) 2025-07-25T19:08:24 UTC
[ 2366.026986] ACPI BIOS Error (bug): Failure creating named object [\_SB.PC00.PEG1.PEGP._DSM.USRG], AE_ALREADY_EXISTS (20240827/dsfield-184)
[ 2366.175219] ACPI Error: AE_ALREADY_EXISTS, CreateBufferField failure (20240827/dswload2-477)
[ 2366.275770] ACPI Error: Aborting method \_SB.PC00.PEG1.PEGP._DSM due to previous error (AE_ALREADY_EXISTS) (20240827/psparse-529)
I am running the latest BIOS for my motherboard, from 2025-07-10.
To Reproduce
modprobe nvidia.
Bug Incidence
Always
nvidia-bug-report.log.gz
More Info
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the idle-power behavior and reading /proc/driver/nvidia/gpus/0000:01:00.0/power alongside the PCI runtime PM files. Check the supplied 80-nvidia-pm.rules, module parameters, and RTD3 handling exposed by the open driver. Done means identifying why RTD3 reports unsupported or fails to sleep and validating the fix on the listed RTX 5060 Ti setup.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, linux
- Domain
- operating-systems, performance
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100