Last active
April 6, 2026 19:23
-
Star
(117)
You must be signed in to star a gist -
Fork
(3)
You must be signed in to fork a gist
-
-
Save bmcbm/375f14eaa17f88756b4bdbbebbcfd029 to your computer and use it in GitHub Desktop.
NVIDIA Suspend fix
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Use systemd for managing NVIDIA driver suspend in drivers ====>>> PRIOR to version 470 <<<===== | |
| # https://download.nvidia.com/XFree86/Linux-x86_64/450.66/README/powermanagement.html | |
| # https://forums.developer.nvidia.com/t/unable-to-set-nvidia-kernel-module-parameters/161306 | |
| # Please note: In Fedora Linux you may need to just install the xorg-x11-drv-nvidia-power pakage | |
| # as sugested by @goombah88 in the comments below. | |
| TMP_PATH=/var/tmp | |
| TMPL_PATH=/usr/share/doc/nvidia-driver-460/ | |
| echo "options nvidia NVreg_PreserveVideoMemoryAllocations=1 NVreg_TemporaryFilePath=${TMP_PATH}" | sudo tee /etc/modprobe.d/nvidia-power-management.conf | |
| sudo install --mode 644 "${TMPL_PATH}/nvidia-suspend.service" /etc/systemd/system | |
| sudo install --mode 644 "${TMPL_PATH}/nvidia-hibernate.service" /etc/systemd/system | |
| sudo install --mode 644 "${TMPL_PATH}/nvidia-resume.service" /etc/systemd/system | |
| sudo install "${TMPL_PATH}/nvidia" /lib/systemd/system-sleep | |
| sudo install "${TMPL_PATH}/nvidia-sleep.sh" /usr/bin | |
| sudo systemctl enable nvidia-suspend.service | |
| sudo systemctl enable nvidia-hibernate.service | |
| sudo systemctl enable nvidia-resume.service | |
Attempting to solve wake to unresponsive blackscreen on a Acer Nitro ANV16S-41 (Latest BIOS is 1.12) w/ RTX 5050
Archlinux w/ KDE 6.6.3
Not responsive to TTY swithc or SSH upon wake; have to SysRq reboot
Following ArchWiki - Preserve_video_memory_after_suspend
No useful errors in journalctl output?
$ cat /sys/class/dmi/id/product_name
Nitro ANV16S-41
$ cat /sys/class/dmi/id/bios_version
V1.12
$ uname -r
6.19.11-arch1-1
$ nvidia-smi --version
DRIVER version : 595.58.03
$ cat /etc/modprobe.d/blacklist.conf
blacklist amdgpu
$ systemctl is-enabled nvidia-suspend.service nvidia-hibernate.service nvidia-resume.service
disabled
disabled
disabled
$ cat /etc/modprobe.d/nvidia.conf
options nvidia-drm modeset=1
options nvidia NVreg_PreserveVideoMemoryAllocations=1
options nvidia NVreg_TemporaryFilePath=/var/tmp
$ cat /boot/loader/entries/2025-11-28_23-23-32_linux.conf
options ..... nvidia_drm.modeset=1
$ sort /proc/driver/nvidia/params | grep -iE 'Preserve|Kernel|Temp'
PreserveVideoMemoryAllocations: 1
TemporaryFilePath: "/var/tmp"
UseKernelSuspendNotifiers: 1
$ journalctl -b -1 --no-hostname -n30
Apr 06 13:52:15 NetworkManager[799]: <info> [1775449335.4799] device (wlan0): set-hw-addr: set MAC address to CE:E3:6C:F8:F3:71 (scanning)
Apr 06 13:52:15 NetworkManager[799]: <info> [1775449335.5498] device (wlan0): state change: disconnected -> unmanaged (reason 'unmanaged-nm-disabled', managed-type: 'full')
Apr 06 13:52:15 NetworkManager[799]: <info> [1775449335.5967] device (wlan0): set-hw-addr: reset MAC address to 50:BB:B5:0A:68:A8 (unmanage)
Apr 06 13:52:15 systemd[1]: Reached target Sleep.
Apr 06 13:52:15 systemd[1]: Starting System Suspend...
Apr 06 13:52:15 wpa_supplicant[1087]: p2p-dev-wlan0: CTRL-EVENT-DSCP-POLICY clear_all
Apr 06 13:52:15 wpa_supplicant[1087]: p2p-dev-wlan0: CTRL-EVENT-DSCP-POLICY clear_all
Apr 06 13:52:15 wpa_supplicant[1087]: nl80211: deinit ifname=p2p-dev-wlan0 disabled_11b_rates=0
Apr 06 13:52:15 systemd-sleep[2351]: User sessions remain unfrozen on explicit request ($SYSTEMD_SLEEP_FREEZE_USER_SESSIONS=0).
Apr 06 13:52:15 systemd-sleep[2351]: This is not recommended, and might result in unexpected behavior, particularly
Apr 06 13:52:15 systemd-sleep[2351]: in suspend-then-hibernate operations or setups with encrypted home directories.
Apr 06 13:52:15 wpa_supplicant[1087]: wlan0: CTRL-EVENT-DSCP-POLICY clear_all
Apr 06 13:52:15 systemd-sleep[2351]: Performing sleep operation 'suspend'...
Apr 06 13:52:15 kernel: PM: suspend entry (s2idle)
Apr 06 13:52:15 kernel: Filesystems sync: 0.007 seconds
Apr 06 13:52:15 wpa_supplicant[1087]: wlan0: CTRL-EVENT-DSCP-POLICY clear_all
Apr 06 13:52:15 wpa_supplicant[1087]: nl80211: deinit ifname=wlan0 disabled_11b_rates=0
Apr 06 13:52:15 plasmashell[1324]: No object for name "alsa_input.pci-0000_64_00.6.analog-stereo"
Apr 06 13:52:15 kded6[1307]: No object for name "alsa_input.pci-0000_64_00.6.analog-stereo"
Apr 06 13:52:15 kded6[1307]: No object for name "alsa_output.pci-0000_64_00.6.analog-stereo"
Apr 06 13:52:15 kded6[1307]: No object for name "alsa_input.pci-0000_64_00.6.analog-stereo"
Apr 06 13:52:15 plasmashell[1324]: No object for name "alsa_output.pci-0000_64_00.6.analog-stereo"
Apr 06 13:52:15 plasmashell[1324]: No object for name "alsa_input.pci-0000_64_00.6.analog-stereo"
Apr 06 13:52:15 kded6[1307]: No object for name "@DEFAULT_SINK@"
Apr 06 13:52:15 kded6[1307]: No object for name "@DEFAULT_SOURCE@"
Apr 06 13:52:15 plasmashell[1324]: No object for name "@DEFAULT_SINK@"
Apr 06 13:52:15 plasmashell[1324]: No object for name "@DEFAULT_SOURCE@"
Apr 06 13:52:15 kded6[1307]: No object for name "@DEFAULT_SINK@"
Apr 06 13:52:15 kded6[1307]: No object for name "@DEFAULT_SOURCE@"
Apr 06 13:52:15 plasmashell[1324]: No object for name "@DEFAULT_SINK@"
$ journalctl -b -1 --no-hostname | grep -iE "nvidia|gpu|drm|kwin"
Apr 06 13:37:07 kernel: Command line: initrd=\initramfs-linux.img root=PARTUUID=a551359f-39b5-4ef6-8bc2-96c50912db5b zswap.enabled=0 rw rootfstype=ext4 nvidia_drm.modeset=1
Apr 06 13:37:07 kernel: Kernel command line: initrd=\initramfs-linux.img root=PARTUUID=a551359f-39b5-4ef6-8bc2-96c50912db5b zswap.enabled=0 rw rootfstype=ext4 nvidia_drm.modeset=1
Apr 06 13:37:07 kernel: ACPI: bus type drm_connector registered
Apr 06 13:37:07 kernel: simple-framebuffer simple-framebuffer.0: [drm] Registered 1 planes with drm panic
Apr 06 13:37:07 kernel: [drm] Initialized simpledrm 1.0.0 for simple-framebuffer.0 on minor 0
Apr 06 13:37:07 kernel: simple-framebuffer simple-framebuffer.0: [drm] fb0: simpledrmdrmfb frame buffer device
Apr 06 13:37:07 kernel: nvidia: loading out-of-tree module taints kernel.
Apr 06 13:37:07 kernel: nvidia: module verification failed: signature and/or required key missing - tainting kernel
Apr 06 13:37:07 kernel: nvidia-nvlink: Nvlink Core is being initialized, major device number 239
Apr 06 13:37:07 kernel: nvidia 0000:01:00.0: vgaarb: VGA decodes changed: olddecodes=io+mem,decodes=none:owns=none
Apr 06 13:37:07 kernel: NVRM: loading NVIDIA UNIX Open Kernel Module for x86_64 595.58.03 Release Build (root@)
Apr 06 13:37:07 kernel: nvidia-modeset: Loading NVIDIA UNIX Open Kernel Mode Setting Driver for x86_64 595.58.03 Release Build (root@)
Apr 06 13:37:07 kernel: [drm] [nvidia-drm] [GPU ID 0x00000100] Loading driver
Apr 06 13:37:07 kernel: [drm] Initialized nvidia-drm 0.0.0 for 0000:01:00.0 on minor 1
Apr 06 13:37:07 kernel: nvidia 0000:01:00.0: vgaarb: deactivate vga console
Apr 06 13:37:07 kernel: fbcon: nvidia-drmdrmfb (fb0) is primary device
Apr 06 13:37:07 kernel: nvidia 0000:01:00.0: [drm] fb0: nvidia-drmdrmfb frame buffer device
Apr 06 13:37:07 systemd[1]: Load Kernel Module drm skipped, unmet condition check ConditionKernelModuleLoaded=!drm
Apr 06 13:37:08 systemd[1]: Starting Load/Save Screen Backlight Brightness of backlight:nvidia_0...
Apr 06 13:37:08 systemd[1]: Finished Load/Save Screen Backlight Brightness of backlight:nvidia_0.
Apr 06 13:37:09 kernel: input: HDA NVidia HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:01.1/0000:01:00.1/sound/card0/input24
Apr 06 13:37:09 kernel: input: HDA NVidia HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:01.1/0000:01:00.1/sound/card0/input25
Apr 06 13:37:09 kernel: input: HDA NVidia HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:01.1/0000:01:00.1/sound/card0/input26
Apr 06 13:37:09 kernel: input: HDA NVidia HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:01.1/0000:01:00.1/sound/card0/input27
Apr 06 13:37:12 kwin_wayland[1144]: No backend specified, automatically choosing drm
Apr 06 13:37:14 systemd[1]: Created slice Slice /system/dbus-:1.2-org.kde.powerdevil.discretegpuhelper.
Apr 06 13:37:14 systemd[1]: Started dbus-:1.2-org.kde.powerdevil.discretegpuhelper@0.service.
Apr 06 13:37:14 kwin_wayland[1144]: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Unable to open /proc/1144/root")
Apr 06 13:37:14 kwin_wayland[1144]: Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Unable to open /proc/1144/root")
Apr 06 13:37:23 systemd[1]: dbus-:1.2-org.kde.powerdevil.discretegpuhelper@0.service: Deactivated successfully.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
On Debian 13 (Trixie) I have fiddled with nvidia CUDA toolkit installed from https://developer.nvidia.com/cuda-downloads, then uninstalled it and opted for the Debian native packages (
nvidia-cuda-toolkit).As reported by others here, after the reboot suspend is broken, and there are broken symlinks:
In my case though, I fixed not by removing the symlinks, but by restoring the targets:
sudo apt remove nvidia-suspend-common sudo apt install nvidia-suspend-common ls -l /usr/lib/systemd/system/nvidia* -rw-r--r-- 1 root root 270 8 apr 2025 /usr/lib/systemd/system/nvidia-hibernate.service -rw-r--r-- 1 root root 1501 17 dic 02.37 /usr/lib/systemd/system/nvidia-persistenced.service -rw-r--r-- 1 root root 321 8 apr 2025 /usr/lib/systemd/system/nvidia-resume.service -rw-r--r-- 1 root root 258 8 apr 2025 /usr/lib/systemd/system/nvidia-suspend.serviceNow the symlinks are not broken anymore and suspend/resume works again! Hope this helps