Suspend/Resume black screen fixable only by exit 0 in nvidia-sleep.sh

[size=150]Suspend/Resume causes black screen with Nvidia drivers (Linux Mint 21/22)[/size]

Hi,

On both Linux Mint 21 and 22 (Cinnamon) I experience a persistent issue:

[list]
[*] After suspend and resume, the screen remains black.
[*] The system is otherwise responsive (e.g. via SSH), but there is no display output and no accessible TTY.
[*] I have to force reboot the computer to recover.
[/list]

System details:
[list]
[*] Distribution: Linux Mint 21 / 22 here: Linux Mint 22.1
[*] Kernel: 6.8.0-62-generic
[*] GPU: NVIDIA Corporation GK107 [NVS 510] (rev a1)
[*] Driver version: [470.256.02]
[*] Desktop/Laptop: [MSI X79A-GD45 (8D) (MS-7760)]
[/list]

Workaround that works:

Editing /usr/bin/nvidia-sleep.sh and adding:

exit 0

→ completely resolves the issue. Suspend/Resume works perfectly after that.

Problem:

This change is overwritten after Nvidia driver updates, so I have to reapply it each time.

My questions:

[list=1]
[*] Why is nvidia-sleep.sh causing the black screen, while simply skipping it (exit 0) fixes suspend/resume entirely?
[*] Is this a known issue with certain GPU architectures (Turing/Kepler etc.)?
[*] Can Nvidia provide an official option to disable or modify sleep hooks to avoid overwriting manual fixes?
[/list]

I cannot run nvidia-bug-report.sh after resume because the screen remains black and I need to force reboot. Please advise if there is a way to collect useful logs under these conditions.

Thank you very much for your support.

[Matze]

First, to generate a bug report with the nvidia-bug-report.sh, go into tty mode by pressing Ctrl+Alt+F2 or Ctrl+Alt+Fn+F2. Once there, log-in with your username and password. Then run sudo nvidia-bug-report.sh or doas nvidia-bug-report.sh, enter your password in once again, and your bug report should be generated properly, as default in your home directory according to the username you logged in with. To upload it, you should first connect a clean USB drive formatted in a Linux-compatible file system to your computer and copy over the newly generated nvidia-bug-report.log.gz in your home directory to the mount point of your USB drive. If you don’t know how to mount your USB drive from terminal, you can look up some YouTube videos regarding that. Otherwise, that’s what I need to generate an nvidia-bug-report.log.gz on FreeBSD 14.3 with a black screen, it should work for you, too. If you still can’t enter tty, try adding the kernel parameter nomodeset to the end of the cmdline in your Grub entry, that was what made black screen stop but acceleration not work on my Fedora Linux setup. If none of these work I suggest you try another operating system, Fedora Linux is a simple yet powerful distro that, in my opinion, is worth a try. If you want a distro that provides proprietary official Nvidia driver by default that is very similar to Fedora, Nobara is the one I am currently using and it’s very good.

Hope that helps,
Trijal Saha