Off the top of my head, I would say you could try with the open source nouveau driver to see if that helps. If it does, try hibernate/resume with it and switch to the proprietary driver prior to display server start.
FWIW, here’s an archlinux thread describing the same NVIDIA+hibernation issue. The OP of that thread mentioned…
It appears that having early KMS (which requires the nvidia module to be in the initramfs) has a bad interaction with PreserveVideoMemoryAllocationsbeing enabled.
Another user mentioned…
I had the same problem, and you were right about the cause (early KMS). I stopped the early loading, and only used kernal parameter nvidia_drm.modeset=1. It can hibernate fine now.
I don’t own NVIDIA hardware so can only provide limited advice. I suppose not many use hibernate these days? Anyway, is the systemd nvidia-hibernate.serrvice enabled? systemctl list-unit-files --type=service | grep nvidia
Also discussed here.
I added these kernel parameters in YAST and tried rebooting and hibernating and I still cannot recover from hibernation. The errors on the screen look basically the same as before.
My concern with this approach is due to reading complaints that Nouveau drains the battery quicker on this model laptop (Dell XPS 9530) vs. the Nvidia drivers.
Is there a way to automate this process so that I can just hibernate as normal, or would I need to do all of these steps manually every time I want to hibernate?
Also, my sleep does not work correctly either, and my battery drains on sleep so I try to set up my power options to hibernate after so many minutes of sleeping. But if hibernate doesn’t work then I lose my work.
I reinstalled OpenSUSE TW-Slowroll this time I made sure to create a swap partition resized to my RAM size using guided setup.
At this point I have not installed any NVIDIA drivers and so OpenSUSE is just using the Intel graphics on the laptop.
If I choose “Hibernate,” now the laptop does hibernate and shut off but it wakes up from hibernation after a few seconds and shows the login screen. All of the items on the desktop are restored properly, though.
I am leaving the laptop screen lid open while doing this. Do I need to close the lid or something?
Disabling all of these at once definitely prevents the wakeup but then I cannot resume at all. Pressing the power button with all of these disabled actually results in a reboot of the system.
Disabling these one at a time is a huge pain in the butt because I need to reboot to see any changes. So having an idea of what I am disabling would help.