[565.77.3] GTX 970 no video in X11 on resume from suspend (again)

About a year ago I was having issues with getting video on suspend with my GTX 970 as outlined in this bug.

Since updating from driver version 550 to 560 and then 565, the same behaviour is happening again, albeit SSH is not affected and I do get video if I log out of X (pkill -15 openbox) and go back to the console. Suspending and resuming from the console works as well.

I have options nvidia NVreg_PreserveVideoMemoryAllocations=0 set in modprobe.conf as otherwise suspend isn’t attempted at all. I think this is because PVMA requires systemd, which my distro (Artix Linux) does not use.

I’ve attached a log that I took through SSH just after resuming and getting the black screen.
nvidia-bug-report.log.gz (809.4 KB)
I also ran dmesg, which gave:

[ 1411.051372] NVRM: GPU at PCI:0000:01:00: GPU-2db68d4b-576a-eacc-6aa4-b122c012879c
[ 1411.051376] NVRM: Xid (PCI:0000:01:00): 13, pid=‘’, name=, Graphics Exception: Shader Program Header 1 Error
[ 1411.051379] NVRM: Xid (PCI:0000:01:00): 13, pid=‘’, name=, Graphics Exception: Shader Program Header 2 Error
[ 1411.051381] NVRM: Xid (PCI:0000:01:00): 13, pid=‘’, name=, Graphics Exception: Shader Program Header 3 Error
[ 1411.051382] NVRM: Xid (PCI:0000:01:00): 13, pid=‘’, name=, Graphics Exception: Shader Program Header 9 Error
[ 1411.051384] NVRM: Xid (PCI:0000:01:00): 13, pid=‘’, name=, Graphics Exception: Shader Program Header 18 Error
[ 1411.051385] NVRM: Xid (PCI:0000:01:00): 13, pid=‘’, name=, Graphics Exception: Shader Program Header 22 Error
[ 1411.051387] NVRM: Xid (PCI:0000:01:00): 13, pid=‘’, name=, Graphics Exception: ESR 0x405840=0xa044020e
[ 1411.051391] NVRM: Xid (PCI:0000:01:00): 13, pid=‘’, name=, Graphics Exception: ESR 0x405848=0x80000000
[ 1411.051516] NVRM: Xid (PCI:0000:01:00): 13, pid=‘’, name=, Graphics Exception: ChID 0008, Class 0000b197, Offset 00002390, Data 44820000

The issue hasn’t gone away. Can this be escalated please?

Issue still here with nvidia 570.86.16-2, kernel 6.12.12-1-lts

While a solution is being found, I’ve found 2 potential workarounds:

  1. Add the following lines to /etc/modprobe.d/nvidia.conf and suspend normally
options nvidia NVreg_PreserveVideoMemoryAllocations=0                           
options nvidia_drm modeset=0
  1. Leave /etc/modprobe.d/nvidia.conf empty and use a custom command to suspend:

bash -c "/usr/bin/nvidia-sleep.sh suspend; echo mem > /sys/power/state; /usr/bin/nvidia-sleep.sh resume"