XFCE DPMS power vs X11 screensave issue fix

Get help with XFCE specific problems
nanZor
Shogun
Shogun
Posts: 469
Joined: 09 Apr 2019, 03:27
Distribution: Porteus 5.1 Alpha XFCE

XFCE DPMS power vs X11 screensave issue fix

Post#1 by nanZor » 13 Mar 2025, 20:23

TL;DR - xset blanking time interferes with XFCE DPMS monitor power save values. Fix: change standard X11 blanking time to values higher than DPMS values.

What prompted this was what I thought was a problem in Porteus turns out to have the same problem with other distros on my hardware, and a nifty automatic fix with XFCE settings will be provided.

Turns out my modern hardware/monitor (ie, non-glass crt) will respond to EITHER the X11 screen-saver blanking timeout, or the DPMS power signalling values. If the X11 blanking timeout is LESS than the DPMS values, it will kick my monitor off and shut down. This interaction proved frustrating. I want XFCE to have full range control of DPMS poweroff.

XFCE's slider power manager DPMS max range (at least in 4.20) is 60 minutes. I like that. I usually set "sleep" to 59 minutes, and "switch off" to 60 minutes. But the old X11 screen-saver timeout can get in the way and kick it off first if the value is lower than 60!

You can verify your current setting in the terminal with

Code: Select all

xset q
The default value in various distros seems to be different, but the fix here is to get that old standard screensaver value out of the way! Do NOT change it to zero, go higher!

The simplistic change at the terminal would be to set the X11 glass screensaver timeout to 60. But I don't want to have a blanking signal and a dpms signal firing at the same time, so I'll simply move the old value to something a tad bit higher than 60 (so DPMS will fire off first,)

Code: Select all

xset s 3800 3800
Let's automate that on every boot to move the old blanking value out of the way!

Menu > Settings > Session and Startup > Application Autostart > ADD

Name this addition to something you can recognize (like DPMS FIX or whatever) and use this as your command which has a little sleep in it to let all the other stuff run first. Don't forget the apostrophe's.

Code: Select all

bash -c 'sleep 15 && xset s 3800 3800'
To ensure it gets saved once, I like to go into the General Tab, and check "Automatically save session on logout". At least once.

If for some reason you want to edit this timeout value later, double click on your new entry and you have the option to edit it. I like to reboot and use XSET Q to doublecheck that it took.

At least this works for me, not only on Porteus, but on some other distros too where I noticed the same issue. YMMV, or consider this my own release-candidate tip! :)
That's a UNIX book - cool. -Garth

nanZor
Shogun
Shogun
Posts: 469
Joined: 09 Apr 2019, 03:27
Distribution: Porteus 5.1 Alpha XFCE

XFCE DPMS power vs X11 screensave issue fix

Post#2 by nanZor » 31 Mar 2025, 00:09

YAY!! In Porteus 5.1 Alpha 2 (and possibly Nemesis and PorteuX too now), there is a way to simply disable the screensaver without this funky "make the screensaver activate after the dpms-shutdown (foiled!) hack!

XFCE: Settings > Power Manager > ScreenSaver Management > "Activate Screensaver When Computer is Idle"

Toggle that OFF. That may not be intuitive to go there for those who hate screensavers. :)

So fascinating - if one now check with "xset q", you will STILL see the 600 or so cycle time, BUT the signal for it does not take place. YAY!

Funny - I was reinstalling Alpha-2, and making slightly smaller 4gb savefile, and forget to set this and that screensaver (as cool as it is) kicked in. Oh no..... luckily all was well when I logged in and it was still chugging away. Porteux does this quicker, but still..

Good hack to know for those other systems that don't incorporate this toggle or do it incorrectly. THANKS Porteus(X) devs!
That's a UNIX book - cool. -Garth

Post Reply