Environment:
-
Driver: 595.71.05 (nvidia-open-lts, open kernel modules)
-
Kernel: 6.18.26-2-lts
-
Hardware: RTX 3080 Mobile (Optimus/hybrid), Ryzen 5900HX
-
Sleep state: s2idle (Modern Standby - S3 not available on this platform)
-
Display server: Xorg
Config (/etc/modprobe.d/nvidia-power.conf):
options nvidia NVreg_DynamicPowerManagement=0x02 NVreg_PreserveVideoMemoryAllocations=1
Also present (from /usr/lib/modprobe.d/nvidia-sleep.conf, set by the nvidia package):
options nvidia NVreg_UseKernelSuspendNotifiers=1
nvidia-suspend/hibernate/resume systemd services are disabled
What happens:
System enters s2idle sleep normally. On wake, one of two outcomes:
-
Session lost: display manager restarts, all open applications gone (GPU reset killed the compositor)
-
Black screen with kernel logs visible: GPU driver dead, kernel alive — recover via
Ctrl+Alt+F2
Root cause from kernel logs:
On wake from s2idle, the GPU panics (Xid 120).
nvidia-bug-report.log.gz (270.0 KB)
The display compositor loses its GPU connection and crashes, causing the full session to be lost and the display manager to restart.
The crash is also triggered by an ACPI battery_notify event:
battery_notify+0xea/0x160
nv_pm_notifier+0x35/0xa0
notifier_call_chain
pm_suspend.cold
Key log lines
NVRM: Xid (PCI:0000:01:00): 120, GSP task panic: unknown error (0) @ pc:0x1a0c3fc, aux:0x0, partition:2#0, task:3
NVRM: Xid (PCI:0000:01:00): 154, GPU recovery action changed from 0x0 (None) to 0x1 (GPU Reset Required)
NVRM: GPU0 nvAssertOkFailedNoLog: Assertion failed: Generic Error: Invalid state [NV_ERR_INVALID_STATE] (0x00000040) returned from mmuWalkUnmap(userCtx.pGpuState->pWalk, vaLo, vaHi) @ gpu_vaspace.c:2084
NVRM: GPU0 nvAssertFailedNoLog: Assertion failed: (pKernelBus->pReadToFlush != NULL || pKernelBus->virtualBar2[GPU_GFID_PF].pCpuMapping != NULL) @ kern_bus_gv100.c:388
NVRM: GPU0 nvCheckOkFailedNoLog: Check failed: Reset required [NV_ERR_RESET_REQUIRED] (0x00000062) returned from _gpushareddataSendDataPollRpc(...)
NVRM: GPU0 nvCheckOkFailedNoLog: Check failed: Reset required [NV_ERR_RESET_REQUIRED] (0x00000062) returned from kbusSendBusInfo(...) @ kern_bus_ctrl.c:257
Earlier boots also showed:
NVRM: RmHandleDNotifierEvent: Failed to handle ACPI D-Notifier event, status=0x11
NVRM: kgspHealthCheck_TU102: GSP-CrashCat Report
NVRM: scause:0x0000000000000002 (illegal instruction)
NVRM: gpuPowerManagementResume: GSP boot failed at resume (bootMode 0x1): 0x62
Workaround:
Switching to NVreg_DynamicPowerManagement=0x01 resolves the suspend crash. The GPU no longer power-gates when idle, but system sleep works correctly.