nvidia-utils: Add nvidia-suspend.service override
Add systemd-suspend-then-hibernate.service and systemd-hybrid-sleep.service
to Before=
and WantedBy=
.
Currently they only reference systemd-suspend.service
, which as reported in
https://bbs.archlinux.org/viewtopic.php?id=300707 results in a failure to suspend
when the suspend mode is suspend-then-hibernate
or hybrid-suspend
, as used
e.g. by systemctl sleep
. Example log entries on failure:
2025-02-01T15:59:01+01:00 precision kernel: NVRM: GPU 0000:01:00.0: PreserveVideoMemoryAllocations module parameter is set. System Power Management attempted without driver procfs suspend in
terface. Please refer to the 'Configuring Power Management Support' section in the driver README.
2025-02-01T15:59:01+01:00 precision kernel: nvidia 0000:01:00.0: PM: pci_pm_suspend(): nv_pmops_suspend [nvidia] returns -5
2025-02-01T15:59:01+01:00 precision kernel: nvidia 0000:01:00.0: PM: dpm_run_callback(): pci_pm_suspend returns -5
2025-02-01T15:59:01+01:00 precision kernel: nvidia 0000:01:00.0: PM: failed to suspend async: error -5
2025-02-01T15:59:01+01:00 precision kernel: PM: Some devices failed to suspend, or early wake event detected
All credits go to Arch forum user @johntitor who provided the solution.