Runtime D3 (RTD3) disabled on Lenovo LOQ 15IAX9 due to SBIOS NV_ERR_INVALID_DATA (0x25) in platform_request_handler_ctrl.c (Driver 615.78.08)
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- c, linux
Research direction
Start by examining the reported PlatformRequestHandler failures at platform_request_handler_ctrl.c:2118 and :2175, then trace how those errors lead to Runtime D3 being marked unsupported. Reproduce on the Lenovo LOQ 15IAX9 with driver 615.78.08 and inspect the attached nvidia-bug-report log. Done means the GPU can enter Runtime D3 when idle despite the SBIOS returning NV_ERR_INVALID_DATA.
Written by the indexing model from the issue text.
Description
NVIDIA Open GPU Kernel Modules Version
615.78.08
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
CachyOS
Kernel Release
7.3.0-4-cachyos #1 SMP PREEMPT_DYNAMIC Fri, 23 Oct 2026 15:03:58 +0000 x86_64 GNU/Linux
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 RTX 3050 6GB Laptop GPU (UUID: GPU-7181b4f5-7620-7aa1-e059-5b3dc0b5c465)
Describe the bug
On the Lenovo LOQ 15IAX9 (Intel i5-12600HX + RTX 3050 Laptop GPU), the discrete GPU fails to transition into Runtime D3 (D3cold) and remains permanently stuck idling in D0/P8 state (consuming ~3.18W).
During driver initialization, calls to PlatformRequestHandler fail because the SBIOS returns NV_ERR_INVALID_DATA (0x00000025) when querying target temperature and platform power modes (platform_request_handler_ctrl.c:2175 and platform_request_handler_ctrl.c:2118). Following this assertion failure, the driver marks Runtime D3 status: Not supported in /proc/driver/nvidia/gpus/0000:01:00.0/power.
This occurs despite user-space and kernel configurations being set correctly (NVreg_DynamicPowerManagement=0x02, udev runtime PM rules active, companion HD audio controller entering suspended/D3hot, and PCIe upstream bridge 0000:00:01.0 having d3cold_allowed=1).
To Reproduce
Markdown
- Boot a Lenovo LOQ 15IAX9 laptop (Intel Core i5-12600HX, RTX 3050 6GB Laptop GPU) into Linux with
nvidia-open(version 615.78.08). - Configure fine-grained dynamic power management in
/etc/modprobe.d/nvidia.conf:options nvidia NVreg_DynamicPowerManagement=0x02 Set runtime PM to auto for upstream PCIe root port (0000:00:01.0), GPU (0000:01:00.0), and audio (0000:01:00.1) via udev rules. Ensure no display server or application holds open references to the discrete GPU (fuser /dev/nvidia* is clean). Inspect driver runtime power interface: Bash cat /proc/driver/nvidia/gpus/0000:01:00.0/power Observe that Runtime D3 status reports Not supported. Inspect the kernel log: Bash sudo dmesg | grep -i PlatformRequestHandler Observe the assertion failures: NV_ERR_INVALID_DATA (0x00000025) returned from PlatformRequestHandler at platform_request_handler_ctrl.c:2175 and platform_request_handler_ctrl.c:2118.
Bug Incidence
Always
nvidia-bug-report.log.gz
More Info
Expected Behavior
When idle and with no active clients holding /dev/nvidia*, the discrete GPU should transition into Runtime D3 (D3cold) state to save power (~0W). Failure to retrieve platform target temperature or power modes from SBIOS (0x00000025 / NV_ERR_INVALID_DATA) should gracefully fall back to default driver thermal/power limits or be bypassed via a quirk, rather than completely disabling Runtime D3 platform support.
Additional Information
- The companion HD Audio controller (
0000:01:00.1) entersD3hot/suspendedwithout issue. - The upstream root port (
0000:00:01.0) hasd3cold_allowed=1and ASPM is active. - Under Windows on the exact same hardware, the dGPU powers down fully to D3cold / 0W, verifying that the hardware power-gating rails are fully capable of D3cold.
- Tested with both standard and custom ACPI OSI parameters (e.g.,
acpi_osi="Windows 2022"), but the SBIOS continues to return0x25toPlatformRequestHandlercalls in Linux.
- Dominant language
- C
- Stars
- 17.5k
- Forks
- 1.9k
- PR merge metrics
- No merged PRs in 30d
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing 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.
More from NVIDIA/open-gpu-kernel-modules
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
NVIDIA/open-gpu-kernel-modules#1479 · 2 comments ·
Maintainers usually reply within 1 day
-
PlatformRequestHandler: missing !bInit guard on bSystemParamLimitUpdate causes NV_ERR_INVALID_DATA at bootPossibly taken @SammyTourani claimed this 37 days ago. Open
Difficulty 1/5 Under an hour Newbie friendliness 88/100
NVIDIA/open-gpu-kernel-modules#1360 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
NVIDIA/open-gpu-kernel-modules#1343 · 3 comments ·
Maintainers usually reply within 1 day
-
HKC G27H7Pro redundant long-HPD loop after DisplayPort link training (RTX 5060 Laptop, 610.57.04)Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
NVIDIA/open-gpu-kernel-modules#1323 ·
Maintainers usually reply within 1 day
-
build-problem
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
NVIDIA/open-gpu-kernel-modules#1155 · 1 comment ·
Maintainers usually reply within 1 day
All issues in NVIDIA/open-gpu-kernel-modules
Similar issues
-
documentation severity: low
Difficulty 1/5 Under an hour Newbie friendliness 88/100
luainkernel/lunatik#2231 ·
Maintainers usually reply within 1 day
-
aspect ratio 16:10Openenhancement
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
Revivedx/SavageWindRecomp#402 ·
Maintainers usually reply within 1 day
-
cleanup help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
ESPresense/ESPresense#2602 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
apache/arrow-swift#209 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
libretiny-eu/libretiny#435 ·
Maintainers usually reply within 4 days