Last active
August 8, 2026 21:50
-
Star
(120)
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 | |
nil change, interestingly NVreg_UseKernelSuspendNotifiers=0 won't change the loaded value for me
$ uname -r
7.0.12-arch1-1
$ nvidia-smi --version
NVIDIA-SMI version : 610.43.02
NVML version : 610.43
$ bootctl
...
Secure Boot: disabled
$ systemctl is-enabled nvidia-suspend.service nvidia-hibernate.service nvidia-resume.service
enabled
enabled
enabled
$ cat /etc/modprobe.d/nvidia.conf
options nvidia NVreg_PreserveVideoMemoryAllocations=1
options nvidia NVreg_TemporaryFilePath=/var/tmp
options nvidia NVreg_UseKernelSuspendNotifiers=0
$ sort /proc/driver/nvidia/params | grep -iE 'Preserve|Kernel|Temp'
PreserveVideoMemoryAllocations: 1
TemporaryFilePath: "/var/tmp"
UseKernelSuspendNotifiers: 1
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@atirutw and @Thermionix, you might want to look at NVIDIA/open-gpu-kernel-modules#1142.
Setting
NVreg_UseKernelSuspendNotifiers=0andNVreg_PreserveVideoMemoryAllocations=1in the kernel parameters as recommended in NVIDIA/open-gpu-kernel-modules#1142 (comment) fixed the issue on my laptop:The issue seems to be related to SELinux and I guess we can only wait for newer drivers to manage the issue in a better way.
Note that I have SecureBoot (and full disk encryption) enabled on my system, so hibernation is not possible (hence the
suspend-then-hibernateandhibernateservices are disabled).