Package: xdg-utils
Version: 1.1.0~rc1+git20111210-7
Severity: important
File: /usr/bin/xdg-screensaver

Under Xfce, "xdg-screensaver reset" forces the monitor back on but
does not reset the DPMS timeout. In particular, this behavior leads
to periodic monitor powerdowns while watching movies with VLC 2.x.

VLC tries to turn screensavers and monitor power management off at
the start of video playback using D-Bus. If during playback it
detects that DPMS is still active, it invokes "xdg-screenaver reset"
every minute as a fallback.

"xdg-screensaver reset" calls "perform_action reset" internally,
which uses "xset -q" to test the current DPMS state; if it finds
DPMS enabled it then uses "xset dpms force on" to force the monitor
on. This does not reset the DPMS timeout.

The end result is that if VLC has been unable to disable DPMS using
its D-Bus screensaver inhibit logic, the monitor powers down after
the DPMS timeout period, stays powered down for up to a minute, then
spontaneously powers up again. Once powered down, mouse or keyboard
input will power it up again straight away, but this is not fun to
need to keep doing while watching a movie.

As a workaround, I added /usr/local/bin/xset:

#!/bin/sh
xset=/usr/bin/xset
case "$*" in 'dpms force on')
        $xset -dpms
        $xset +dpms
esac
exec $xset "$@"

With that in place, VLC video playback works exactly as it should.
So it seems to me that where xdg-screensaver is currently doing

xset dpms force on

inside perform_action(), it would be better off doing

xset -dpms
xset +dpms
xset dpms force on

"xdg-screensaver reset" would then force the display to be on and
make it stay on for at least a DPMS timeout period: arguably the
least surprising thing it could do, certainly far more useful for
things like VLC that need a screensaver "poke", and not in conflict
with documented behaviour as far as I can tell.

-- System Information:
Debian Release: jessie/sid
  APT prefers testing
  APT policy: (990, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.13-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_AU.utf8, LC_CTYPE=en_AU.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

xdg-utils depends on no packages.

Versions of packages xdg-utils recommends:
ii  libfile-mimeinfo-perl  0.22-1
ii  libnet-dbus-perl       1.0.0-2+b1
ii  libx11-protocol-perl   0.56-4
ii  x11-utils              7.7+1
ii  x11-xserver-utils      7.7+2

Versions of packages xdg-utils suggests:
ii  gvfs-bin  1.16.3-2

-- no debconf information


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to