Resume often fails with Nvidia graphics
In the last months I often had the issue, that resume from hibernate fails. This is probably caused by a configuration issue with my Nvidia GeForce GTX 1050 Ti, but I am not sure. The configuration follows the recommendations in the NVIDIA-Linux-x86_64-545.29.02/README.txt file, chapter "Chapter 21. Configuring Power Management Support". I use the Nvidia RPM drivers 545.29.06 from nvidia-tumbleweed. # cat /etc/modprobe.d/nvidia.conf options nvidia NVreg_PreserveVideoMemoryAllocations=1 NVreg_TemporaryFilePath=/var/tmp The "dmesg" output shows a message "PreserveVideoMemoryAllocations module parameter is set. System Power Management attempted without driver procfs suspend interface. Please refer to the 'Configuring Power Management Support' section in the driver README." during resume. # dmesg -T [Wed Jan 10 16:43:51 2024] PM: Using 3 thread(s) for decompression [Wed Jan 10 16:43:51 2024] PM: Loading and decompressing image data (1118391 pages)... [Wed Jan 10 16:43:51 2024] PM: Image loading progress: 0% [Wed Jan 10 16:43:53 2024] PM: Image loading progress: 10% [Wed Jan 10 16:43:54 2024] PM: Image loading progress: 20% [Wed Jan 10 16:43:55 2024] PM: Image loading progress: 30% [Wed Jan 10 16:43:56 2024] PM: Image loading progress: 40% [Wed Jan 10 16:43:57 2024] PM: Image loading progress: 50% [Wed Jan 10 16:43:58 2024] PM: Image loading progress: 60% [Wed Jan 10 16:43:59 2024] PM: Image loading progress: 70% [Wed Jan 10 16:44:01 2024] PM: Image loading progress: 80% [Wed Jan 10 16:44:02 2024] PM: Image loading progress: 90% [Wed Jan 10 16:44:03 2024] PM: Image loading progress: 100% [Wed Jan 10 16:44:03 2024] PM: Image loading done [Wed Jan 10 16:44:03 2024] PM: hibernation: Read 4473564 kbytes in 11.29 seconds (396.24 MB/s) [Wed Jan 10 16:44:03 2024] PM: Image successfully loaded [Wed Jan 10 16:44:03 2024] printk: Suspending console(s) (use no_console_suspend to debug) [Wed Jan 10 16:44:03 2024] NVRM: GPU 0000:01:00.0: PreserveVideoMemoryAllocations module parameter is set. System Power Management attempted without driver procfs suspend interface. Please refer to the 'Configuring Power Management Support' section in the driver README. [Wed Jan 10 16:44:03 2024] nvidia 0000:01:00.0: PM: pci_pm_freeze(): nv_pmops_freeze+0x0/0x20 [nvidia] returns -5 [Wed Jan 10 16:44:03 2024] nvidia 0000:01:00.0: PM: dpm_run_callback(): pci_pm_freeze+0x0/0xc0 returns -5 [Wed Jan 10 16:44:03 2024] nvidia 0000:01:00.0: PM: failed to quiesce async: error -5 [Wed Jan 10 16:44:03 2024] PM: hibernation: Failed to load image, recovering. [Wed Jan 10 16:44:03 2024] PM: hibernation: Basic memory bitmaps freed [Wed Jan 10 16:44:03 2024] OOM killer enabled. [Wed Jan 10 16:44:03 2024] Restarting tasks ... done. [Wed Jan 10 16:44:03 2024] PM: hibernation: resume failed (-5) # systemctl list-dependencies systemd-hibernate.service systemd-hibernate.service ○ ├─nvidia-hibernate.service ○ ├─nvidia-resume.service ● ├─system.slice ○ └─sleep.target # systemctl status nvidia-hibernate.service ○ nvidia-hibernate.service - NVIDIA system hibernate actions Loaded: loaded (/usr/lib/systemd/system/nvidia-hibernate.service; enabled; preset: disabled) Active: inactive (dead) # systemctl status nvidia-resume.service ○ nvidia-resume.service - NVIDIA system resume actions Loaded: loaded (/usr/lib/systemd/system/nvidia-resume.service; enabled; preset: disabled) Active: inactive (dead) Any ideas? Björn
On 10.01.24 17:25, Bjoern Voigt wrote:
[Wed Jan 10 16:44:03 2024] NVRM: GPU 0000:01:00.0: PreserveVideoMemoryAllocations module parameter is set. System Power Management attempted without driver procfs suspend interface. Please refer to the 'Configuring Power Management Support' section in the driver README. [Wed Jan 10 16:44:03 2024] nvidia 0000:01:00.0: PM: pci_pm_freeze(): nv_pmops_freeze+0x0/0x20 [nvidia] returns -5 [Wed Jan 10 16:44:03 2024] nvidia 0000:01:00.0: PM: dpm_run_callback(): pci_pm_freeze+0x0/0xc0 returns -5 [Wed Jan 10 16:44:03 2024] nvidia 0000:01:00.0: PM: failed to quiesce async: error -5 [Wed Jan 10 16:44:03 2024] PM: hibernation: Failed to load image, recovering. [Wed Jan 10 16:44:03 2024] PM: hibernation: Basic memory bitmaps freed [Wed Jan 10 16:44:03 2024] OOM killer enabled. [Wed Jan 10 16:44:03 2024] Restarting tasks ... done. [Wed Jan 10 16:44:03 2024] PM: hibernation: resume failed (-5)
# systemctl list-dependencies systemd-hibernate.service systemd-hibernate.service ○ ├─nvidia-hibernate.service ○ ├─nvidia-resume.service ● ├─system.slice ○ └─sleep.target # systemctl status nvidia-hibernate.service ○ nvidia-hibernate.service - NVIDIA system hibernate actions Loaded: loaded (/usr/lib/systemd/system/nvidia-hibernate.service; enabled; preset: disabled) Active: inactive (dead) # systemctl status nvidia-resume.service ○ nvidia-resume.service - NVIDIA system resume actions Loaded: loaded (/usr/lib/systemd/system/nvidia-resume.service; enabled; preset: disabled) Active: inactive (dead)
I was able to improve the reliability of the Nvidia suspend/resume tasks a bit. With the change resume now worked several times. I added "sleep 10" to /usr/bin/nvidia-sleep.sh: case "$1" in suspend|hibernate) [...] echo "$1" > /proc/driver/nvidia/suspend && sleep 10 resume) echo "$1" > /proc/driver/nvidia/suspend && sleep 10 [...] Björn
participants (1)
-
Bjoern Voigt