NVIDIA / NVIDIA/open-gpu-kernel-modules
Periodic ACPI NVPCF notifications runtime-resume GB205 laptop GPU from D3cold
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
610.57.04 (nvidia-open-dkms 610.57.04-1)
Proprietary-driver comparison
Not applicable: this is a Blackwell GB205 laptop GPU, which requires the open
kernel modules. A same-version proprietary-kernel-module comparison is not
available.
Operating System and Version
Omarchy 4.0.0-1 (Arch Linux based)
Kernel Release
Linux zeph 7.1.8-arch1-3 #1 SMP PREEMPT_DYNAMIC Tue, 11 Aug 2026 09:16:08 +0000 x86_64 GNU/Linux
This is a stable, non-RC Arch kernel.
Hardware
- Laptop: ASUS ROG Zephyrus G14 GU405AR
- BIOS: GU405AR.302
- iGPU: Intel Panther Lake (
xe, PCI8086:b0a0) - dGPU: NVIDIA GeForce RTX 5070 Ti Laptop GPU / GB205
- dGPU PCI functions:
10de:2f58at0000:01:00.0, HDA10de:2f80at0000:01:00.1 - Graphics mode: Hybrid/PRIME; Intel drives the internal display
Describe the bug
While running on battery, ACPI notifications delivered through the NVIDIA
platform device at \_SB.NPCF periodically runtime-resume an otherwise idle
RTX 5070 Ti from D3cold. The resume path is inside the NVIDIA open module's
ACPI notification handling, not a userspace GPU query.
Both NVIDIA PCI functions normally remain runtime_status=suspended and
power_state=D3cold. PRIME offload works, and the GPU returns to D3cold about
25 seconds after a workload exits. Nevertheless, a kernel ftrace kprobe on
nv_pmops_runtime_resume captured the following spontaneous resume:
kworker/10:2-271 [010] .....: g14_nv_resume: (nv_pmops_runtime_resume+0x4/0x70 [nvidia])
<stack trace>
=> kprobe_trace_func
=> kprobe_dispatcher
=> kprobe_ftrace_handler
=> crypto_ccm_module_init
=> nv_pmops_runtime_resume
=> __rpm_callback
=> rpm_callback
=> rpm_resume
=> __pm_runtime_resume
=> pci_device_shutdown
=> nv_indicate_not_idle
=> os_ref_dynamic_power
=> RmUnixRmApiPrologue
=> rm_acpi_notify
=> acpi_ev_notify_dispatch
=> acpi_os_execute_deferred
=> process_one_work
=> worker_thread
=> kthread
=> ret_from_fork
=> ret_from_fork_asm
The platform device is present and functional:
$ cat /sys/bus/acpi/devices/NVDA0820:00/path
\_SB_.NPCF
$ cat /sys/bus/acpi/devices/NVDA0820:00/status
15
A controlled ten-minute battery run at 60 Hz and power-saver, without
nvidia-smi, NVML monitors, or user interaction, recorded three wake cycles:
11:32:51 Enabling HDA controller
11:36:03 Enabling HDA controller
11:39:49 Enabling HDA controller
Each cycle kept the GPU in D0 for roughly 20–25 seconds. Whole-laptop draw rose
from a D3cold median of 9.20 W to approximately 15–19 W during those cycles.
The full-run median was 9.30 W, but the wakeups raised the mean to 11.00 W.
This appears to be the same ACPI/NVPCF wake path reported in #860, now
reproduced on GB205 with 610.57.04. It may also be related to the Blackwell
\_SB.NPCF integration problems in #1162, although that issue primarily
describes Dynamic Boost/PMO construction rather than periodic RTD3 wakeups.
To Reproduce
- Boot the GU405AR in Hybrid mode on battery with NVIDIA open 610.57.04.
- Keep both functions runtime-managed:
power/control=autofor0000:01:00.0and0000:01:00.1. - Close all explicit NVIDIA workloads and wait until both functions report
runtime_status=suspendedandpower_state=D3cold. - Do not run
nvidia-smi, NVML-based widgets,nvtop, or repeated PCI config
probes. - Trace
nv_pmops_runtime_resumeand wait. A firmware notification reaches
rm_acpi_notify, callsos_ref_dynamic_power, and resumes the GPU. - The GPU returns to D3cold after the transient, then repeats the cycle a few
minutes later.
The issue reproduced three times during one ten-minute measurement and again
within 50 seconds during a separate bounded ftrace capture.
Bug incidence
Always on battery during the observed tests; timing is periodic but not fixed.
Expected behavior
An ACPI/NVPCF notification that does not require GPU work should not take a
runtime-suspended GPU out of D3cold. The driver should avoid acquiring a
dynamic-power reference when the notification can be handled or rejected
without powering the GPU.
Additional information
NVreg_DynamicPowerManagement=3resolves to fine-grained RTD3.nvidia-persistencedis inactive.nvidia-powerdis active, but it does not prevent D3cold; it logs that SBIOS
requested disabling the Dynamic Boost DC controller.- The NVIDIA HDA function also reaches D3cold.
- The internal display and desktop renderer are Intel/Xe.
- No ACPI-table override or driver parameter workaround has been applied.
nvidia-bug-report.log.gz
Generated immediately after reproduction:
nvidia-bug-report-g14-nvpcf.log.gz
SHA-256:
19646df16707c9c966ca3ee47c4de9e928873895ea53f63e1ac20fa9685fa9da
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 with the NVIDIA open kernel module's ACPI notification path, especially rm_acpi_notify, os_ref_dynamic_power, and nv_pmops_runtime_resume. Reproduce on the ASUS GU405AR using the ftrace kprobe and runtime power status described in the issue. Done means notifications that do not require GPU work no longer resume the GPU from D3cold, while required ACPI handling still works.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, linux
- Domain
- operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100