Not Coming Back From Suspend

I’ve seen various people report this issue and various solutions that did and did not work for people.
I can get the screen back by doing variations of the following
ctrl + alt + f7
ctrl + alt + f1
ctrl + alt + f7
Otherwise I get to the original console and can ctrl-c X and restart

The following version works 100%, wakes up from suspend every single time
NVIDIA-Linux-x86_64-440.44.run

The following versions cannot wake up from suspend correctly:
NVIDIA-Linux-x86_64-455.46.04.run
NVIDIA-Linux-x86_64-460.73.01.run
NVIDIA-Linux-x86_64-465.24.02.run

nvidia-bug-report.log.gz (1.1 MB)

Please try to set up this:
https://download.nvidia.com/XFree86/Linux-x86_64/460.67/README/powermanagement.html

Oh, thanks for the reply! Unfortunately I don’t use systemd, I use Sysvinit(LFS). If systemd is required, I will stick to 440.44 until I can’t anymore. When I have to upgrade, I will disable the power savings management. Thanks again.

Please check if setting the module parameter alone has an influence on this.

Sorry I cannot do that, thanks anyway.

systemd is not required, it’s just the default that the installer has support for.

You can still use the old-style suspend & resume by not setting the NVreg_PreserveVideoMemoryAllocations=1 module parameter for the nvidia module. From your bug report it looks like you don’t have that set, so nothing is supposed to have changed about suspend & resume.

If you do want to try the new suspend path, the only requirements are to set NVreg_PreserveVideoMemoryAllocations=1 and then be sure to trigger nvidia-sleep.sh before suspending and after resuming. That’s what the systemd units do but you can do it yourself using a script or something.

#!/bin/bash

/usr/bin/nvidia-sleep.sh suspend
pm-suspend
/usr/bin/nvidia-sleep.sh resume

(replace pm-suspend with whatever your actual suspend command is).

Sorry, I cannot do any of the things you direct, thanks for trying though!

I did some more poking around. One thing I might need to note is that I am not using a laptop, I am using a desktop. After 10 or 15 minutes of inactivity, the computer will enter suspend mode. Any keyboard or mouse activity will/should wake up the system. When testing I invoke it immediately with “xset dpms force suspend”. I don’t have a suspend button or anything like that.

I tried some of the suggestions above, but none helped. It looks like I needed to install acpid, so I did that as well. At one point when I tried “/usr/bin/nvidia-sleep.sh suspend” the screen went blank and I was unable to get my system to respond and had to force a power down and now all my disks are fscking, which is why I am reluctant to just try this and that with certain functional areas.

I see LFS has the pm-utils package that provides pm-commands, but looks to be primarily for laptops? I would rather not load up a bunch of laptop specific software on my desktop, but if any LFSers knows I need this, let me know. Or if anyone knows all required software/libraries/kernel settings needed for the “new way”. Back to 440 once again for now.

xset dpms force suspend just blanks the screen, it doesn’t actually suspend the computer. The nvidia-sleep.sh script only suspends the NVIDIA driver. It’s designed to be called by some other script that’s also handling system suspend, not by itself.

I assumed based on your first post that you were suspending the whole computer, but I think I misunderstood. You’re just waiting until the display goes blank (which is called “DPMS”, Display Power Management Signaling) and then trying to wake the screen back up, right?

Yes, I wasn’t clear in my initial post since I don’t use a laptop I am not familiar with the similarities/differences. But am aware now, and trying to be careful!
On my setup xset dpms force suspend causes my monitor to behave exactly as if I leave my computer unattended for 10 minutes. My monitor reports no signal and goes into power-save mode, just like if I leave it for 10 minutes. I do have to leave it for a few seconds without touching anything.

Usually with these types of issues occur it will be LFS doing things differently than mainstream, so I don’t expect people/companies to account for it. Or I will be unaware of which LFS packages are needed, for example I learned about the acpid package today.

Summing up in case someone sees this in the future:

  1. Desktop with Titan X video card
  2. LFS Distro
  3. When no activity for 10 minutes, desktop computer enters Suspend mode, Monitor reports no signal, and enters power saving mode
  4. Activity such as moving the mouse or hitting a key on the keyboard will exit Suspend mode, and the display will be returned. I call this “waking up”
  5. NVIDIA-Linux-x86_64-440.44.run and earlier will always wake up correctly
  6. NVIDIA-Linux-x86_64-455.46.04.run, NVIDIA-Linux-x86_64-460.73.01.run, and NVIDIA-Linux-x86_64-465.24.02.run never wake up correctly
  7. Can notice something changing with the screen, but then it stays black/dark
  8. I am able to restore the screen by hitting ctrl-alt-f7, ctrl-alt-f1, ctrl-alt-f7
  9. xset dpms force suspend causes systems to enter suspend if left for a few seconds, so thankfully there’s a way to quickly test this
  10. If any nvidia employee, knows what changed between these releases, or knows the required configuration, libraries, executables, daemons etc. for “the new way” to work, that would be appreciated.
  11. Any debug help welcomed!

@nvisible_kid
Can you please confirm if firefox is always running in your system when display goes blank ?
Also can you please share dmidecode or system configuration so that I can prepare similar setup internally to duplicate issue.

Thanks! I will do these and get back to you when I finish, hopefully soon, but maybe tomorrow.

Thanks again for taking a look at this. It is most likely a configuration issue or a missing library if I am the only one complaining about it. I tested with NVIDIA-Linux-x86_64-465.24.02.run.

I tested both without firefox running and with firefox running and both times it did not wake up correctly.
Then, CTRL-ALT-F1, will change to original console.
Then, CTRL-ALT-F7, will restore the X display.

I do not observe any other anomolies besides not waking up.
In working versions the screen will kind of blink twice before the display comes back. In the non-working versions it kind of just blinks once and stays blank.

In my situation, the screen isn’t going black unexpectedly. It is going black either due to inactivity for 10 minutes(suspend mode), or from issuing the xset dpms force suspend command when testing.

dmidecode.txt (31.8 KB)

Still happening. I’ve been reduced to turning off the screensaver/dpms.

Versions that still work:
NVIDIA-Linux-x86_64-410.78.run
NVIDIA-Linux-x86_64-415.23.run
NVIDIA-Linux-x86_64-440.44.run

Versions confirmed as broken:
NVIDIA-Linux-x86_64-455.46.04.run
NVIDIA-Linux-x86_64-460.73.01.run
NVIDIA-Linux-x86_64-460.80.run
NVIDIA-Linux-x86_64-465.24.02.run
NVIDIA-Linux-x86_64-465.27.run
NVIDIA-Linux-x86_64-465.31.run
NVIDIA-Linux-x86_64-470.74.run

Still broken:
NVIDIA-Linux-x86_64-470.82.00.run
NVIDIA-Linux-x86_64-495.44.run

I remember running into something that indicated that in the newer versions systemd is required, but also remember someone saying that it wasn’t required. Could they have been mistaken? Is systemd required to wake up from sleep correctly?

Please create a new nvidia-bug-report.log after a full suspend/resume cycle. In your previous log, there wasn’t any suspend/resume acttion visible but some driver unloading/loading and firefox crashes in nvidia-egl-wayland.so which is rather odd while running an x11 session.
AFAIK, the nvidia driver doesn’t depend on systemd, just the included samples to save/load VMEM on suspend/resume are for it.

nvidia-bug-report.log.gz (892.6 KB)

I have no idea what your system is doing but it’s definitely not doing any kind of system suspend. The Xserver is just stopping, the nvidia driver unloading and that’s it. Nothing driver related, rather check what you set your system to do.

Okay, I’ve been forcing a suspend instead of waiting the 10 or 15 minutes or whatever it is to kick in:

xset dpms force suspend

I will set it back up and wait for a regular suspend and post the log. On my end the above command and a regular suspend behave the same way as far as the bug is concerned.