Closed Bug 1745179 Opened 4 years ago Closed 4 years ago

Screen switches off while watching video full screen on MX Linux + xfwm4

Categories

(Core :: Widget: Gtk, defect)

defect

Tracking

()

RESOLVED MOVED
Tracking Status
firefox-esr91 --- unaffected
firefox95 --- wontfix
firefox96 --- wontfix
firefox97 --- fix-optional

People

(Reporter: jrmuizel, Unassigned)

References

(Blocks 1 open bug, Regression)

Details

(Keywords: regression)

Keywords: regression
Regressed by: 1733796
Has Regression Range: --- → yes

This is with xfwm4 with the xfce 4.14.2 desktop

Summary: Screen switches off while watching video full screen on firefox 95 → Screen switches off while watching video full screen on firefox 95 with xfwm4
Flags: needinfo?(paul)

I just tested a fresh install on MX Linux Xfce with Firefox 95, and as reported Xfce Power manager doesn't get inhibited.

With a fresh Fedora Xfce install and Firefox 95, Xfce Power does get inhibited on the contrary.

Here are the MX Linux logs:

$ dbus-monitor|grep Inhibit
method call time=1639082445.289335 sender=:1.60 -> destination=org.freedesktop.ScreenSaver serial=5 path=/ScreenSaver; interface=org.freedesktop.ScreenSaver; member=Inhibit
method call time=1639082445.345580 sender=:1.60 -> destination=org.freedesktop.ScreenSaver serial=6 path=/ScreenSaver; interface=org.freedesktop.ScreenSaver; member=Inhibit
method call time=1639082452.162923 sender=:1.60 -> destination=org.freedesktop.ScreenSaver serial=7 path=/ScreenSaver; interface=org.freedesktop.ScreenSaver; member=UnInhibit
method call time=1639082472.510810 sender=:1.19 -> destination=:1.26 serial=44 path=/org/freedesktop/PowerManagement/Inhibit; interface=org.freedesktop.PowerManagement.Inhibit; member=GetInhibitors
method call time=1639082502.848429 sender=:1.19 -> destination=:1.26 serial=47 path=/org/freedesktop/PowerManagement/Inhibit; interface=org.freedesktop.PowerManagement.Inhibit; member=GetInhibitors
method call time=1639082962.862343 sender=:1.19 -> destination=:1.26 serial=50 path=/org/freedesktop/PowerManagement/Inhibit; interface=org.freedesktop.PowerManagement.Inhibit; member=GetInhibitors
method call time=1639082964.062989 sender=:1.19 -> destination=:1.26 serial=53 path=/org/freedesktop/PowerManagement/Inhibit; interface=org.freedesktop.PowerManagement.Inhibit; member=GetInhibitors
method call time=1639082964.863476 sender=:1.19 -> destination=:1.26 serial=56 path=/org/freedesktop/PowerManagement/Inhibit; interface=org.freedesktop.PowerManagement.Inhibit; member=GetInhibitors
method call time=1639082968.380673 sender=:1.19 -> destination=:1.26 serial=59 path=/org/freedesktop/PowerManagement/Inhibit; interface=org.freedesktop.PowerManagement.Inhibit; member=GetInhibitors

Here are the Fedora Xfce logs:

[paul@localhost-live ~]$ dbus-monitor|grep Inhibit
method call time=1639082999.946827 sender=:1.90 -> destination=org.freedesktop.ScreenSaver serial=5 path=/ScreenSaver; interface=org.freedesktop.ScreenSaver; member=Inhibit
method call time=1639082999.946923 sender=:1.90 -> destination=org.gnome.SessionManager serial=6 path=/org/gnome/SessionManager; interface=org.gnome.SessionManager; member=Inhibit
method call time=1639082999.946980 sender=:1.90 -> destination=org.freedesktop.PowerManagement serial=7 path=/org/freedesktop/PowerManagement/Inhibit; interface=org.freedesktop.PowerManagement.Inhibit; member=Inhibit
method call time=1639082999.947305 sender=:1.36 -> destination=:1.29 serial=89 path=/org/xfce/ScreenSaver; interface=org.xfce.ScreenSaver; member=Inhibit
   string "Inhibit requested"
method call time=1639083003.259735 sender=:1.90 -> destination=org.freedesktop.ScreenSaver serial=8 path=/ScreenSaver; interface=org.freedesktop.ScreenSaver; member=Inhibit
method call time=1639083003.259827 sender=:1.90 -> destination=org.gnome.SessionManager serial=9 path=/org/gnome/SessionManager; interface=org.gnome.SessionManager; member=Inhibit
method call time=1639083003.259920 sender=:1.90 -> destination=org.freedesktop.PowerManagement serial=10 path=/org/freedesktop/PowerManagement/Inhibit; interface=org.freedesktop.PowerManagement.Inhibit; member=Inhibit
method call time=1639083013.723725 sender=:1.90 -> destination=org.freedesktop.PowerManagement serial=11 path=/org/freedesktop/PowerManagement/Inhibit; interface=org.freedesktop.PowerManagement.Inhibit; member=UnInhibit

So it looks like the difference here is that on MX Linux the Dbus interface org.freedesktop.ScreenSaver is available, where it is not on Fedora Xfce, on which org.freedesktop.PowerManagement is the first one being available. org.freedesktop.PowerManagement is handled by Xfce power manager on Xfce.

Flags: needinfo?(paul)

It looks like org.freedesktop.ScreenSaver is implemented by light-locker on MX Linux, which thus prevents from calling the org.freedesktop.PowerManagement interface. Could the reporter try disabling light-locker (killall light-locker) and then restarting Firefox, does the issue persist in this case?

i was the person who made the original post on reddit. i don't see any light-locker processes running, but do have xfce4-screensaver. when this all started i turned off the screensaver and just left a setting for switching off the screen after x minutes in Power Manger. i will add my dbus-monitor results from earlier then try killing all screensaver processes.

dbus-monitor | grep Inhibit
method call time=1639087611.938958 sender=:1.824 -> destination=org.freedesktop.ScreenSaver serial=5 path=/ScreenSaver; interface=org.freedesktop.ScreenSaver; member=Inhibit
method call time=1639087611.939284 sender=:1.824 -> destination=org.gnome.SessionManager serial=6 path=/org/gnome/SessionManager; interface=org.gnome.SessionManager; member=Inhibit
method call time=1639087611.939433 sender=:1.824 -> destination=org.freedesktop.PowerManagement serial=7 path=/org/freedesktop/PowerManagement/Inhibit; interface=org.freedesktop.PowerManagement.Inhibit; member=Inhibit
method call time=1639087613.101266 sender=:1.824 -> destination=org.freedesktop.ScreenSaver serial=8 path=/ScreenSaver; interface=org.freedesktop.ScreenSaver; member=Inhibit
method call time=1639087613.105964 sender=:1.824 -> destination=org.gnome.SessionManager serial=9 path=/org/gnome/SessionManager; interface=org.gnome.SessionManager; member=Inhibit
method call time=1639087613.107955 sender=:1.824 -> destination=org.freedesktop.PowerManagement serial=10 path=/org/freedesktop/PowerManagement/Inhibit; interface=org.freedesktop.PowerManagement.Inhibit; member=Inhibit
method call time=1639087621.714115 sender=:1.824 -> destination=org.freedesktop.PowerManagement serial=11 path=/org/freedesktop/PowerManagement/Inhibit; interface=org.freedesktop.PowerManagement.Inhibit; member=UnInhibit
method call time=1639087621.714174 sender=:1.824 -> destination=org.freedesktop.PowerManagement serial=12 path=/org/freedesktop/PowerManagement/Inhibit; interface=org.freedesktop.PowerManagement.Inhibit; member=UnInhibit
method call time=1639087642.561128 sender=:1.824 -> destination=org.freedesktop.PowerManagement serial=13 path=/org/freedesktop/PowerManagement/Inhibit; interface=org.freedesktop.PowerManagement.Inhibit; member=Inhibit
method call time=1639087642.561359 sender=:1.824 -> destination=org.freedesktop.PowerManagement serial=14 path=/org/freedesktop/PowerManagement/Inhibit; interface=org.freedesktop.PowerManagement.Inhibit; member=Inhibit
method call time=1639087831.396118 sender=:1.824 -> destination=org.freedesktop.PowerManagement serial=15 path=/org/freedesktop/PowerManagement/Inhibit; interface=org.freedesktop.PowerManagement.Inhibit; member=UnInhibit
method call time=1639087831.396239 sender=:1.824 -> destination=org.freedesktop.PowerManagement serial=16 path=/org/freedesktop/PowerManagement/Inhibit; interface=org.freedesktop.PowerManagement.Inhibit; member=UnInhibit

the issue persists. dbus-monitor results all from PowerManagement after killing the screensaver. multiple iterations of:

dbus-monitor | grep Inhibit
method call time=1639095096.274921 sender=:1.848 -> destination=org.freedesktop.PowerManagement serial=41 path=/org/freedesktop/PowerManagement/Inhibit; interface=org.freedesktop.PowerManagement.Inhibit; member=Inhibit
method call time=1639095098.500492 sender=:1.848 -> destination=org.freedesktop.PowerManagement serial=42 path=/org/freedesktop/PowerManagement/Inhibit; interface=org.freedesktop.PowerManagement.Inhibit; member=UnInhibit

in case it helps to further narrow things down, i also have a system with mint 20.2 xfce that didn't have the same issue in a few quick tests. dbus-monitor results with light-locker running in the background even thought Power Manager is handling the screensaver settings:

dbus-monitor | grep Inhibit
method call time=1639088845.678809 sender=:1.661 -> destination=org.freedesktop.ScreenSaver serial=34 path=/ScreenSaver; interface=org.freedesktop.ScreenSaver; member=Inhibit
method call time=1639088852.132427 sender=:1.661 -> destination=org.freedesktop.ScreenSaver serial=36 path=/ScreenSaver; interface=org.freedesktop.ScreenSaver; member=UnInhibit

Thanks for the logs. Could you also post the dbus-monitor logs with the non-affected Firefox version on your MX Linux system?

To clarify you are encountering the issue on MX Linux with Firefox 95, but you cannot reproduce it on Mint Xfce with Firefox 95?

i will add those logs after a bit. to answer your question, you are correct that i am encountering the issue on mx linux 19 with firefox 95 and could not reproduce the behavior on mint 20.2 xfce (window manager xfwm4; desktop Xfce 4.16.0) with firefox 95. i added the mint output since someone had previously tested on fedora xfce and mint had also recently upgraded to firefox 95.

dbus-monitor output from running firefox 91.4.0esr on my mx linux system:

dbus-monitor | grep Inhibit
method call time=1639130441.036032 sender=:1.365 -> destination=org.freedesktop.ScreenSaver serial=3 path=/ScreenSaver; interface=org.freedesktop.ScreenSaver; member=Inhibit
method call time=1639130441.036590 sender=:1.365 -> destination=org.gnome.SessionManager serial=4 path=/org/gnome/SessionManager; interface=org.gnome.SessionManager; member=Inhibit
method call time=1639130497.834800 sender=:1.365 -> destination=org.freedesktop.ScreenSaver serial=5 path=/ScreenSaver; interface=org.freedesktop.ScreenSaver; member=Inhibit
method call time=1639130497.835078 sender=:1.365 -> destination=org.gnome.SessionManager serial=6 path=/org/gnome/SessionManager; interface=org.gnome.SessionManager; member=Inhibit

the most noticeable difference to me between this and my firefox 95 output is no calls that reference PowerManagement.

Set release status flags based on info from the regressing bug 1733796

to add to the above, i had firefox 94.0.2 installed before it was upgraded to 95 and that was unaffected.

i ran some tests in a debian 10.11 xfce vm and fresh install, but both of those were unaffected so this is seeming like an issue that is fairly specific to mx. dbus-monitor results were almost exactly like this for several different tests:

dbus-monitor | grep Inhibit
method call time=1639284508.869644 sender=:1.68 -> destination=org.freedesktop.ScreenSaver serial=9 path=/ScreenSaver; interface=org.freedesktop.ScreenSaver; member=Inhibit
method call time=1639284510.037497 sender=:1.68 -> destination=org.freedesktop.ScreenSaver serial=10 path=/ScreenSaver; interface=org.freedesktop.ScreenSaver; member=Inhibit
method call time=1639284704.962059 sender=:1.68 -> destination=org.freedesktop.ScreenSaver serial=11 path=/ScreenSaver; interface=org.freedesktop.ScreenSaver; member=UnInhibit
method call time=1639284704.962099 sender=:1.68 -> destination=org.freedesktop.ScreenSaver serial=12 path=/ScreenSaver; interface=org.freedesktop.ScreenSaver; member=UnInhibit
Summary: Screen switches off while watching video full screen on firefox 95 with xfwm4 → Screen switches off while watching video full screen on MX Linux + xfwm4
Severity: -- → S4

Are you able to test with Mx Linux 21? Is Mx Linux 19 the only affected version?

(In reply to paul from comment #12)

Are you able to test with Mx Linux 21? Is Mx Linux 19 the only affected version?

i was able to do so and had no problems with mx 21 so it seems mx 19 is the only affected version. adding dbus-monitor output for comparison:

dbus-monitor | grep Inhibit
method call time=1639520989.527296 sender=:1.89 -> destination=org.freedesktop.ScreenSaver serial=49 path=/ScreenSaver; interface=org.freedesktop.ScreenSaver; member=Inhibit
method call time=1639520989.527533 sender=:1.89 -> destination=org.freedesktop.ScreenSaver serial=50 path=/ScreenSaver; interface=org.freedesktop.ScreenSaver; member=Inhibit
method call time=1639521902.999066 sender=:1.89 -> destination=org.freedesktop.ScreenSaver serial=51 path=/ScreenSaver; interface=org.freedesktop.ScreenSaver; member=UnInhibit
method call time=1639521902.999107 sender=:1.89 -> destination=org.freedesktop.ScreenSaver serial=52 path=/ScreenSaver; interface=org.freedesktop.ScreenSaver; member=UnInhibit
See Also: → 1752279
Blocks: wakelock

Martin, as you reviewed the change for bug1733796, do you have any idea why this issue would happen?
Thank you!

Flags: needinfo?(stransky)

(In reply to Alastor Wu [:alwu] from comment #15)

Martin, as you reviewed the change for bug1733796, do you have any idea why this issue would happen?
Thank you!

I am sorry, but I wasn't quite able to understand what is the change, that you're referring to.
I can confirm, that in Chromium, VLC and SMPlayer for example I don't experience this. But as long as diagnosing the issue I can't do it by myself.
My workaround for this is to use the built in Presentation mode in the power manager.

This is what I see, but I don't know how to extract the information:

[url=https://i.ibb.co/WGkzQFG/image.png
[url=https://i.ibb.co/McLCJ56/1.png]

The power manager shows that there is some activity, but in the Presentation off mode the display switches off at the 3 minutes because that's what it's supposed to do as the settings say when there are no inputs detected.

This is my power manager:

[url=https://i.ibb.co/gDnP6Rr/2.png]

(In reply to Martin from comment #16)

(In reply to Alastor Wu [:alwu] from comment #15)

Martin, as you reviewed the change for bug1733796, do you have any idea why this issue would happen?
Thank you!

I am sorry, but I wasn't quite able to understand what is the change, that you're referring to.
I can confirm, that in Chromium, VLC and SMPlayer for example I don't experience this. But as long as diagnosing the issue I can't do it by myself.
My workaround for this is to use the built in Presentation mode in the power manager.

This is what I see, but I don't know how to extract the information:

[url=https://i.ibb.co/WGkzQFG/image.png
[url=https://i.ibb.co/McLCJ56/1.png]

The power manager shows that there is some activity, but in the Presentation off mode the display switches off at the 3 minutes because that's what it's supposed to do as the settings say when there are no inputs detected.

What version of Xfce are you running? From what I understand from the report Xfce version 4.14 is affected by this regression, whereas 4.16 is not affected.

Oh, Indeed I am on 4.14.
I will try to upgrade it and I will report back. Thank you.

a few quick tests with a few different video sources in an mx 19.4 vm with xfce 4.16 and firefox 97 didn't have any problems blanking the screen after the set amount of time. thanks for the info about the unaffected version of xfce.

So Firefox 96 (auto updated), Ubuntu 20.04 (auto updated) and xfce power manager 4.16 manually upgraded from 4.14.
Still the screen turns off as intended in the power manager, unless Presentation mode is on. I don't use screensavers, the system just switches off the screen.

That means the org.freedesktop.PowerManagement is broken/non-working although it's present. As a workaround we can move it after X11/Wayland variants.

Flags: needinfo?(stransky)

Right I actually sent a fix to xfce4-power-manager at https://gitlab.xfce.org/xfce/xfce4-power-manager/-/merge_requests/22
Until this fix is released, calling first the X11/Wayland inhibit methods seems to be the best option indeed.

(In reply to Martin Stránský [:stransky] (ni? me) from comment #22)

That means the org.freedesktop.PowerManagement is broken/non-working although it's present. As a workaround we can move it after X11/Wayland variants.

Hm, I don't think it's a correct way. Better may be to allow set the screensaver inhibitor explicitly, especially when it's already fixed in mx 21.

(In reply to paul from comment #23)

Right I actually sent a fix to xfce4-power-manager at https://gitlab.xfce.org/xfce/xfce4-power-manager/-/merge_requests/22
Until this fix is released, calling first the X11/Wayland inhibit methods seems to be the best option indeed.

Thanks! I think that hits users faster than any Firefox fix.

Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → MOVED
You need to log in before you can comment on or make changes to this bug.