from what I understand, VLC has two methods to inhibit DPMS, dbus and xdg-screensaver.
for some reason on v2.1.0 it fails to start xdg-screensaver even though it selects that method so when a video is playing VLC is not able to prevent the monitor from entering standby.
on VLC v2.0.8
main debug: looking for inhibit module: 2 candidatesmain debug: using inhibit module "xdg_screensaver"xdg_screensaver debug: started xdg-screensaver (PID = 2036)
[~]# xset -q | grep "DPMS is"
"DPMS is Disabled"
on VLC v2.1.0
main debug: looking for inhibit module matching "any": 2 candidatesdbus_screensaver debug: cannot find service org.freedesktop.ScreenSaverdbus_screensaver debug: cannot find service org.freedesktop.PowerManagement.Inhibitdbus_screensaver debug: cannot find service org.mate.SessionManagerdbus_screensaver debug: cannot find service org.gnome.SessionManagermain debug: using inhibit module "xdg_screensaver"
no process is spawned, and...
[~]# xset -q | grep "DPMS is"
"DPMS is Enabled"
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items
0
No child items are currently assigned. Use child items to break down this issue into smaller parts.
Linked items
0
Link issues together to show that they're related.
Learn more.
test VLC v2.0.8 (already installed on livecd) using a random video and in a terminal execute xset -q, DPMS gets triggered properly (on playing / stop).
now update vlc (pacman -S VLC), you may need to download a few small updates first.
do step 3 again with VLC v2.1.0, DPMS is no longer being switched anymore and the monitor will turn off while a video plays (I suggest you set DPMS to turn off after a short interval like 10 seconds to make testing faster).
VLC no longer prints the PID in the debug. But it would print an error if it failed to start xdg-screensaver. I fail to see any VLC bug in your log.
I guess that "xdg-screensaver reset" does not work on your DE. If you think this is a VLC bug, please attach a strace log (i.e. run "strace -f vlc 2>log" and wait 31 seconds before you quit VLC).
VLC no longer prints the PID in the debug. But it would print an error if it failed to start xdg-screensaver. I fail to see any VLC bug in your log.
I guess that "xdg-screensaver reset" does not work on your DE. If you think this is a VLC bug, please attach a strace log (i.e. run "strace -f vlc 2>log" and wait 31 seconds before you quit VLC).
Sorry but Shadowized opened the bug at my request, after we started investigating this bug yesterday.
Problem is between xdg-utils and the DE exactly as I already wrote. Not much of a surprise considering that xdg-utils is broken and unmaintained and the main DE's have switched to D-Bus. And I wonder why this bug was reopened before the log was posted.
ok so my initial report was a little incorrect, xdg-screensaver does spawn but it appears to be using the wrong command to inhibit. my understanding of xdg-screensaver's documentation is "xdg-screensaver reset" simply kills screensavers, but doesn't effect DPMS at all, and I'm not even sure it prevents screensavers from starting in the first place.
The previously used method in VLC v2.0.8 worked fine, but as courmisch said "xdg-utils is broken and unmaintained", that makes me wonder why is VLC even using it then if it doesn't work right. I don't know of any other media players(mplayer, mplayer2, mpv) that use xdg-utils to inhibit DPMS.
this _is_ a VLC defect imo.
in VLC 2.0.8 which worked fine, it uses
execve("/usr/bin/xdg-screensaver", ["xdg-screensaver", "suspend", "0x0280004b"], [/* 47 vars */] <unfinished ...>
and in VLC v2.1.0, it uses
execve("/usr/bin/xdg-screensaver", ["xdg-screensaver", "reset"], [/* 47 vars */]) = 0
ok so my initial report was a little incorrect, xdg-screensaver does spawn but it appears to be using the wrong command to inhibit. my understanding of xdg-screensaver's documentation is "xdg-screensaver reset" simply kills screensavers, but doesn't effect DPMS at all, and I'm not even sure it prevents screensavers from starting in the first place.
The previously used method in VLC v2.0.8 worked fine, but as courmisch said "xdg-utils is broken and unmaintained", that makes me wonder why is VLC even using it then if it doesn't work right. I don't know of any other media players(mplayer, mplayer2, mpv) that use xdg-utils to inhibit DPMS.
this _is_ a VLC defect imo.
in VLC 2.0.8 which worked fine, it uses
{{{
execve("/usr/bin/xdg-screensaver", ["xdg-screensaver", "suspend", "0x0280004b"], [/* 47 vars */] <unfinished ...>
}}}
and in VLC v2.1.0, it uses
{{{
execve("/usr/bin/xdg-screensaver", ["xdg-screensaver", "reset"], [/* 47 vars */]) = 0
}}}
If you look at xdg-screensaver you will see that it calls
xset dpms force on
repeatedly, so while DPMS stays enabled it should reset the timer.
I tried by changing the timeout with xset s 40 (vlc calls xdg-screensaver every 30 seconds) and the screen doesn't blank for me (gnome shell).
Note you can reset with xset s 0.
However when using dbus inhibitor when the dpms delay is elapsed the screen goes black, the gnome screensaver does not deactivate DPMS or reset the delay either.
I have the same issue - XFCE & Arch linux & VLC 2.1.4. It works fine with 2.0.8a where it correctly disables DPMS. I tried the attached patch but it didn't help - it does not disable DPMS while playing and causes the monitor to enter standby after set timeout.
main debug: looking for inhibit module matching "any": 2 candidatesdbus_screensaver debug: cannot find service org.freedesktop.ScreenSaverdbus_screensaver debug: cannot find service org.freedesktop.PowerManagement.Inhibitdbus_screensaver debug: found service org.freedesktop.PowerManagementmain debug: using inhibit module "dbus_screensaver"