I keep my pc ON crunching numbers, and just let my screen sleep.
I recently upgraded my monitor, and it won’t properly go to idle.
Here is what happens:
Computer tries to put monitor to sleep
Monitor reports “no signal”
Monitor polls all inputs (*) (**)
Probably some hotplug event?
The computer wakes up, showing either:
a) the desktop enviroment and apps. In this case it loops back to step 1
b) a black screen with backlight on. In this case it just stays like this indefinitely
(*) There is no way to disable this functionality. The monitor has no option to lock the source input.
I’ve turned on/off eco mode and DDC/CI with no luck.
(**) The DDC/CI interface seems to work.
On linux, I can put the monitor to sleep with a command, but I can’t wake it up afterwards.
Some extra info about my pc.
I’m running an rdna2 based gpu on fedora 39
To isolate the issue, here is what I’ve tested the monitor sleep on
windows and linux; It only happens on linux.
multiple distributions with different kernel versions, and different desktop enviroments (*); No sleep
X11; No sleep
switching my gpu to an nvidia on gnome wayland; No sleep
switching my gpu to an nvidia on KDE wayland; The monitor sleeps properly
switching my gpu to an nvidia on X11; The monitor sleeps properly.
a linux laptop with an intel iGPU on wayland; The monitor sleeps properly.
(*) gnome, kde, xfce, mate
I have to assume this is amdgpu or gnome wayland related…
daft i know. but check the power settings in settings, there should be a tab for display.
if everything is set correctly there.
then try activating the screen saver so its running before the screen goes to sleep.
dunno why but enabling the screensaver solves it for some amd card users.
still no luck, then its likely a monitor driver issue. you might get lucky with make and model follwed by linux… but its gonna be hit and miss.
(if the monitor menus have the option select the hdmi as the only input, it should stop it from poling the other inputs when hdmi 1 goes off)
I didn’t mention the model initially, because it doesn’t matter.
In fact the sleep doesn’t work with any of my 3 monitors, from 3 different brands. (Except my old one)
Even if it’s a monitor firmware issue, that’s something I can’t change. I was hoping someone would suggest kernel boot parameters that may help? Or some way to silence hotplug events?
TLDR: just a bunch of thoughts. No additional insight.
If its firmware issue, then you might SOL. These bugs can happen, at work we encountered eternal sleep instead in Phillips 272B8QJEB.
Nothing short of hard power cycle ( unplug from power, hold power on until capacitors discharge fully) would make monitor detect signal properly. No firmware update ever materialized, but it wasn’t that common occurrence that it would be needed.
Only way to isolate what causes the issue would be:
determine if there is standardized way to handle display sleep on OS level
monitor if its emited and by what software component
its extremely strange that behavior changes based on display server and compositor combination
determine what kind of signal is gpu supposed to emit on sleep mode (DDC/CI?)
somehow monitor if gpu does emit this on selected display out (i dont think this is possible without signal analyzer or dummy monitor device)
If all checks out up to this point, monitor is not handling signalization properly. But that should be completely decoupled from whatever software stack is used.
Still, it seems hard to believe that such basic functionality like working display blank and sleep would be missed by gnome et. al.
My problem was at login my pc suspended. Check
sudo -u gdm dbus-run-session gsettings list-recursively org.gnome.settings-daemon.plugins.power | grep sleep
And I stopped it with;
sudo -u gdm dbus-run-session gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-timeout 0
Plugging in my second monitor, and letting both of them sleep doesn’t work as expected.
I was hoping I could manually set ASUS one to sleep, and then let gnome set the second one to sleep.
That doesn’t work, both wake up the moment the second one goes to sleep.
Came here just to say I’ve been having this same issue for a long time. Found this post and it fixed the problem. I only had to set the primary monitor to the actual input I’m using, it looks like auto input selection was causing the problem.