(partially solved, will update when completed) Please help with an xfce/powerup bug: black screen after suspend/hibernate
MX Linux, Xfce 4.18
Closing the laptop lid suspends the system, opening it resumes it, but the screen is black. I'm guessing it's related to powerup because suspending through the logout menu and systemctl suspend both work as expected. When it's black, switching to a different tty works, as well as C-M-Backspace to logout.
Same results with both lightdm and sddm, when replacing suspend with hibernate, and I've tried a few solutions like disabling lock on sleep.
Seems like this issue has been around for years, but had a whole bunch of different causes since every other thread has a different solution.
I've tried resuming 50+ times while troubleshooting, and it only once did it correctly. Now I try to replicate the bug and it worked correctly 2/3 times.
I've tried resuming 50+ times while troubleshooting, and it only once did it correctly. Now I try to replicate the bug and it worked correctly 2/3 times
That's just the computers fucking with you. It's how it always happens 😉
Regarding the sleep modes, I was referring to the S* states. Run this:
Since that bug seems related to the X server somehow, I wonder if your monitor is showing black or actually off/standby (as in backlight off)?
If it's the backlight, maybe it's related to DPMS (monitor power management), and you can jolt it back to life with something like
xset dpms force on
after waking up. Or maybe disable DPMS completely and see if that changes anything.
It would also be interesting to know if this problem also happens outside of XFCE. If you just use (say) openbox (which I don't think does any power management or DPMS stuff by itself), does that work?
I wonder if your monitor is showing black or actually off/standby (as in backlight off)?
It actually starts, and then turns off. I didn't notice it before you drew my attention.
The command doesn't do anything, but I was able to type sudo reboot and it rebooted.
It would also be interesting to know if this problem also happens outside of XFCE
I can't install anything new, but I just tried starting power manager in i3 and using it to go to standby when i close the lid. It woke up 10 times in a row without an issue. So it's most likely a purely xfce issue that's been around for like a decade in different forms.
It actually starts, and then turns off. I didn’t notice it before you drew my attention.
That does sound like DPMS ("vesa display power management signaling") shenanigans though.
Maybe you can disable XFCE's display power management stuff completely? Systemd's logind (/etc/systemd/logind.conf) can do (and does by default I think) suspend on lid-close without any window manager involvement at all, works fine with i3 here. So disabling XFCE's stuff probably "only" messes with your monitor not going standby after a while, and you can maybe use xset or xscreensaver and set this by hand (after making sure it's actually properly disabled in XFCE, so XFCE doesn't override that stuff).
Found this about how to stop xfce4-power-manager and disable DPMS:
xfce4-power-manager -q
xset -dpms
Try doing that and see if lid close works afterwards.
i wonder what happens if you send SIGSTOP to the Xserver before suspend, then SIGCONT after resume. I imagine it would be like a time jump and it doesn't notice it was suspended, but not sure at all.
Make sure you have properly configured swap space and its size is larger than RAM. Because this will be the easiest cause. Some people stated as much as twice the ram size.
There’s a wiki page on arch wiki trying to help with this issue. In short, prepare for a lot of work and good luck.
It seems to be, or it's related to my xfce+I3 setup. I tried starting the xfce power manager in i3 and it woke up correctly 10 times in a row. And executing an xrandr config turns the monitor back on.
AFAIK swap is only used for hibernation. Suspend keeps ram (and a single core/thread?) powered, so it's not needed.