xscreensaver doesn't enable DPMS

Bug #924278 reported by Removed by request
44
This bug affects 7 people
Affects Status Importance Assigned to Milestone
xscreensaver (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

I'm using Ubuntu 12.04 dev with xscreensaver 5.15-2ubuntu1. The configuration menu xscreensaver-demo provides under the register Advanced the option "Power Management Enable". But this option doesn't enable DPMS (xset -q says "DPMS is Disabled") so the screen can never go in the standby mode. The only way to get it work is to call xset +dpms.

Revision history for this message
Tormod Volden (tormodvolden) wrote :

What kind of graphics card is this (lspci -nn|grep VGA)? Please attach your Xorg.0.log.

http://www.jwz.org/xscreensaver/faq.html#dpms-load might shed some light on this.

Changed in xscreensaver (Ubuntu):
status: New → Incomplete
Revision history for this message
Removed by request (removed3425744) wrote :

"lspci -nn | grep VGA" says "02:00.0 VGA compatible controller [0300]: NVIDIA Corporation G84 [GeForce 8600 GT] [10de:0402] (rev a1)".

Changed in xscreensaver (Ubuntu):
status: Incomplete → New
summary: - xscreensaver doesn't enable DPMS
+ [nvidia] xscreensaver doesn't enable DPMS
Revision history for this message
Removed by request (removed3425744) wrote : Re: [nvidia] xscreensaver doesn't enable DPMS

The same happens with this graphic chip: 00:01.0 VGA compatible controller [0300]: "Advanced Micro Devices [AMD] nee ATI Wrestler [Radeon HD 6320] [1002:9806]".

summary: - [nvidia] xscreensaver doesn't enable DPMS
+ xscreensaver doesn't enable DPMS
Changed in xscreensaver (Ubuntu):
status: New → Confirmed
Revision history for this message
Steven Keys (steevven1) wrote :

I am having similar issues on Xubuntu 12.10. Everything worked perfectly on earlier versions of Xubuntu. Now, no matter what I do, xscreensaver will not allow the monitor to power off. In fact, if I run "xflock4;;xset dpms force off" the monitor powers off, and gets woken back up5-10 seconds later! If I run "xset dpms force off" without xscreensaver, the monitor stays off. xscreensaver is obviously preventing my screen from staying off.

Revision history for this message
gweg (gweg) wrote :

I think the root of the problem is that if xscreensaver is built with DPMS support, there doesn't seem to be any setting to make it just leave DPMS alone. Also, we probably need the DPMS support because it allows xscreensaver to conserve resources when DPMS turns off the monitor.

So as it stands now, if you are using xscreensaver you must use the DPMS settings provided within xscreensaver. Any attempt to use other tools (xset) will fail because xscreensaver will override the other tool.

Within xscreensaver preferences under the Advanced tab you can change DPMS settings.

Works for me on Saucy, xscreensaver Version: 5.15-3ubuntu1

Revision history for this message
Removed by request (removed3425744) wrote :

I have now tested this with Ubuntu 14.04 dev and xscreensaver 5.15-3ubuntu1 but it is still not working. xset -q is still always showing "DPMS is Disabled" no matter how often I'm dis- and enabling it in xscreensaver but other values like the standby-, suspend- and off-time are successfully changed on xset -q if I'm changing them with xscreensaver. I'm on LXDE with LXDM as login manager if this should be related to this problem.

Revision history for this message
Cinquero (cinquero) wrote :

I have a quite similar problem here (12.04 LTS amd64). It seems xscreensaver is somehow not controlling the dpms settings correctly.

Revision history for this message
Jamie Zawinski (jwz) wrote : Re: [Bug 924278] [NEW] xscreensaver doesn't enable DPMS

xscreensaver 5.15 is *more than three years old* and *seventeen* releases behind.

What the hell is wrong with you people?

Revision history for this message
Jamie Zawinski (jwz) wrote :

I think your X server is configured wrong. See the FAQ: http://www.jwz.org/xscreensaver/faq.html#dpms-load

Revision history for this message
Removed by request (removed3425744) wrote :

This is what I get on my desktop system:

sworddragon@ubuntu:~$ cat .xscreensaver | grep dpms
dpmsEnabled: True
dpmsQuickOff: True
dpmsStandby: 0:10:00
dpmsSuspend: 2:00:00
dpmsOff: 4:00:00
sworddragon@ubuntu:~$ xdpyinfo -queryExtensions | grep DPMS
    DPMS (opcode: 147)
sworddragon@ubuntu:~$ xset -q | grep DPMS
DPMS (Energy Star):
  DPMS is Disabled

Revision history for this message
Peter Vohmann (pvohmann) wrote :

I have installed xscreensaver into Ubuntu 14.04.
I had to replace gnome-screensaver{,-command} with xscreensaver to get it to work.
But after that I find that DPMS is Disabled, and it annoys me.

Even without activating xserver, the xset power management is broken:

I could enable DPMS with this command:
xset +dpms

I could also force DPMS in suspend mode, and my display would enter power saving mode:
xset dpms force suspend

But within one minute, the display powers up, and DPMS is Disabled again!

So what is the proper way to control the GNOME power management?

Revision history for this message
Steve Newcomb (srn-coolheads) wrote :

I got around this dpms-is-always-disabled nuisance
in Xubuntu 16.04 by calling a bash script
in ~/.config/autostart/<something>.desktop. The script
sleeps for 10 seconds and *then* calls xset in such a way
as to enable dpms. The 10-second delay
is evidently long enough for the startup of the X session to be
completed, along with the disablement of dpms that appears to happen during
session startup but, alas, after the contents of the autostart have been
processed.

I had earlier tried uninstalling light-locker, BTW, but it didn't help.

Revision history for this message
Jarno Suni (jarnos) wrote :

DPMS is disabled, if you have chosen mode "Disable Screen Saver" in Xscreensaver's preferences. It would have to be changed to use DPMS while being locked.

Revision history for this message
Removed by request (removed3425744) wrote :

> DPMS is disabled, if you have chosen mode "Disable Screen Saver" in Xscreensaver's preferences.

Is this really the case? At least xscreensaver-demo does not gray out the DPMS settings while it grays out the screensaver settings if the screensaver is disabled. So technically this would be a bug either in xscreensaver itself as it should not disable DPMS or in xscreensaver-demo as it should gray out the DPMS settings.

I'm not sure if it makes actually sense to bind the DPMS settings to the screensaver settings as maybe the DPMS settings should just work independent and be able to standby/shutdown the monitor no matter if a screensaver has been enabled or not. Not sure what happens and what should happen if the screen is locked. Maybe the DPMS settings should just apply as configured and eventually there should be an option to apply the choosen DPMS settings as soon as the lock screen does nothing draw anymore (it sounds a bit as "Quick Power-off in Blank Only Mode" does this already).

Revision history for this message
Jamie Zawinski (jwz) wrote : Re: [Bug 924278] xscreensaver doesn't enable DPMS

Whether xscreensaver-demo's DPMS settings are grayed out depends on one and only one thing: whether XQueryExtension "DPMS" says "yes" or "no".

If what you are trying to say is, "I have a feature request, and that is for xscreensaver not do anything at all about DPMS and let it be 100% handled by xset instead", my answer to that is "no, I think that is a terrible idea".

--
Jamie Zawinski https://www.jwz.org/ https://www.dnalounge.com/

Revision history for this message
Removed by request (removed3425744) wrote :

The DPMS settings in xscreensaver-demo are not grayed out on my system, DPMS is there enabled but it never kicks in. Why is it a "terrible idea" if it would in this case?

Revision history for this message
Jamie Zawinski (jwz) wrote :

On Mon Jul 10 2017 10:45:46, Sworddragon <email address hidden> wrote:

> The DPMS settings in xscreensaver-demo are not grayed out on my system,
> DPMS is there enabled but it never kicks in.

Ok well that shouldn't be. I don't know what's wrong.

> Why is it a "terrible idea" if it would in this case?

There's no sensible way to have both systems, xscreensaver and xset, control these settings, because there's no way to know which one was used last. Updates are not timestamped. So one has to be in control and override the other or chaos ensues.

--
Jamie Zawinski https://www.jwz.org/ https://www.dnalounge.com/

Revision history for this message
Removed by request (removed3425744) wrote :

> Ok well that shouldn't be. I don't know what's wrong.

This is what the ticket is all the years talking about :)

Comment #14 implied just a bit that this behavior could be intended if the screensaver is disabled so I wrote comment #15 with the potential possibilities how this could be handled.

Good to know that this is indeed just a bug. The question is now why it happens. It is now over 5 years since I reported this issue against XScreenSaver 5.15 (currently I'm on XScreenSaver 5.36) and was not able to utilize DPMS in all this time. Also currently 7 other users have enabled the flag that they are affected by this bug too as this ticket shows.

Revision history for this message
Jarno Suni (jarnos) wrote :

As for #16, is the XQueryExtension "DPMS" setting the one that can be controlled by 'xset +dpms' and 'xset -dpms'? Using the latter makes DPMS disabled, but as far as I switch to advanced tab (from another tab) in xscreensaver preferences (or possibly do another action in xscreensaver) the setting is changed to what xscreensaver remembers it was. Could it be changed so that it will fill the values by current (X) settings, and change the settings only, if the change is explicitly made in the dialog? That way it would not mess with e.g. Xfce Power Manager's monitor settings, if the DPMS settings are changed in the Xfce user interface. I think it would help, if the preferences dialog had Apply button that would make the changes effective. That would also fix Bug #889397.

Could the "Disable Screen Saver" mode be changed to not change DPMS settings, when not locked? User could change them in the Advanced tab or elsewhere, if needed. I mean it would be "Neither automatic screen saver nor automatic locker; just let DPMS do its job, if enabled, and lock when requested" mode. However, IMO it would be good to change DPMS setting during locking in that mode so that it turns off display after small delay as there is no use for the display anyway. It should restore the old setting, when unlocking. I think the same thing could be done in "Blank Screen Only" mode, as user supposedly has different preferences for DPMS while being locked and while not.

Revision history for this message
Jamie Zawinski (jwz) wrote :

On Mon Jul 10 2017 13:06:57, Jarno Suni <email address hidden> wrote:

> Could the "Disable Screen Saver" mode be changed to not change DPMS
> settings, when not locked?

No, absolutely not, for the reasons I've said. If you are running xscreensaver, it is in charge of DPMS, period. That is by design and will not change.

I don't understand what is wrong with your machine that you suffer the problems you describe, but breaking xscreensaver's connection to DPMS is no solution.

--
Jamie Zawinski https://www.jwz.org/ https://www.dnalounge.com/

Revision history for this message
Removed by request (removed3425744) wrote :

I think Jarno and Jamie are misunderstanding each other:

> Could the "Disable Screen Saver" mode be changed to not change DPMS settings, when not locked?

I see no reason why selecting "Disable Screen Saver" should prevent kicking in DPMS at all as Jamie stated in comment #18 this is more or less a bug. With Jamies claim that XScreenSaver needs to control DPMS and Jarno's claim that "Disable Screen Saver" also disables XScreenSaver's DPMS even if enabled in the "Advanced" tab of xscreensaver-demo I think you guys are talking about 2 different things while thinking to talk about the same thing making the confusion just perfect. Correct me if I'm wrong with this conclusion.

Then we have another issue claimed by Jarno that xscreensaver-demo does not take care and don't update it's values/overwriting with old values if the DPMS settings were changed by other means. Not sure if this is due to XScreenSaver being in charge of DPMS but maybe this should be handled in another ticket (so Jarno you could create another one and cc Jamie there).

Also we have another feature request by me and Jarno how DPMS should be handled in special cases for example if the screen is locked (if it should ignore the users time settings or not etc.). This is something that should be handled by another ticket too but unfortunately since the actual bug why we are here does prevent to utilize XScreenSaver's DPMS at all more or less for some unknown reason makes it impossible to test how DPMS actually works to check if there is a feature request required or not.

Revision history for this message
Jarno Suni (jarnos) wrote :

Xfce Power Manager sets DPMS, so Xscreensaver should not be used with Xfce Power Manager as such. https://bugzilla.xfce.org/show_bug.cgi?id=10205
If I e.g. set Mode to Presentation in Xfce Power Manager (that is equivalent to setting 'xset -dpms', lock and unlock by 'xscreensaver-command -lock', actual DPMS may be changed to Enabled.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.