My system config is different from yours, but thought I’d suggest this just in case it helps you, since you said:
Already purged all sytemctl processes related to suspend / hibernate / etc.
My system:
- Ubuntu 22.04
- GPU: GeForce 980 Ti
- Driver: 515.65.01
Probably the most important difference between our situations is that I’m using my nvidia card for video output, so I’m guessing you’ll want to cherry-pick from my steps below.
I tried tons of permutations of the suggested fixes I found online, and I think the suggestion to delete all nvidia suspend/hibernate services threw me off. Resuming from hibernate/suspend is finally working for me, and I have the following services:
~$ find /etc/systemd -iname nv*
/etc/systemd/system/systemd-hibernate.service.wants/nvidia-hibernate.service
/etc/systemd/system/systemd-hibernate.service.wants/nvidia-resume.service
/etc/systemd/system/systemd-suspend.service.wants/nvidia-suspend.service
/etc/systemd/system/systemd-suspend.service.wants/nvidia-resume.service
If you only removed the symlinks from within the /etc/systemd directory, you can add them back like this:
sudo ln -s /lib/systemd/system/nvidia-hibernate.service /etc/systemd/system/systemd-hibernate.service.wants/nvidia-hibernate.service
sudo ln -s /lib/systemd/system/nvidia-resume.service /etc/systemd/system/systemd-hibernate.service.wants/nvidia-resume.service
sudo ln -s /lib/systemd/system/nvidia-suspend.service /etc/systemd/system/systemd-suspend.service.wants/nvidia-suspend.service
sudo ln -s /lib/systemd/system/nvidia-resume.service /etc/systemd/system/systemd-suspend.service.wants/nvidia-resume.service
The full process that finally got the 515 driver working properly for me
Below is the process that worked for me. Your mileage may vary. I’m using my swap partition for hibernate/resume. If you don’t need hibernate (just suspend), you can skip step 1.
-
Add resume=UUID=<my_swap_uuid>
to GRUB_CMDLINE_LINUX_DEFAULT
in /etc/default/grub.
-
Add nouveau.blacklist=1
to GRUB_CMDLINE_LINUX_DEFAULT
in /etc/default/grub. So for me, that line looks like this:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=<my_swap_uuid> nouveau.blacklist=1"
-
Run sudo update-grub
so that the changes take effect on the next boot.
-
Remove everything nvidia-related (this is probably excessive, but I was frustrated):
sudo apt remove -y --purge '^nvidia-.*'
sudo apt autoremove -y $(dpkg -l xserver-xorg-video-nvidia* | grep ii | awk '{print $2}')
sudo apt remove -y libnvidia-compute-* linux-objects-nvidia-* linux-signatures-nvidia-*
sudo apt autoremove -y
sudo rm /etc/modprobe.d/nvidia-power-management.conf
- Remove and blacklist the Nouveau driver (again, some of this is probably excessive/redundant):
sudo apt remove --purge xserver-xorg-video-nouveau
sudo bash -c "echo blacklist nouveau > /etc/modprobe.d/blacklist-nvidia-nouveau.conf" && sudo bash -c "echo options nouveau modeset=0 >> /etc/modprobe.d/blacklist-nvidia-nouveau.conf"
-
Install nvidia driver version 515:
sudo ubuntu-drivers install nvidia:515
-
Add /etc/modprobe.d/nvidia-power-management.conf:
sudo bash -c "echo options nvidia NVreg_PreserveVideoMemoryAllocations=1 > /etc/modprobe.d/nvidia-power-management.conf"
-
Back up and update initramfs:
sudo cp /boot/initrd.img-$(uname -r) ~/initrd.img-$(uname -r)_backup
sudo update-initramfs -uv
- Reboot with fingers crossed.