Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Blocking ScreenSaver doesn't work. Spam in logs #472

Open
guilty-p01nt3r opened this issue Mar 14, 2024 · 4 comments
Open

Blocking ScreenSaver doesn't work. Spam in logs #472

guilty-p01nt3r opened this issue Mar 14, 2024 · 4 comments

Comments

@guilty-p01nt3r
Copy link

Hi, I noticed the portal spams the following message in logs :
Backend call failed: Cannot invoke method; proxy is for the well-known name org.freedesktop.ScreenSaver without an owner, and proxy was constructed with the G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START flag

I tried to investigate with dbus-monitor. It seems linked to a "Disabling ScreenSaver when an action is performed" case.
I can reproduce it just by pressing play on a YouTube video. It seems it's trying to prevent ScreenSaver to happen while watching the video, but fail to do so.

Did I miss some dependency or something ?

SystemInfo:
OS: Arch Linux
Kernel: 6.7.9-zen1-1-zen
WM: sway 1:1.9-1

local/xdg-desktop-portal 1.18.2-1
local/xdg-desktop-portal-gtk 1.15.1-1
local/xdg-desktop-portal-wlr 0.7.0-2

This is the dbus.log of the isolated case:

dbus.log
signal time=1710411777.395876 sender=org.freedesktop.DBus -> destination=:1.104 serial=4294967295 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired
 string ":1.104"
signal time=1710411777.395895 sender=org.freedesktop.DBus -> destination=:1.104 serial=4294967295 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameLost
 string ":1.104"
method call time=1710411780.889222 sender=:1.53 -> destination=org.freedesktop.DBus serial=407 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=StartServiceByName
 string "org.freedesktop.portal.Desktop"
 uint32 0
method return time=1710411780.889237 sender=org.freedesktop.DBus -> destination=:1.53 serial=4294967295 reply_serial=407
 uint32 2
signal time=1710411780.889358 sender=:1.53 -> destination=(null destination) serial=408 path=/org/mpris/MediaPlayer2; interface=org.freedesktop.DBus.Properties; member=PropertiesChanged
 string "org.mpris.MediaPlayer2.Player"
 array [
    dict entry(
       string "PlaybackStatus"
       variant             string "Playing"
    )
 ]
 array [
 ]
signal time=1710411780.889440 sender=:1.53 -> destination=(null destination) serial=409 path=/org/mpris/MediaPlayer2; interface=org.freedesktop.DBus.Properties; member=PropertiesChanged
 string "org.mpris.MediaPlayer2.Player"
 array [
    dict entry(
       string "Metadata"
       variant             array [
             dict entry(
                string "mpris:trackid"
                variant                      object path "/org/mpris/MediaPlayer2/firefox"
             )
             dict entry(
                string "xesam:title"
                variant                      string "DOCTOR Explains Akira Toriyama's Death | Subdural Haematoma Explained"
             )
             dict entry(
                string "xesam:album"
                variant                      string ""
             )
             dict entry(
                string "xesam:artist"
                variant                      array [
                      string "doc.offcall"
                   ]
             )
          ]
    )
 ]
 array [
 ]
method call time=1710411780.889790 sender=:1.53 -> destination=org.freedesktop.DBus serial=410 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetNameOwner
 string "org.freedesktop.portal.Desktop"
method return time=1710411780.889799 sender=org.freedesktop.DBus -> destination=:1.53 serial=4294967295 reply_serial=410
 string ":1.13"
method call time=1710411780.890504 sender=:1.53 -> destination=:1.13 serial=411 path=/org/freedesktop/portal/desktop; interface=org.freedesktop.portal.Inhibit; member=Inhibit
 string "firefox"
 uint32 8
 array [
    dict entry(
       string "reason"
       variant             string "video-playing"
    )
 ]
method call time=1710411780.890881 sender=:1.13 -> destination=org.freedesktop.DBus serial=742 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch
 string "type='signal',sender='org.freedesktop.impl.portal.desktop.gtk',interface='org.freedesktop.DBus.Properties',member='PropertiesChanged',path='/org/freedesktop/portal/desktop/request/1_53/t/2770971525',arg0='org.freedesktop.impl.portal.Request'"
method return time=1710411780.890889 sender=org.freedesktop.DBus -> destination=:1.13 serial=4294967295 reply_serial=742
method call time=1710411780.890891 sender=:1.13 -> destination=org.freedesktop.DBus serial=743 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=AddMatch
 string "type='signal',sender='org.freedesktop.impl.portal.desktop.gtk',interface='org.freedesktop.impl.portal.Request',path='/org/freedesktop/portal/desktop/request/1_53/t/2770971525'"
method return time=1710411780.890894 sender=org.freedesktop.DBus -> destination=:1.13 serial=4294967295 reply_serial=743
method call time=1710411780.890896 sender=:1.13 -> destination=org.freedesktop.DBus serial=744 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=StartServiceByName
 string "org.freedesktop.impl.portal.desktop.gtk"
 uint32 0
method return time=1710411780.890900 sender=org.freedesktop.DBus -> destination=:1.13 serial=4294967295 reply_serial=744
 uint32 2
method call time=1710411780.891009 sender=:1.13 -> destination=org.freedesktop.DBus serial=745 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetNameOwner
 string "org.freedesktop.impl.portal.desktop.gtk"
method return time=1710411780.891015 sender=org.freedesktop.DBus -> destination=:1.13 serial=4294967295 reply_serial=745
 string ":1.23"
method call time=1710411780.891115 sender=:1.13 -> destination=:1.23 serial=746 path=/org/freedesktop/portal/desktop/request/1_53/t/2770971525; interface=org.freedesktop.DBus.Properties; member=GetAll
 string "org.freedesktop.impl.portal.Request"
error time=1710411780.891237 sender=:1.23 -> destination=:1.13 error_name=org.freedesktop.DBus.Error.UnknownMethod reply_serial=746
 string "Object does not exist at path “/org/freedesktop/portal/desktop/request/1_53/t/2770971525”"
method return time=1710411780.891515 sender=:1.13 -> destination=:1.53 serial=747 reply_serial=411
 object path "/org/freedesktop/portal/desktop/request/1_53/t/2770971525"
method call time=1710411780.891522 sender=:1.13 -> destination=:1.20 serial=748 path=/org/freedesktop/impl/portal/PermissionStore; interface=org.freedesktop.impl.portal.PermissionStore; member=Lookup
 string "inhibit"
 string "inhibit"
error time=1710411780.891709 sender=:1.20 -> destination=:1.13 error_name=org.freedesktop.portal.Error.NotFound reply_serial=748
 string "No entry for inhibit"
method call time=1710411780.891872 sender=:1.13 -> destination=:1.23 serial=749 path=/org/freedesktop/portal/desktop; interface=org.freedesktop.impl.portal.Inhibit; member=Inhibit
 object path "/org/freedesktop/portal/desktop/request/1_53/t/2770971525"
 string ""
 string "firefox"
 uint32 8
 array [
    dict entry(
       string "reason"
       variant             string "video-playing"
    )
 ]
method return time=1710411780.892079 sender=:1.23 -> destination=:1.13 serial=220 reply_serial=749
signal time=1710411780.892226 sender=:1.13 -> destination=:1.53 serial=750 path=/org/freedesktop/portal/desktop/request/1_53/t/2770971525; interface=org.freedesktop.portal.Request; member=Response
 uint32 0
 array [
 ]
signal time=1710411780.992974 sender=:1.53 -> destination=(null destination) serial=412 path=/org/mpris/MediaPlayer2; interface=org.freedesktop.DBus.Properties; member=PropertiesChanged
 string "org.mpris.MediaPlayer2.Player"
 array [
    dict entry(
       string "Metadata"
       variant             array [
             dict entry(
                string "mpris:trackid"
                variant                      object path "/org/mpris/MediaPlayer2/firefox"
             )
             dict entry(
                string "xesam:title"
                variant                      string "DOCTOR Explains Akira Toriyama's Death | Subdural Haematoma Explained"
             )
             dict entry(
                string "xesam:album"
                variant                      string ""
             )
             dict entry(
                string "xesam:artist"
                variant                      array [
                      string "doc.offcall"
                   ]
             )
             dict entry(
                string "mpris:artUrl"
                variant                      string "file:https:///home/vince/.mozilla/firefox/firefox-mpris/2507_11.png"
             )
          ]
    )
 ]
 array [
 ]
method call time=1710411781.283432 sender=:1.53 -> destination=org.freedesktop.DBus serial=413 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=StartServiceByName
 string "org.freedesktop.portal.Desktop"
 uint32 0
method return time=1710411781.283445 sender=org.freedesktop.DBus -> destination=:1.53 serial=4294967295 reply_serial=413
 uint32 2
signal time=1710411781.283692 sender=:1.53 -> destination=(null destination) serial=414 path=/org/mpris/MediaPlayer2; interface=org.freedesktop.DBus.Properties; member=PropertiesChanged
 string "org.mpris.MediaPlayer2.Player"
 array [
    dict entry(
       string "PlaybackStatus"
       variant             string "Paused"
    )
 ]
 array [
 ]
method call time=1710411781.283721 sender=:1.53 -> destination=org.freedesktop.DBus serial=415 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=GetNameOwner
 string "org.freedesktop.portal.Desktop"
method return time=1710411781.283724 sender=org.freedesktop.DBus -> destination=:1.53 serial=4294967295 reply_serial=415
 string ":1.13"
method call time=1710411781.283905 sender=:1.53 -> destination=:1.13 serial=416 path=/org/freedesktop/portal/desktop/request/1_53/t/2770971525; interface=org.freedesktop.portal.Request; member=Close
method call time=1710411781.284113 sender=:1.13 -> destination=:1.23 serial=751 path=/org/freedesktop/portal/desktop/request/1_53/t/2770971525; interface=org.freedesktop.impl.portal.Request; member=Close
method return time=1710411781.284286 sender=:1.23 -> destination=:1.13 serial=221 reply_serial=751
method return time=1710411781.284406 sender=:1.13 -> destination=:1.53 serial=752 reply_serial=416
@dataCobra
Copy link

Hello,

I've found the same issue to be true for my installation on Void Linux.

But the difference is that I use X11/Xorg.

SystemInfo:
OS: Void Linux
Kernel: 6.8.2_1
WM: i3wm
WS: xorg-server-21.1.11_1

local/xdg-desktop-portal 1.18.2-1
local/xdg-desktop-portal-gtk 1.15.1-1

Error from $HOME/.xsession-errors:

(xdg-desktop-portal-gtk:2461): xdg-desktop-portal-gtk-WARNING **: 12:25:44.077: Backend call failed: Cannot invoke method; proxy is for the well-known name org.freedesktop.ScreenSaver without an owner, and proxy was constructed with the G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START flag

@guilty-p01nt3r, maybe change the title to make clear that blocking the screensaver is not working?

@guilty-p01nt3r guilty-p01nt3r changed the title Backend call failed spam in logs Blocking ScreenSaver doesn't work. Spam in logs Apr 17, 2024
@TingPing
Copy link
Member

This isn't really actionable.

Yes you need a service that handles org.freedesktop.ScreenSaver. Every desktop should have one, but more custom setups may not.

@TingPing
Copy link
Member

Although we could probably remove G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START if you do have one, its just not running.

@YellowOnion
Copy link

YellowOnion commented Jun 6, 2024

Seems kinda stupid to have so much indirection in a simple action of inhibition, why call xdp if you can just directly call that fdp dbus handle? that ofc probably just calls systemd inhibit's dbus api or perhaps the wayland one...so much unnecessary complexity, zero added benefit, just breaks things when the 5 or so different apps aren't exactly on the same page.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants