[Pkg-utopia-maintainers] Bug#959125: xdg-desktop-portal-gtk: does not provide implementations for org.freedesktop.impl.portal.{ScreenCast, RemoteDesktop}

Pedro Ângelo pangelo at void.io
Wed Apr 29 17:13:08 BST 2020


Package: xdg-desktop-portal-gtk
Version: 1.7.1-1+b1
Severity: important

Dear Maintainer,

while testing a self-compiled version of `obs-xdg-portal` plugin for Open
Broadcast Studio I noticed that the plugin failed to bring up the portal window
necessary to authorize the program to capture the screen.

I looked into this issue with dbus-monitor and got the following:

~~~

$ dbus-monitor path=/org/freedesktop/portal/desktop

method call time=1588071448.258833 sender=:1.531 ->
destination=org.freedesktop.portal.Desktop serial=2
path=/org/freedesktop/portal/desktop;
interface=org.freedesktop.portal.ScreenCast; member=CreateSession
   array [
      dict entry(
         string "handle_token"
         variant             string "obs1"
      )
      dict entry(
         string "session_handle_token"
         variant             string "obs1"
      )
   ]
method call time=1588071448.273349 sender=:1.473 -> destination=:1.146
serial=213 path=/org/freedesktop/portal/desktop;
interface=org.freedesktop.impl.portal.ScreenCast; member=CreateSession
   object path "/org/freedesktop/portal/desktop/request/1_531/obs1"
   object path "/org/freedesktop/portal/desktop/session/1_531/obs1"
   string ""
   array [
   ]

~~~

and it seems to never return from the call to `createSession`.

looking into the service log I get:

~~~

$ journalctl --user

Apr 27 20:15:26 rae xdg-desktop-por[20017]: A backend call failed:
GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such interface
“org.freedesktop.impl.portal.ScreenCast” on object at path
/org/freedesktop/portal/desktop
Apr 27 20:15:26 rae xdg-desktop-por[20017]: Failed to close session
implementation: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such
interface “org.freedesktop.impl.portal.Session” on object at path
/org/freedesktop/portal/desktop/session/1_476/obs1

~~~

looking upstream, there's an issue reported about xdg-desktop-portal-gtk not
instantiating the ScreenCast and RemoteDesktop interfaces on Ubuntu:

https://github.com/flatpak/xdg-desktop-portal-gtk/issues/296

I can reproduce the behaviour reported upstream:

~~~

$ xdg-desktop-portal-gtk --replace --verbose

XDP: providing org.freedesktop.impl.portal.FileChooser
XDP: providing org.freedesktop.impl.portal.AppChooser
XDP: providing org.freedesktop.impl.portal.Print
XDP: providing org.freedesktop.impl.portal.Screenshot
XDP: providing org.freedesktop.impl.portal.Notification
XDP: Using org.gnome.SessionManager for inhibit
XDP: Using org.gnome.Screensaver for screensaver state
XDP: Using org.gnome.SessionManager for session state
XDP: providing org.freedesktop.impl.portal.Inhibit
XDP: providing org.freedesktop.impl.portal.Access
XDP: providing org.freedesktop.impl.portal.Account
XDP: providing org.freedesktop.impl.portal.Email
XDP: providing org.freedesktop.impl.portal.Lockdown
XDP: providing org.freedesktop.impl.portal.Background
...
XDP: providing org.freedesktop.impl.portal.Settings
XDP: providing org.freedesktop.impl.portal.Wallpaper
XDP: org.freedesktop.impl.portal.desktop.gtk acquired

~~~

This happens both in version 1.6.1 from Testing and version 1.7.1 from
Experimental.

I can also reproduce the same broken behaviour for the
`org.freedesktop.impl.portal.RemoteDesktop` interface using upstream's testing
script:

https://gitlab.gnome.org/snippets/39

Please let me know if there's anything else I can do to help fix this, as this
renders any screen grabbing and screen casting application unusable in GNOME
Wayland.

Best regards,

P.



-- System Information:
Debian Release: bullseye/sid
  APT prefers testing
  APT policy: (500, 'testing'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.4.0-4-rt-amd64 (SMP w/4 CPU cores; PREEMPT)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE=en_GB:en (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages xdg-desktop-portal-gtk depends on:
ii  dbus-user-session      1.12.16-2
ii  dbus-x11               1.12.16-2
ii  libc6                  2.30-4
ii  libcairo2              1.16.0-4
ii  libfontconfig1         2.13.1-4
ii  libgdk-pixbuf2.0-0     2.40.0+dfsg-4
ii  libglib2.0-0           2.64.2-1
ii  libgnome-desktop-3-19  3.36.1-3
ii  libgtk-3-0             3.24.18-1
ii  xdg-desktop-portal     1.7.1-1

xdg-desktop-portal-gtk recommends no packages.

Versions of packages xdg-desktop-portal-gtk suggests:
ii  accountsservice  0.6.55-1
ii  evince           3.36.0-2+b1

-- no debconf information


More information about the Pkg-utopia-maintainers mailing list