Discussion:
xscreensaver power management
Add Reply
Marco Moock
2024-09-30 19:05:22 UTC
Reply
Permalink
Hello!

If I want to enable xscreensaver to turn off the monitor, it doesn't
work. If I select the option, it will be unselected when I start
xscreensaver-settings again.

Is there some package missing on my system or is this feature
unsupported on Slackware?
--
kind regards
Marco

Send spam to ***@cartoonies.org
John McCue
2024-09-30 19:59:23 UTC
Reply
Permalink
Post by Marco Moock
Hello!
If I want to enable xscreensaver to turn off the monitor, it doesn't
work. If I select the option, it will be unselected when I start
xscreensaver-settings again.
Did not know it could do that. But I looked at
xscreensaver-settings and I see power management,
interesting.
Post by Marco Moock
Is there some package missing on my system or is this feature
unsupported on Slackware?
I do not know, but I thought monitor power management was
a BIOS option as opposed to xscreensaver. Or maybe the
BIOS setting for power-down is disabled.
--
[t]csh(1) - "An elegant shell, for a more... civilized age."
- Paraphrasing Star Wars
Marco Moock
2024-10-01 11:07:21 UTC
Reply
Permalink
Post by John McCue
Post by Marco Moock
Hello!
If I want to enable xscreensaver to turn off the monitor, it doesn't
work. If I select the option, it will be unselected when I start
xscreensaver-settings again.
Did not know it could do that. But I looked at
xscreensaver-settings and I see power management,
interesting.
Post by Marco Moock
Is there some package missing on my system or is this feature
unsupported on Slackware?
I do not know, but I thought monitor power management was
a BIOS option as opposed to xscreensaver. Or maybe the
BIOS setting for power-down is disabled.
Monitor can be turned off by the system via GPU.
https://en.wikipedia.org/wiki/VESA_Display_Power_Management_Signaling

I dunno if that protocol is also being used for integrated LVDS laptop
displays.
Rich
2024-10-01 14:34:34 UTC
Reply
Permalink
Post by Marco Moock
Post by John McCue
Post by Marco Moock
Hello!
If I want to enable xscreensaver to turn off the monitor, it doesn't
work. If I select the option, it will be unselected when I start
xscreensaver-settings again.
Did not know it could do that. But I looked at
xscreensaver-settings and I see power management,
interesting.
Post by Marco Moock
Is there some package missing on my system or is this feature
unsupported on Slackware?
I do not know, but I thought monitor power management was
a BIOS option as opposed to xscreensaver. Or maybe the
BIOS setting for power-down is disabled.
Monitor can be turned off by the system via GPU.
https://en.wikipedia.org/wiki/VESA_Display_Power_Management_Signaling
I dunno if that protocol is also being used for integrated LVDS laptop
displays.
In my admitedly small sample size, all the laptop's I've run Linux on
have supported DPMS powerdown for the LCD panel.

"xset dpms force off" and the panel turns off.
Marco Moock
2024-10-02 10:34:57 UTC
Reply
Permalink
Post by Rich
"xset dpms force off" and the panel turns off.
That works, so DPMS itself is possible.

The questions is now why screensaver can't handle that.
Rich
2024-10-02 13:09:14 UTC
Reply
Permalink
Post by Marco Moock
Post by Rich
"xset dpms force off" and the panel turns off.
That works, so DPMS itself is possible.
The questions is now why screensaver can't handle that.
If you mean "why does the screen not power down with xscreensaver" --
then the reason might just be that "screen savers" are a legacy from
the CRT days intended to prevent phosphor burn in by displaying a
moving/changing image when the system is idle (and predating the days
of DPMS powerdown control). They were originally meant to draw
animations, not simply power down the screen.

Do note that xscreensaver's man page claims it has support for
triggering powerdown, but you do have to configure it to do so (see the
section "Power Management" in the xscreensaver man page).

But, if the only reason you run xscreensaver is for idle power down,
then that is silly, as X already supports idle time-out power down
natively, so xscreensaver is not needed for that singlar purpose.

If, however, you are also using the "screen locking" feature of
xscreensaver, then you do need to run it to get the screen locking
feature -- and for powerdown you'll need to tell it to perform power
off as well (or configure X to power down a short time after the idle
lock engages).
John McCue
2024-10-02 14:38:09 UTC
Reply
Permalink
Post by Rich
Post by Marco Moock
Post by Rich
"xset dpms force off" and the panel turns off.
That works, so DPMS itself is possible.
The questions is now why screensaver can't handle that.
<snip>
Post by Rich
But, if the only reason you run xscreensaver is for idle power down,
I wonder if Marco is running an animation ?
I have "Mode" set to "Blank Screen Only" in
xscreensaver-settings. Maybe animations prevent
X or xscreensaver from powering down the monitor.

<snip>
--
[t]csh(1) - "An elegant shell, for a more... civilized age."
- Paraphrasing Star Wars
Marco Moock
2024-10-02 17:40:26 UTC
Reply
Permalink
Post by John McCue
I wonder if Marco is running an animation ?
No, and I don't want.
Post by John McCue
I have "Mode" set to "Blank Screen Only" in
xscreensaver-settings.
Me too.
Post by John McCue
Maybe animations prevent X or xscreensaver from powering down the
monitor.
IIRC this can be set, e.g. to run an animation for a specific amount of
time and then turning the screen off.
--
kind regards
Marco

Send spam to ***@cartoonies.org
Marco Moock
2024-10-02 17:39:38 UTC
Reply
Permalink
Post by Rich
But, if the only reason you run xscreensaver is for idle power down,
then that is silly, as X already supports idle time-out power down
natively, so xscreensaver is not needed for that singlar purpose.
If, however, you are also using the "screen locking" feature of
xscreensaver, then you do need to run it to get the screen locking
feature -- and for powerdown you'll need to tell it to perform power
off as well (or configure X to power down a short time after the idle
lock engages).
That is my intended use. I want to for locking after some idle time,
locking manually and for turning the monitor off after some time to
avoid wasting power.

The latter doesn't work, if I select the option it will be unselected
at next start of xscreensaver-settings.
--
kind regards
Marco

Send spam to ***@cartoonies.org
Rich
2024-10-02 20:58:44 UTC
Reply
Permalink
Post by Marco Moock
Post by Rich
But, if the only reason you run xscreensaver is for idle power down,
then that is silly, as X already supports idle time-out power down
natively, so xscreensaver is not needed for that singlar purpose.
If, however, you are also using the "screen locking" feature of
xscreensaver, then you do need to run it to get the screen locking
feature -- and for powerdown you'll need to tell it to perform power
off as well (or configure X to power down a short time after the idle
lock engages).
That is my intended use. I want to for locking after some idle time,
locking manually and for turning the monitor off after some time to
avoid wasting power.
Ok, then the basic native provision in X, while meeting your "save
power" requirement, won't meet the 'lock screen' requirement.
Post by Marco Moock
The latter doesn't work, if I select the option it will be unselected
at next start of xscreensaver-settings.
Hmm, no idea why there. Checking the man page, it says it saves the
settings in ~/.xscreensaver. On my Slack 15 system, toggling the
"powerdown" option changes this line in that file (between "True" and
"False" states):

dpmsEnabled: False

And the settings persist across exits.

Do you possibly have ~/.xscreensaver file that is set to be read only
(or labeled 'immutable')?

Or are you running the settings program as a different user than the
user under which the daemon is running?
Javier
2024-10-02 17:49:44 UTC
Reply
Permalink
Post by Rich
If, however, you are also using the "screen locking" feature of
xscreensaver, then you do need to run it to get the screen locking
feature -- and for powerdown you'll need to tell it to perform power
off as well (or configure X to power down a short time after the idle
lock engages).
For just locking the screen xlockmore is simpler and has less
dependencies than xscreensaver.

https://www.sillycycle.com/xlxs.html

You can even compile a blank only screen minimalistic version of it:

./configure --prefix=/usr --disable-setuid \
--enable-appdefaultdir=/usr/share/X11/app-defaults \
--enable-pam --without-esound --without-ftgl \
--without-motif --without-magick --without-rplay \
--without-gtk --without-gtk2 --enable-blank-only
Rich
2024-09-30 20:53:24 UTC
Reply
Permalink
Post by Marco Moock
Hello!
If I want to enable xscreensaver to turn off the monitor, it doesn't
work. If I select the option, it will be unselected when I start
xscreensaver-settings again.
Is there some package missing on my system or is this feature
unsupported on Slackware?
No, monitor power down is supported by X11 itself. You don't need
xscreensaver for a power down state.

Look at the DPMS options for the 'xset' command. Of course, your
monitor needs to recognize and perform the right thing when X tells it
to power down. Most monitors do, but YMMV depending on exactly what
you have.
Marco Moock
2024-10-01 18:36:35 UTC
Reply
Permalink
Post by Rich
No, monitor power down is supported by X11 itself. You don't need
xscreensaver for a power down state.
Aren't they invoked by xscreensaver?
--
kind regards
Marco

Send spam to ***@cartoonies.org
Rich
2024-10-01 19:12:37 UTC
Reply
Permalink
Post by Marco Moock
Post by Rich
No, monitor power down is supported by X11 itself. You don't need
xscreensaver for a power down state.
Aren't they invoked by xscreensaver?
Maybe - but they don't need to be. X already natively supports lack of
usage timeout for screen turn off.

All you get is "blank" and "turn off" -- no fancy GL pipes or flying
toaster images bouncing around your display. But it is all built in.

Look at the manpage for xset, the DPMS options provide for the 'power
down monitor after timeout' features.
Marco Moock
2024-11-23 09:25:32 UTC
Reply
Permalink
Post by Marco Moock
If I want to enable xscreensaver to turn off the monitor, it doesn't
work. If I select the option, it will be unselected when I start
xscreensaver-settings again.
Is there some package missing on my system or is this feature
unsupported on Slackware?
I've now upgraded to -current, the problem still exist.
Any ideas?
--
kind regards
Marco

Send spam to ***@stinkedores.dorfdsl.de
Henrik Carlqvist
2024-11-23 11:24:05 UTC
Reply
Permalink
Post by Marco Moock
Post by Marco Moock
If I want to enable xscreensaver to turn off the monitor, it doesn't
work. If I select the option, it will be unselected when I start
xscreensaver-settings again.
Is there some package missing on my system or is this feature
unsupported on Slackware?
I've now upgraded to -current, the problem still exist.
Any ideas?
I have the following in a custom file /etc/X11/xorg.conf.d/85-dpms.conf :

-8<-------------------------------------
# Turn off monitor at inactivity

Section "Monitor"
Identifier "Monitor0"
Option "DPMS" "true"
EndSection

Section "ServerFlags"
Option "BlankTime" "20"
Option "StandbyTime" "30"
Option "SuspendTime" "40"
Option "OffTime" "50"
EndSection
-8<-------------------------------------

I think that the above works on most systems with most versions of
Slackware.

Initially xscreensaver will show its blank screen or whatever fancy
animation it has been configured for, after some delay the monitor will
be shut off. The monitor will be shut off after the same delay even if
xscreensaver has not been enabled if there is no activity from mouse or
keybaord. Those times are in minutes.

regards Henrik
Marco Moock
2024-11-23 17:51:06 UTC
Reply
Permalink
Post by Henrik Carlqvist
Initially xscreensaver will show its blank screen or whatever fancy
animation it has been configured for, after some delay the monitor
will be shut off. The monitor will be shut off after the same delay
even if xscreensaver has not been enabled if there is no activity
from mouse or keybaord. Those times are in minutes.
That sounds interesting.
I've some machines running Debian where xscreensaver can control that
without modifying X11 manually. How can I further diagnose that?
--
kind regards
Marco

Send spam to ***@stinkedores.dorfdsl.de
Henrik Carlqvist
2024-11-24 10:18:17 UTC
Reply
Permalink
Post by Marco Moock
How can I further diagnose that?
xset -q

...allows you to see the current settings, including the settings for
DPMS.

regards Henrik
Marco Moock
2024-11-24 19:55:34 UTC
Reply
Permalink
Post by Henrik Carlqvist
Post by Marco Moock
How can I further diagnose that?
xset -q
...allows you to see the current settings, including the settings for
DPMS.
DPMS was turned off by default.

I've now created /etc/X11/xorg.conf.d/85-dpms.conf

Section "Monitor"
Identifier "Monitor0"
Option "DPMS" "true"
EndSection

This doesn't switch it on - or something other turns it off.

I can switch it on manually with xset +dpms.

Although, if I put that in the .xinitrc, it won't be enabled.
I assume a race condition or similar.
Rich
2024-11-24 20:25:55 UTC
Reply
Permalink
Post by Marco Moock
Post by Henrik Carlqvist
Post by Marco Moock
How can I further diagnose that?
xset -q
...allows you to see the current settings, including the settings for
DPMS.
DPMS was turned off by default.
I've now created /etc/X11/xorg.conf.d/85-dpms.conf
Section "Monitor"
Identifier "Monitor0"
Option "DPMS" "true"
EndSection
This doesn't switch it on - or something other turns it off.
I can switch it on manually with xset +dpms.
Although, if I put that in the .xinitrc, it won't be enabled.
I assume a race condition or similar.
Merely turning it on, without specifying timouts, is likely
insufficient.

Henrik provided you the full template to use in Message-ID: <vhse0l$1mbu1$***@dont-email.me>

-8<-------------------------------------
# Turn off monitor at inactivity

Section "Monitor"
Identifier "Monitor0"
Option "DPMS" "true"
EndSection

Section "ServerFlags"
Option "BlankTime" "20"
Option "StandbyTime" "30"
Option "SuspendTime" "40"
Option "OffTime" "50"
EndSection
-8<-------------------------------------

You've only included half the needed lines.
Marco Moock
2024-11-25 19:58:10 UTC
Reply
Permalink
Post by Rich
Merely turning it on, without specifying timouts, is likely
insufficient.
I tried to only enable DPMS with this setting and let xscreensaver
control the timeouts. I can't control the timeouts in xscreensavers
anymore if set in xorg.conf.

Is there any reason this can't be done without setting static values in
xorg.conf?

It is not a real problem, but now I am curious why this exactly behaves
like that.
--
kind regards
Marco

Send spam to ***@stinkedores.dorfdsl.de
Rich
2024-11-25 20:03:44 UTC
Reply
Permalink
Post by Marco Moock
Post by Rich
Merely turning it on, without specifying timouts, is likely
insufficient.
I tried to only enable DPMS with this setting and let xscreensaver
control the timeouts. I can't control the timeouts in xscreensavers
anymore if set in xorg.conf.
Is there any reason this can't be done without setting static values
in xorg.conf?
It is not a real problem, but now I am curious why this exactly
behaves like that.
The 'xset' CLI tool allows for controlling the DPMS timeouts
dynamically at any time .

The xorg.conf settings provide the initial defaults the X server will
use in absense of any other changes made by you via 'xset'.

xscreensaver is NOT needed to control DPMS screen blanking or powerdown
(and, in fact, might just interfere in odd ways depending upon how
xscreensaver is configured).
Henrik Carlqvist
2024-11-26 07:00:44 UTC
Reply
Permalink
The 'xset' CLI tool allows for controlling the DPMS timeouts dynamically
at any time .
Yes, example:

xset -q | grep -A2 -i dpms
DPMS (Energy Star):
Standby: 1800 Suspend: 2400 Off: 3000
DPMS is Enabled
Monitor is On
Font cache:

xset dpms 2000 3000 4000

xset -q | grep -A2 -i dpms
DPMS (Energy Star):
Standby: 2000 Suspend: 3000 Off: 4000
DPMS is Enabled
Monitor is On
Font cache:

regards Henrik

Loading...