xdg-desktop-portal-wlr: Screencast not working with Chromium or Firefox

I’m running xdg-desktop-portal. It only yields a bunch of unrelated output:

> XDG_CURRENT_DESKTOP=sway /usr/libexec/xdg-desktop-portal --verbose
XDP: load portals from /usr/share/xdg-desktop-portal/portals
XDP: loading /usr/share/xdg-desktop-portal/portals/gtk.portal
XDP: portal implementation for gnome
XDP: portal implementation supports org.freedesktop.impl.portal.FileChooser
XDP: portal implementation supports org.freedesktop.impl.portal.AppChooser
XDP: portal implementation supports org.freedesktop.impl.portal.Print
XDP: portal implementation supports org.freedesktop.impl.portal.Screenshot
XDP: portal implementation supports org.freedesktop.impl.portal.Notification
XDP: portal implementation supports org.freedesktop.impl.portal.Inhibit
XDP: portal implementation supports org.freedesktop.impl.portal.Access
XDP: portal implementation supports org.freedesktop.impl.portal.Account
XDP: portal implementation supports org.freedesktop.impl.portal.Email
XDP: portal implementation supports org.freedesktop.impl.portal.DynamicLauncher
XDP: portal implementation supports org.freedesktop.impl.portal.ScreenCast
XDP: portal implementation supports org.freedesktop.impl.portal.RemoteDesktop
XDP: portal implementation supports org.freedesktop.impl.portal.Lockdown
XDP: portal implementation supports org.freedesktop.impl.portal.Background
XDP: portal implementation supports org.freedesktop.impl.portal.Settings
XDP: portal implementation supports org.freedesktop.impl.portal.Wallpaper
XDP: loading /usr/share/xdg-desktop-portal/portals/wlr.portal
XDP: portal implementation for wlroots, sway, Wayfire, river, phosh, Hyprland
XDP: portal implementation supports org.freedesktop.impl.portal.Screenshot
XDP: portal implementation supports org.freedesktop.impl.portal.ScreenCast
XDP: loading /usr/share/xdg-desktop-portal/portals/darkman.portal
XDP: portal implementation for sway
XDP: portal implementation supports org.freedesktop.impl.portal.Settings
XDP: Falling back to gtk.portal for org.freedesktop.impl.portal.Lockdown
XDP: providing portal org.freedesktop.portal.MemoryMonitor
XDP: providing portal org.freedesktop.portal.PowerProfileMonitor
XDP: providing portal org.freedesktop.portal.NetworkMonitor
XDP: providing portal org.freedesktop.portal.ProxyResolver
XDP: providing portal org.freedesktop.portal.Trash
XDP: providing portal org.freedesktop.portal.GameMode

(/usr/libexec/xdg-desktop-portal:22985): xdg-desktop-portal-WARNING **: 00:31:06.577: Failed to load RealtimeKit property: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.RealtimeKit1 was not provided by any .service files

(/usr/libexec/xdg-desktop-portal:22985): xdg-desktop-portal-WARNING **: 00:31:06.577: Failed to load RealtimeKit property: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.RealtimeKit1 was not provided by any .service files

(/usr/libexec/xdg-desktop-portal:22985): xdg-desktop-portal-WARNING **: 00:31:06.577: Failed to load RealtimeKit property: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.RealtimeKit1 was not provided by any .service files
XDP: providing portal org.freedesktop.portal.Realtime
XDP: Using darkman.portal for org.freedesktop.impl.portal.Settings
XDP: Using gtk.portal for org.freedesktop.impl.portal.Settings

(/usr/libexec/xdg-desktop-portal:22985): xdg-desktop-portal-WARNING **: 00:31:06.584: Failed to create settings proxy: Error calling StartServiceByName for org.freedesktop.impl.portal.desktop.gtk: Process org.freedesktop.impl.portal.desktop.gtk exited with status 1
XDP: providing portal org.freedesktop.portal.Settings
XDP: Falling back to gtk.portal for org.freedesktop.impl.portal.FileChooser

(/usr/libexec/xdg-desktop-portal:22985): xdg-desktop-portal-WARNING **: 00:31:06.590: Failed to create file chooser proxy: Error calling StartServiceByName for org.freedesktop.impl.portal.desktop.gtk: Process org.freedesktop.impl.portal.desktop.gtk exited with status 1

(/usr/libexec/xdg-desktop-portal:22985): xdg-desktop-portal-WARNING **: 00:31:06.590: No skeleton to export
XDP: Falling back to gtk.portal for org.freedesktop.impl.portal.AppChooser

(/usr/libexec/xdg-desktop-portal:22985): xdg-desktop-portal-WARNING **: 00:31:06.595: Failed to create app chooser proxy: Error calling StartServiceByName for org.freedesktop.impl.portal.desktop.gtk: Process org.freedesktop.impl.portal.desktop.gtk exited with status 1

(/usr/libexec/xdg-desktop-portal:22985): xdg-desktop-portal-WARNING **: 00:31:06.595: No skeleton to export
XDP: Falling back to gtk.portal for org.freedesktop.impl.portal.Print

(/usr/libexec/xdg-desktop-portal:22985): xdg-desktop-portal-WARNING **: 00:31:06.602: Failed to create print proxy: Error calling StartServiceByName for org.freedesktop.impl.portal.desktop.gtk: Process org.freedesktop.impl.portal.desktop.gtk exited with status 1

(/usr/libexec/xdg-desktop-portal:22985): xdg-desktop-portal-WARNING **: 00:31:06.602: No skeleton to export
XDP: Falling back to gtk.portal for org.freedesktop.impl.portal.Notification

(/usr/libexec/xdg-desktop-portal:22985): xdg-desktop-portal-WARNING **: 00:31:06.607: Failed to create notification proxy: Error calling StartServiceByName for org.freedesktop.impl.portal.desktop.gtk: Process org.freedesktop.impl.portal.desktop.gtk exited with status 1

(/usr/libexec/xdg-desktop-portal:22985): xdg-desktop-portal-WARNING **: 00:31:06.607: No skeleton to export
XDP: Falling back to gtk.portal for org.freedesktop.impl.portal.Inhibit

(/usr/libexec/xdg-desktop-portal:22985): xdg-desktop-portal-WARNING **: 00:31:06.613: Failed to create inhibit proxy: Error calling StartServiceByName for org.freedesktop.impl.portal.desktop.gtk: Process org.freedesktop.impl.portal.desktop.gtk exited with status 1

(/usr/libexec/xdg-desktop-portal:22985): xdg-desktop-portal-WARNING **: 00:31:06.613: No skeleton to export
XDP: Falling back to gtk.portal for org.freedesktop.impl.portal.Access
XDP: Using wlr.portal for org.freedesktop.impl.portal.Screenshot in sway

(/usr/libexec/xdg-desktop-portal:22985): xdg-desktop-portal-WARNING **: 00:31:06.614: Failed to create screenshot proxy: Error calling StartServiceByName for org.freedesktop.impl.portal.desktop.wlr: Process org.freedesktop.impl.portal.desktop.wlr exited with status 1

(/usr/libexec/xdg-desktop-portal:22985): xdg-desktop-portal-WARNING **: 00:31:06.614: No skeleton to export
XDP: Falling back to gtk.portal for org.freedesktop.impl.portal.Background

(/usr/libexec/xdg-desktop-portal:22985): xdg-desktop-portal-WARNING **: 00:31:06.620: Failed to create access proxy: Error calling StartServiceByName for org.freedesktop.impl.portal.desktop.gtk: Process org.freedesktop.impl.portal.desktop.gtk exited with status 1

(/usr/libexec/xdg-desktop-portal:22985): xdg-desktop-portal-WARNING **: 00:31:06.620: No skeleton to export

(/usr/libexec/xdg-desktop-portal:22985): xdg-desktop-portal-WARNING **: 00:31:06.626: Failed to create access proxy: Error calling StartServiceByName for org.freedesktop.impl.portal.desktop.gtk: Process org.freedesktop.impl.portal.desktop.gtk exited with status 1

(/usr/libexec/xdg-desktop-portal:22985): xdg-desktop-portal-WARNING **: 00:31:06.626: No skeleton to export
XDP: providing portal org.freedesktop.portal.Camera

(/usr/libexec/xdg-desktop-portal:22985): xdg-desktop-portal-WARNING **: 00:31:06.633: Failed to create access proxy: Error calling StartServiceByName for org.freedesktop.impl.portal.desktop.gtk: Process org.freedesktop.impl.portal.desktop.gtk exited with status 1

(/usr/libexec/xdg-desktop-portal:22985): xdg-desktop-portal-WARNING **: 00:31:06.633: No skeleton to export
XDP: Falling back to gtk.portal for org.freedesktop.impl.portal.Wallpaper

(/usr/libexec/xdg-desktop-portal:22985): xdg-desktop-portal-WARNING **: 00:31:06.638: Failed to create wallpaper proxy: Error calling StartServiceByName for org.freedesktop.impl.portal.desktop.gtk: Process org.freedesktop.impl.portal.desktop.gtk exited with status 1

(/usr/libexec/xdg-desktop-portal:22985): xdg-desktop-portal-WARNING **: 00:31:06.638: No skeleton to export
XDP: Falling back to gtk.portal for org.freedesktop.impl.portal.Account

(/usr/libexec/xdg-desktop-portal:22985): xdg-desktop-portal-WARNING **: 00:31:06.644: Failed to create account proxy: Error calling StartServiceByName for org.freedesktop.impl.portal.desktop.gtk: Process org.freedesktop.impl.portal.desktop.gtk exited with status 1

(/usr/libexec/xdg-desktop-portal:22985): xdg-desktop-portal-WARNING **: 00:31:06.644: No skeleton to export
XDP: Falling back to gtk.portal for org.freedesktop.impl.portal.Email

(/usr/libexec/xdg-desktop-portal:22985): xdg-desktop-portal-WARNING **: 00:31:06.649: Failed to create email proxy: Error calling StartServiceByName for org.freedesktop.impl.portal.desktop.gtk: Process org.freedesktop.impl.portal.desktop.gtk exited with status 1

(/usr/libexec/xdg-desktop-portal:22985): xdg-desktop-portal-WARNING **: 00:31:06.649: No skeleton to export
XDP: Falling back to gtk.portal for org.freedesktop.impl.portal.DynamicLauncher

(/usr/libexec/xdg-desktop-portal:22985): xdg-desktop-portal-WARNING **: 00:31:06.655: Failed to create dynamic_launcher proxy: Error calling StartServiceByName for org.freedesktop.impl.portal.desktop.gtk: Process org.freedesktop.impl.portal.desktop.gtk exited with status 1

(/usr/libexec/xdg-desktop-portal:22985): xdg-desktop-portal-WARNING **: 00:31:06.655: No skeleton to export
XDP: Using wlr.portal for org.freedesktop.impl.portal.ScreenCast in sway

(/usr/libexec/xdg-desktop-portal:22985): xdg-desktop-portal-WARNING **: 00:31:06.656: Failed to create screen cast proxy: Error calling StartServiceByName for org.freedesktop.impl.portal.desktop.wlr: Process org.freedesktop.impl.portal.desktop.wlr exited with status 1

(/usr/libexec/xdg-desktop-portal:22985): xdg-desktop-portal-WARNING **: 00:31:06.656: No skeleton to export
XDP: Falling back to gtk.portal for org.freedesktop.impl.portal.RemoteDesktop

(/usr/libexec/xdg-desktop-portal:22985): xdg-desktop-portal-WARNING **: 00:31:06.662: Failed to create remote desktop proxy: Error calling StartServiceByName for org.freedesktop.impl.portal.desktop.gtk: Process org.freedesktop.impl.portal.desktop.gtk exited with status 1

(/usr/libexec/xdg-desktop-portal:22985): xdg-desktop-portal-WARNING **: 00:31:06.662: No skeleton to export
XDP: org.freedesktop.portal.Desktop acquired

Another terminal is running usr/libexec/xdg-desktop-portal-wlr, which also provides no useful output:

> XDG_CURRENT_DESKTOP=sway /usr/libexec/xdg-desktop-portal-wlr --loglevel=DEBUG
2023/05/14 00:31:32 [DEBUG] - config: outputname:  (null)
2023/05/14 00:31:32 [DEBUG] - config: max_fps:  0.000000
2023/05/14 00:31:32 [DEBUG] - config: exec_before:  (null)
2023/05/14 00:31:32 [DEBUG] - config: exec_after:  (null)
2023/05/14 00:31:32 [DEBUG] - config: chooser_cmd: (null)
2023/05/14 00:31:32 [DEBUG] - config: chooser_type: default
2023/05/14 00:31:32 [DEBUG] - config: force_mod_linear: 0
2023/05/14 00:31:32 [DEBUG] - dbus: connected
2023/05/14 00:31:32 [DEBUG] - wlroots: wl_display connected
2023/05/14 00:31:32 [DEBUG] - pipewire: pw_loop created
2023/05/14 00:31:32 [DEBUG] - pipewire: establishing connection to core
2023/05/14 00:31:32 [DEBUG] - wlroots: interface to register wl_shm  (Version: 1)
2023/05/14 00:31:32 [DEBUG] - wlroots: |-- registered to interface wl_shm (Version 1)
2023/05/14 00:31:32 [DEBUG] - wlroots: interface to register wl_drm  (Version: 2)
2023/05/14 00:31:32 [DEBUG] - wlroots: interface to register zwp_linux_dmabuf_v1  (Version: 4)
2023/05/14 00:31:32 [DEBUG] - wlroots: |-- registered to interface zwp_linux_dmabuf_v1 (Version 4)
2023/05/14 00:31:32 [DEBUG] - wlroots: interface to register wl_compositor  (Version: 5)
2023/05/14 00:31:32 [DEBUG] - wlroots: interface to register wl_subcompositor  (Version: 1)
2023/05/14 00:31:32 [DEBUG] - wlroots: interface to register wl_data_device_manager  (Version: 3)
2023/05/14 00:31:32 [DEBUG] - wlroots: interface to register zwlr_gamma_control_manager_v1  (Version: 1)
2023/05/14 00:31:32 [DEBUG] - wlroots: interface to register zxdg_output_manager_v1  (Version: 3)
2023/05/14 00:31:32 [DEBUG] - wlroots: interface to register org_kde_kwin_idle  (Version: 1)
2023/05/14 00:31:32 [DEBUG] - wlroots: interface to register ext_idle_notifier_v1  (Version: 1)
2023/05/14 00:31:32 [DEBUG] - wlroots: interface to register zwp_idle_inhibit_manager_v1  (Version: 1)
2023/05/14 00:31:32 [DEBUG] - wlroots: interface to register zwlr_layer_shell_v1  (Version: 4)
2023/05/14 00:31:32 [DEBUG] - wlroots: interface to register xdg_wm_base  (Version: 2)
2023/05/14 00:31:32 [DEBUG] - wlroots: interface to register zwp_tablet_manager_v2  (Version: 1)
2023/05/14 00:31:32 [DEBUG] - wlroots: interface to register org_kde_kwin_server_decoration_manager  (Version: 1)
2023/05/14 00:31:32 [DEBUG] - wlroots: interface to register zxdg_decoration_manager_v1  (Version: 1)
2023/05/14 00:31:32 [DEBUG] - wlroots: interface to register zwp_relative_pointer_manager_v1  (Version: 1)
2023/05/14 00:31:32 [DEBUG] - wlroots: interface to register zwp_pointer_constraints_v1  (Version: 1)
2023/05/14 00:31:32 [DEBUG] - wlroots: interface to register wp_presentation  (Version: 1)
2023/05/14 00:31:32 [DEBUG] - wlroots: interface to register zwlr_output_manager_v1  (Version: 4)
2023/05/14 00:31:32 [DEBUG] - wlroots: interface to register zwlr_output_power_manager_v1  (Version: 1)
2023/05/14 00:31:32 [DEBUG] - wlroots: interface to register zwp_input_method_manager_v2  (Version: 1)
2023/05/14 00:31:32 [DEBUG] - wlroots: interface to register zwp_text_input_manager_v3  (Version: 1)
2023/05/14 00:31:32 [DEBUG] - wlroots: interface to register zwlr_foreign_toplevel_manager_v1  (Version: 3)
2023/05/14 00:31:32 [DEBUG] - wlroots: interface to register ext_session_lock_manager_v1  (Version: 1)
2023/05/14 00:31:32 [DEBUG] - wlroots: interface to register wp_drm_lease_device_v1  (Version: 1)
2023/05/14 00:31:32 [DEBUG] - wlroots: interface to register zwlr_export_dmabuf_manager_v1  (Version: 1)
2023/05/14 00:31:32 [DEBUG] - wlroots: interface to register zwlr_screencopy_manager_v1  (Version: 3)
2023/05/14 00:31:32 [DEBUG] - wlroots: |-- registered to interface zwlr_screencopy_manager_v1 (Version 3)
2023/05/14 00:31:32 [DEBUG] - wlroots: interface to register zwlr_data_control_manager_v1  (Version: 2)
2023/05/14 00:31:32 [DEBUG] - wlroots: interface to register zwp_primary_selection_device_manager_v1  (Version: 1)
2023/05/14 00:31:32 [DEBUG] - wlroots: interface to register wp_viewporter  (Version: 1)
2023/05/14 00:31:32 [DEBUG] - wlroots: interface to register wp_single_pixel_buffer_manager_v1  (Version: 1)
2023/05/14 00:31:32 [DEBUG] - wlroots: interface to register zxdg_exporter_v1  (Version: 1)
2023/05/14 00:31:32 [DEBUG] - wlroots: interface to register zxdg_importer_v1  (Version: 1)
2023/05/14 00:31:32 [DEBUG] - wlroots: interface to register zxdg_exporter_v2  (Version: 1)
2023/05/14 00:31:32 [DEBUG] - wlroots: interface to register zxdg_importer_v2  (Version: 1)
2023/05/14 00:31:32 [DEBUG] - wlroots: interface to register xdg_activation_v1  (Version: 1)
2023/05/14 00:31:32 [DEBUG] - wlroots: interface to register zwp_virtual_keyboard_manager_v1  (Version: 1)
2023/05/14 00:31:32 [DEBUG] - wlroots: interface to register zwlr_virtual_pointer_manager_v1  (Version: 2)
2023/05/14 00:31:32 [DEBUG] - wlroots: interface to register zwlr_input_inhibit_manager_v1  (Version: 1)
2023/05/14 00:31:32 [DEBUG] - wlroots: interface to register zwp_keyboard_shortcuts_inhibit_manager_v1  (Version: 1)
2023/05/14 00:31:32 [DEBUG] - wlroots: interface to register wl_seat  (Version: 8)
2023/05/14 00:31:32 [DEBUG] - wlroots: interface to register zwp_pointer_gestures_v1  (Version: 3)
2023/05/14 00:31:32 [DEBUG] - wlroots: interface to register wl_output  (Version: 4)
2023/05/14 00:31:32 [DEBUG] - wlroots: |-- registered to interface wl_output (Version 4)
2023/05/14 00:31:32 [DEBUG] - wayland: registry listeners run
2023/05/14 00:31:32 [DEBUG] - wlroots: linux_dmabuf_feedback_handle_main_device called
2023/05/14 00:31:32 [INFO] - xdpw: Using render node /dev/dri/renderD128
2023/05/14 00:31:32 [DEBUG] - wlroots: linux_dmabuf_feedback_format_table called
2023/05/14 00:31:32 [DEBUG] - wlroots: linux_dmabuf_feedback_tranche_target_devices called
2023/05/14 00:31:32 [DEBUG] - wlroots: linux_dmabuf_feedback_tranche_flags called
2023/05/14 00:31:32 [DEBUG] - wlroots: linux_dmabuf_feedback_tranche_formats called
2023/05/14 00:31:32 [DEBUG] - wlroots: linux_dmabuf_feedback_tranche_done called
2023/05/14 00:31:32 [DEBUG] - wlroots: linux_dmabuf_feedback_handle_done called
2023/05/14 00:31:32 [DEBUG] - wayland: dmabuf_feedback listeners run

On chrome, when I try to screencast at https://mozilla.github.io/webrtc-landing/gum_test.html, if I pick “Entire Screen” it logs:

[5285:5285:0514/004517.495144:ERROR:shared_screencast_stream.cc(459)] Failed to connect PipeWire context
[5285:5285:0514/004517.495152:ERROR:base_capturer_pipewire.cc(81)] ScreenCastPortal failed: 1
'loop->recurse > 0' failed at ../src/pipewire/thread-loop.c:417 pw_thread_loop_wait()
[5285:5285:0514/004519.302593:ERROR:shared_screencast_stream.cc(459)] Failed to connect PipeWire context
[5285:5285:0514/004519.302600:ERROR:base_capturer_pipewire.cc(81)] ScreenCastPortal failed: 1
'loop->recurse > 0' failed at ../src/pipewire/thread-loop.c:417 pw_thread_loop_wait()

But the screencast area is just solid black with “FPS now: NaN , entire capture: NaN”.

Firefox logs nothing, and shows nothing (e.g.: not even a black region).

When I screencast from chromium, xdp-wlr logs:

2023/05/14 00:45:59 [INFO] - dbus: create session method invoked
2023/05/14 00:45:59 [INFO] - dbus: request_handle: /org/freedesktop/portal/desktop/request/1_241/webrtc_533934588
2023/05/14 00:45:59 [INFO] - dbus: session_handle: /org/freedesktop/portal/desktop/session/1_241/webrtc_session1369358799
2023/05/14 00:45:59 [INFO] - dbus: app_id: 
2023/05/14 00:45:59 [INFO] - dbus: select sources method invoked
2023/05/14 00:45:59 [INFO] - dbus: request_handle: /org/freedesktop/portal/desktop/request/1_241/webrtc1947782303
2023/05/14 00:45:59 [INFO] - dbus: session_handle: /org/freedesktop/portal/desktop/session/1_241/webrtc_session1369358799
2023/05/14 00:45:59 [INFO] - dbus: app_id: 
2023/05/14 00:45:59 [DEBUG] - dbus: select sources: found matching session /org/freedesktop/portal/desktop/session/1_241/webrtc_session1369358799
2023/05/14 00:45:59 [INFO] - dbus: option types:1
2023/05/14 00:45:59 [INFO] - dbus: option multiple: 0
2023/05/14 00:45:59 [INFO] - dbus: option persist_mode:1
2023/05/14 00:45:59 [INFO] - wlroots: capturable output: Ancor Communications Inc model: ROG PG348Q: id: 44 name: DP-1
2023/05/14 00:45:59 [DEBUG] - wlroots: output chooser called
2023/05/14 00:45:59 [DEBUG] - wlroots: output chooser called
2023/05/14 00:45:59 [DEBUG] - wlroots: output chooser selects DP-1
2023/05/14 00:45:59 [INFO] - xdpw: screencast instance 0x7f6e166f6bc0 has 1 references
2023/05/14 00:45:59 [INFO] - xdpw: 1 active screencast instances
2023/05/14 00:45:59 [INFO] - wlroots: output: DP-1
2023/05/14 00:45:59 [INFO] - dbus: start method invoked
2023/05/14 00:45:59 [INFO] - dbus: request_handle: /org/freedesktop/portal/desktop/request/1_241/webrtc1311346438
2023/05/14 00:45:59 [INFO] - dbus: session_handle: /org/freedesktop/portal/desktop/session/1_241/webrtc_session1369358799
2023/05/14 00:45:59 [INFO] - dbus: app_id: 
2023/05/14 00:45:59 [INFO] - dbus: parent_window: 
2023/05/14 00:45:59 [DEBUG] - dbus: start: found matching session /org/freedesktop/portal/desktop/session/1_241/webrtc_session1369358799
2023/05/14 00:45:59 [INFO] - wlroots: num_modififiers 11
2023/05/14 00:45:59 [INFO] - pipewire: stream state changed to "connecting"
2023/05/14 00:45:59 [INFO] - pipewire: node id is -1
2023/05/14 00:45:59 [INFO] - pipewire: stream state changed to "paused"
2023/05/14 00:45:59 [INFO] - pipewire: node id is 133
2023/05/14 00:45:59 [DEBUG] - dbus: start: returning node 133
2023/05/14 00:46:00 [INFO] - dbus: session closed
2023/05/14 00:46:00 [DEBUG] - dbus: destroying session 0x7f6e160dca70
2023/05/14 00:46:00 [DEBUG] - xdpw: screencast instance 0x7f6e166f6bc0 now has 0 references
2023/05/14 00:46:00 [DEBUG] - xdpw: destroying cast instance
2023/05/14 00:46:00 [DEBUG] - pipewire: destroying stream
2023/05/14 00:46:00 [INFO] - pipewire: stream state changed to "unconnected"
2023/05/14 00:46:00 [INFO] - pipewire: node id is -1
2023/05/14 00:46:00 [INFO] - dbus: create session method invoked
2023/05/14 00:46:00 [INFO] - dbus: request_handle: /org/freedesktop/portal/desktop/request/1_241/webrtc_109522688
2023/05/14 00:46:00 [INFO] - dbus: session_handle: /org/freedesktop/portal/desktop/session/1_241/webrtc_session392111061
2023/05/14 00:46:00 [INFO] - dbus: app_id: 
2023/05/14 00:46:00 [INFO] - dbus: select sources method invoked
2023/05/14 00:46:00 [INFO] - dbus: request_handle: /org/freedesktop/portal/desktop/request/1_241/webrtc1912632661
2023/05/14 00:46:00 [INFO] - dbus: session_handle: /org/freedesktop/portal/desktop/session/1_241/webrtc_session392111061
2023/05/14 00:46:00 [INFO] - dbus: app_id: 
2023/05/14 00:46:00 [DEBUG] - dbus: select sources: found matching session /org/freedesktop/portal/desktop/session/1_241/webrtc_session392111061
2023/05/14 00:46:00 [INFO] - dbus: option types:1
2023/05/14 00:46:00 [INFO] - dbus: option multiple: 0
2023/05/14 00:46:00 [INFO] - dbus: option persist_mode:1
2023/05/14 00:46:00 [INFO] - wlroots: capturable output: Ancor Communications Inc model: ROG PG348Q: id: 44 name: DP-1
2023/05/14 00:46:00 [DEBUG] - wlroots: output chooser called
2023/05/14 00:46:00 [DEBUG] - wlroots: output chooser called
2023/05/14 00:46:01 [DEBUG] - wlroots: output chooser selects DP-1
2023/05/14 00:46:01 [INFO] - xdpw: screencast instance 0x7f6e166f6bb0 has 1 references
2023/05/14 00:46:01 [INFO] - xdpw: 1 active screencast instances
2023/05/14 00:46:01 [INFO] - wlroots: output: DP-1
2023/05/14 00:46:01 [INFO] - dbus: start method invoked
2023/05/14 00:46:01 [INFO] - dbus: request_handle: /org/freedesktop/portal/desktop/request/1_241/webrtc364738177
2023/05/14 00:46:01 [INFO] - dbus: session_handle: /org/freedesktop/portal/desktop/session/1_241/webrtc_session392111061
2023/05/14 00:46:01 [INFO] - dbus: app_id: 
2023/05/14 00:46:01 [INFO] - dbus: parent_window: 
2023/05/14 00:46:01 [DEBUG] - dbus: start: found matching session /org/freedesktop/portal/desktop/session/1_241/webrtc_session392111061
2023/05/14 00:46:01 [INFO] - wlroots: num_modififiers 11
2023/05/14 00:46:01 [INFO] - pipewire: stream state changed to "connecting"
2023/05/14 00:46:01 [INFO] - pipewire: node id is -1
2023/05/14 00:46:01 [INFO] - pipewire: stream state changed to "paused"
2023/05/14 00:46:01 [INFO] - pipewire: node id is 133
2023/05/14 00:46:01 [DEBUG] - dbus: start: returning node 133
2023/05/14 00:46:01 [INFO] - dbus: session closed
2023/05/14 00:46:01 [DEBUG] - dbus: destroying session 0x7f6e160dcb30
2023/05/14 00:46:01 [DEBUG] - xdpw: screencast instance 0x7f6e166f6bb0 now has 0 references
2023/05/14 00:46:01 [DEBUG] - xdpw: destroying cast instance
2023/05/14 00:46:01 [DEBUG] - pipewire: destroying stream
2023/05/14 00:46:01 [INFO] - pipewire: stream state changed to "unconnected"
2023/05/14 00:46:01 [INFO] - pipewire: node id is -1

Versions of related components:

chromium-113.0.5672.92-r0 x86_64 {chromium} (BSD-3-Clause) [installed]

xdg-desktop-portal-1.16.0-r0 x86_64 {xdg-desktop-portal} (LGPL-2.1-or-later) [installed]
xdg-desktop-portal-gtk-1.14.1-r2 x86_64 {xdg-desktop-portal-gtk} (LGPL-2.1-or-later) [installed]
xdg-desktop-portal-wlr-0.7.0-r0 x86_64 {xdg-desktop-portal-wlr} (MIT) [installed]

firefox-113.0.1-r0 x86_64 {firefox} (GPL-3.0-only AND LGPL-2.1-only AND LGPL-3.0-only AND MPL-2.0) [installed]

sway-1.8.1-r1 x86_64 {sway} (MIT) [installed]
wlroots-0.16.2-r4 x86_64 {wlroots} (MIT) [installed]

wireplumber, pipewire and pipewire-pulse are all running. Also:

> cat "/proc/$(pidof xdg-desktop-portal)/environ" | tr '\0' '\n' | grep DISPL
WAYLAND_DISPLAY=wayland-1
DISPLAY=:0

> cat "/proc/$(pidof xdg-desktop-portal-wlr)/environ" | tr '\0' '\n' | grep DISPL  
WAYLAND_DISPLAY=wayland-1
DISPLAY=:0

Running this test script:

  • When “sharing” via chromium it prints nothing.
  • When “sharing” via firefox it prints:
{
  "id": 130,
  "type": "PipeWire:Interface:Node",
  "version": 3,
  "permissions": [
    "r",
    "w",
    "x",
    "m"
  ],
  "info": {
    "max-input-ports": 0,
    "max-output-ports": 1,
    "change-mask": [
      "input-ports",
      "output-ports",
      "state",
      "props",
      "params"
    ],
    "n-input-ports": 0,
    "n-output-ports": 1,
    "state": "suspended",
    "error": null,
    "props": {
      "client.id": 69,
      "media.class": "Video/Source",
      "media.name": "xdpw-stream-KngMfa",
      "node.driver": true,
      "node.name": "xdg-desktop-portal-wlr",
      "node.want-driver": true,
      "object.id": 130,
      "object.serial": 1464,
      "stream.is-live": true
    },
    "params": {
      "PropInfo": [],
      "Props": [],
      "EnumFormat": [
        {
          "mediaType": "video",
          "mediaSubtype": "raw",
          "format": "BGRx",
          "modifier": {
            "default": 72057594037927940,
            "alt1": 72057594037927940,
            "alt2": 144115188757872400,
            "alt3": 144115188757856000,
            "alt4": 144115188757659400,
            "alt5": 144115188757438200,
            "alt6": 144115188757871360,
            "alt7": 144115188757854980,
            "alt8": 144115188757658370,
            "alt9": 144115188757437200,
            "alt10": 144115188075858430,
            "alt11": 0
          },
          "size": {
            "width": 3440,
            "height": 1440
          },
          "framerate": {
            "num": 0,
            "denom": 1
          },
          "maxFramerate": {
            "default": {
              "num": 59,
              "denom": 1
            },
            "min": {
              "num": 1,
              "denom": 1
            },
            "max": {
              "num": 59,
              "denom": 1
            }
          }
        },
        {
          "mediaType": "video",
          "mediaSubtype": "raw",
          "format": "RGBx",
          "size": {
            "width": 3440,
            "height": 1440
          },
          "framerate": {
            "num": 0,
            "denom": 1
          },
          "maxFramerate": {
            "default": {
              "num": 59,
              "denom": 1
            },
            "min": {
              "num": 1,
              "denom": 1
            },
            "max": {
              "num": 59,
              "denom": 1
            }
          }
        }
      ],
      "Format": []
    }
  }
}
{
  "id": 122,
  "type": "PipeWire:Interface:Port",
  "version": 3,
  "permissions": [
    "r",
    "w",
    "x",
    "m"
  ],
  "info": {
    "direction": "output",
    "change-mask": [
      "props",
      "params"
    ],
    "props": {
      "node.id": 130,
      "object.id": 122,
      "object.path": "xdg-desktop-portal-wlr:capture_0",
      "object.serial": 1465,
      "port.alias": "xdg-desktop-portal-wlr:capture_1",
      "port.direction": "out",
      "port.id": 0,
      "port.name": "capture_1"
    },
    "params": {
      "EnumFormat": [
        {
          "mediaType": "video",
          "mediaSubtype": "raw",
          "format": "BGRx",
          "modifier": {
            "default": 72057594037927940,
            "alt1": 72057594037927940,
            "alt2": 144115188757872400,
            "alt3": 144115188757856000,
            "alt4": 144115188757659400,
            "alt5": 144115188757438200,
            "alt6": 144115188757871360,
            "alt7": 144115188757854980,
            "alt8": 144115188757658370,
            "alt9": 144115188757437200,
            "alt10": 144115188075858430,
            "alt11": 0
          },
          "size": {
            "width": 3440,
            "height": 1440
          },
          "framerate": {
            "num": 0,
            "denom": 1
          },
          "maxFramerate": {
            "default": {
              "num": 59,
              "denom": 1
            },
            "min": {
              "num": 1,
              "denom": 1
            },
            "max": {
              "num": 59,
              "denom": 1
            }
          }
        },
        {
          "mediaType": "video",
          "mediaSubtype": "raw",
          "format": "RGBx",
          "size": {
            "width": 3440,
            "height": 1440
          },
          "framerate": {
            "num": 0,
            "denom": 1
          },
          "maxFramerate": {
            "default": {
              "num": 59,
              "denom": 1
            },
            "min": {
              "num": 1,
              "denom": 1
            },
            "max": {
              "num": 59,
              "denom": 1
            }
          }
        }
      ],
      "Meta": [
        {
          "type": "Busy",
          "size": 8
        }
      ],
      "IO": [
        {
          "id": "Buffers",
          "size": 8
        }
      ],
      "Format": [],
      "Buffers": [],
      "Latency": []
    }

About this issue

  • Original URL
  • State: open
  • Created a year ago
  • Reactions: 3
  • Comments: 25

Most upvoted comments

afaict this is caused by the now-infamous webrtc bug (https://bugs.chromium.org/p/webrtc/issues/detail?id=15174), because applying the webrtc fix in question to firefox fixes it for me (will test chromium after it builds)