Hi Tracy.11011012 and all,
Just wanted to add a data point that may support this fix, though I'm still in the verification phase myself.
I'm running Debian 12 (Plasma 5) on a Dell XPS8700 with an NVIDIA GTX 1070 Ti (also Pascal). I had originally upgraded from the proprietary 535 driver to a pinned 580 driver branch specifically to fix a separate long-running-session freeze issue, so my environment is close to what's described here — proprietary NVIDIA driver, Pascal GPU, similar kernel-era setup.
On this driver I was hitting the same suspend/resume failure pattern described in this thread — GPU reinit errors on resume (GPU class: Unknown, GPU process launch failed), occasionally escalating to a full system freeze requiring a hard reset.
I applied the same fix mentioned above:
options nvidia NVreg_PreserveVideoMemoryAllocations=1
in /etc/modprobe.d/, followed by update-initramfs -u and a reboot.
I want to be clear this is not confirmed yet — I'm only a few days in, monitoring after each suspend/resume cycle with:
sudo journalctl -k -b 0 --since "10 minutes ago" | grep -iE "GPU class: Unknown|GPU process launch failed|NVRM"
No errors so far, but I'm planning to observe for about two weeks before calling it resolved, since this class of bug has a history of going quiet for over a week and then recurring.
Separately, with some AI-assisted research (Claude), I dug into NVIDIA's official forums and found this suspend/resume reinit failure has been reported continuously across driver branches from roughly 370.x up through 595.x, spanning GPU generations from Maxwell (GTX900) all the way to Ada Lovelace (RTX40-series) — so it looks like a long-standing, unresolved issue rather than anything specific to one GPU generation or distro.
I also multi-boot Zorin OS 18.1 on the same machine (same GPU), and given that this thread itself is about Zorin OS 18.1, I'd guess there's a good chance the same issue shows up there too — I'll likely apply the same fix there once I've got enough stable cycles on the Debian side.
Just sharing in case it's useful as another data point for anyone else finding this thread.