[470][Regression][Quadro K620] Regression vs 460 & 390 : hangs on resume from suspend

My distro (KUbuntu 20.04) recently upgraded the nvidia 460 series package to 470. Since then, I have been unable to properly resume from suspending the computer : when doing so, the screen remains “no signal” and the computer is irresponsive (no reaction to AltSysReq, mahcine not pingable, nothing in journalctl after the suspend point) ; USB devices are powered though.

Note that this is different from the infamous bug that has been plaguing me and other for years, where changing virtual terminals (also when going to suspend) would cause the driver to crash if the machine was booted in UEFI-only mode.

In the present situation, I can go from VT to VT without problem. And when requested, the computer actually goes into suspend.

I tried the 510 series driver but it is no better in that respect.

Since Ubuntu’s nvidia-driver-460 is now just a transitional package to 470, I am not able to check how things go with 460 (but I had been using that version for months and do not remember such a behaviour). I had to downgrade to 390, which does not exhibit this bug.

Here attached are the nvidia bug report logs for versions 390, 470 and 510. I quickly diffed them, but the details are beyond my understanding. Noteworthy might be that 390 uses a different IRQ from 470 & 510, and that some module options are different.
nvidia-390-470-510.tar.gz (701.0 KB)

The computer is a Dell Precision 3620. When the bug started to occur, I upgraded my BIOS to the latest version, to no avail. I also tried with some earlier kernel versions.

It seems you have the nvidia suspend/resume systemd units enabled while PreserveVideoMemoryAllocations is set to 0.
Please check if setting it to 1 or disabling the systemd units help.
https://download.nvidia.com/XFree86/Linux-x86_64/495.44/README/powermanagement.html

1 Like

I tried setting PreserveVideoMemoryAllocations to 1. To do so, I created a file /etc/modprobe.d/modprobe.conf containing options nvidia PreserveVideoMemoryAllocations=1, then I did update-initramfs -u. After rebooting, I checked the contents of /proc/driver/nvidia/params to see that the option was active. Suspending with this still exhibits the problem.

So I reverted that (removing the line in the modprobe file and doing initramfs again) and disabled the services with systemctl disable nvidia-suspend.service (and hibernate and resume too). Now suspend/resume seems to work correctly.

Thanks a lot !

Note : disabling the services while having PreserveVideoMemoryAllocations to 1 (because I forgot to initramfs after unsetting the option, I presume) causes suspend to fail and auto-resume immediately, but as I understand that is to be expected.

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.