You are not logged in.

#1 2021-09-15 17:49:44

HotDogEnemy
Member
Registered: 2020-11-24
Posts: 72

Can't screenshare on KDE with wayland+pipewire

I was trying to screenshare on Google Meet while using Firefox with Wayland and PipeWire. I made sure to start Firefox with the MOZ_ENABLE_WAYLAND=1 environment variable. However, it didn't work.

So I went to FIrefox's WebRTC test page (https://mozilla.github.io/webrtc-landing/gum_test.html) and tried to screenshare there, with no luck. I tried again while running xdg-desktop-portal-kde in a terminal window, and this was the output:

$ /usr/lib/xdg-desktop-portal-kde
xdp-kde: Desktop portal registered successfully
xdp-kde-wayland-integration: Registry initialized
xdp-kde-wayland-integration: Adding output:
xdp-kde-wayland-integration:     manufacturer:  "Goldstar Company Ltd"
xdp-kde-wayland-integration:     model:  "HDMI-A-1-LG FULL HD"
xdp-kde-wayland-integration:     resolution:  QSize(1920, 1080)
xdp-kde-wayland-integration: Adding output:
xdp-kde-wayland-integration:     manufacturer:  "Goldstar Company Ltd"
xdp-kde-wayland-integration:     model:  "HDMI-A-1-LG FULL HD"
xdp-kde-wayland-integration:     resolution:  QSize(1920, 1080)
xdp-kde-wayland-integration: Adding output:
xdp-kde-wayland-integration:     manufacturer:  "Goldstar Company Ltd"
xdp-kde-wayland-integration:     model:  "HDMI-A-1-LG FULL HD"
xdp-kde-wayland-integration:     resolution:  QSize(1920, 1080)
xdp-kde-wayland-integration: Adding output:
xdp-kde-wayland-integration:     manufacturer:  "Goldstar Company Ltd"
xdp-kde-wayland-integration:     model:  "HDMI-A-1-LG FULL HD"
xdp-kde-wayland-integration:     resolution:  QSize(1920, 1080)
xdp-kde-wayland-integration: Adding output:
xdp-kde-wayland-integration:     manufacturer:  "Goldstar Company Ltd"
xdp-kde-wayland-integration:     model:  "HDMI-A-1-LG FULL HD"
xdp-kde-wayland-integration:     resolution:  QSize(1920, 1080)
xdp-kde-wayland-integration: Adding output:
xdp-kde-wayland-integration:     manufacturer:  "Goldstar Company Ltd"
xdp-kde-wayland-integration:     model:  "HDMI-A-1-LG FULL HD"
xdp-kde-wayland-integration:     resolution:  QSize(1920, 1080)
xdp-kde-wayland-integration: Adding output:
xdp-kde-wayland-integration:     manufacturer:  "Goldstar Company Ltd"
xdp-kde-wayland-integration:     model:  "HDMI-A-1-LG FULL HD"
xdp-kde-wayland-integration:     resolution:  QSize(1920, 1080)
xdp-kde-wayland-integration: Adding output:
xdp-kde-wayland-integration:     manufacturer:  "Goldstar Company Ltd"
xdp-kde-wayland-integration:     model:  "HDMI-A-1-LG FULL HD"
xdp-kde-wayland-integration:     resolution:  QSize(1920, 1080)
xdp-kde-wayland-integration: Adding output:
xdp-kde-wayland-integration:     manufacturer:  "Goldstar Company Ltd"
xdp-kde-wayland-integration:     model:  "HDMI-A-1-LG FULL HD"
xdp-kde-wayland-integration:     resolution:  QSize(1920, 1080)
xdp-kde-wayland-integration: Adding output:
xdp-kde-wayland-integration:     manufacturer:  "Goldstar Company Ltd"
xdp-kde-wayland-integration:     model:  "HDMI-A-1-LG FULL HD"
xdp-kde-wayland-integration:     resolution:  QSize(1920, 1080)
xdp-kde-wayland-integration: Adding output:
xdp-kde-wayland-integration:     manufacturer:  "Goldstar Company Ltd"
xdp-kde-wayland-integration:     model:  "HDMI-A-1-LG FULL HD"
xdp-kde-wayland-integration:     resolution:  QSize(1920, 1080)
xdp-kde-wayland-integration: Adding output:
xdp-kde-wayland-integration:     manufacturer:  "Goldstar Company Ltd"
xdp-kde-wayland-integration:     model:  "HDMI-A-1-LG FULL HD"
xdp-kde-wayland-integration:     resolution:  QSize(1920, 1080)
xdp-kde-wayland-integration: Adding output:
xdp-kde-wayland-integration:     manufacturer:  "Goldstar Company Ltd"
xdp-kde-wayland-integration:     model:  "HDMI-A-1-LG FULL HD"
xdp-kde-wayland-integration:     resolution:  QSize(1920, 1080)
xdp-kde-wayland-integration: Adding output:
xdp-kde-wayland-integration:     manufacturer:  "Goldstar Company Ltd"
xdp-kde-wayland-integration:     model:  "HDMI-A-1-LG FULL HD"
xdp-kde-wayland-integration:     resolution:  QSize(1920, 1080)
xdp-kde-screencast: CreateSession called with parameters:
xdp-kde-screencast:     handle:  "/org/freedesktop/portal/desktop/request/1_214/webrtc913472092"
xdp-kde-screencast:     session_handle:  "/org/freedesktop/portal/desktop/session/1_214/webrtc_session1938228541"
xdp-kde-screencast:     app_id:  ""
xdp-kde-screencast:     options:  QMap()
xdp-kde-screencast: SelectSource called with parameters:
xdp-kde-screencast:     handle:  "/org/freedesktop/portal/desktop/request/1_214/webrtc1246563230"
xdp-kde-screencast:     session_handle:  "/org/freedesktop/portal/desktop/session/1_214/webrtc_session1938228541"
xdp-kde-screencast:     app_id:  ""
xdp-kde-screencast:     options:  QMap(("multiple", QVariant(bool, false))("types", QVariant(uint, 3)))
xdp-kde-screencast: Start called with parameters:
xdp-kde-screencast:     handle:  "/org/freedesktop/portal/desktop/request/1_214/webrtc1804205960"
xdp-kde-screencast:     session_handle:  "/org/freedesktop/portal/desktop/session/1_214/webrtc_session1938228541"
xdp-kde-screencast:     app_id:  ""
xdp-kde-screencast:     parent_window:  ""
xdp-kde-screencast:     options:  QMap()
xdp-kde-notificationinhibition: Inhibiting notifications for "" with reason "Screen sharing in progress" and cookie 1
xdp-kde-background: GetAppState called: no parameters
xdp-kde-background: GetAppState called: no parameters
xdp-kde-background: GetAppState called: no parameters
xdp-kde-background: GetAppState called: no parameters
xdp-kde-background: GetAppState called: no parameters
xdp-kde-background: GetAppState called: no parameters
xdp-kde-background: GetAppState called: no parameters
xdp-kde-background: GetAppState called: no parameters
xdp-kde-background: GetAppState called: no parameters
xdp-kde-background: GetAppState called: no parameters
xdp-kde-background: GetAppState called: no parameters
xdp-kde-background: GetAppState called: no parameters
xdp-kde-background: GetAppState called: no parameters
xdp-kde-background: GetAppState called: no parameters
xdp-kde-background: GetAppState called: no parameters
xdp-kde-background: GetAppState called: no parameters

It keeps repeating the "GetAppState called: no parameters" message after that, even after stopping the screen sharing. The menu with the displays/windows to screenshare also doesn't appear anymore if I try to screenshare again. Firefox also indicates that the page is still screensharing, even after stopping the screenshare.

I should also mention that KDE X11 + pipewire, and GNOME X11 + pipewire works well. GNOME wayland + pipewire screen sharing requires me to kill xdg-desktop-portal, xdg-desktop-portal-gtk and xdg-desktop-portal-kde, after which it works well.

Last edited by HotDogEnemy (2021-09-16 15:04:26)

Offline

#2 2021-09-16 06:18:49

icar
Member
From: Catalunya
Registered: 2020-07-31
Posts: 453

Re: Can't screenshare on KDE with wayland+pipewire

It broke for me recently aswell. Either because of the last pipewire update or FF's.

Offline

#3 2021-09-16 09:31:08

HotDogEnemy
Member
Registered: 2020-11-24
Posts: 72

Re: Can't screenshare on KDE with wayland+pipewire

What desktop environment/window manager do you use? Pipewire and FF version?

As for me, my PipeWire version is 0.3.35, Firefox version is 92.0, on KDE Plasma 5.22.5.

Offline

#4 2021-09-16 13:59:02

icar
Member
From: Catalunya
Registered: 2020-07-31
Posts: 453

Re: Can't screenshare on KDE with wayland+pipewire

I'm using Gnome.

pipewire 1:0.3.35-1
firefox 92.0-1

Offline

#5 2021-09-16 14:11:04

HotDogEnemy
Member
Registered: 2020-11-24
Posts: 72

Re: Can't screenshare on KDE with wayland+pipewire

Could you try this to get logs from xdg-desktop-portal? I want to see if the issue is the same on your end:

1. Kill the processes xdg-desktop-portal and xdg-desktop-portal-gtk using their PID (names don't work for some reason)
2. Launch a new instance of xdg-desktop-portal-gtk in a terminal with

$ /usr/lib/xdg-desktop-portal-gtk

3. Try to screenshare on Mozilla's test website here : https://mozilla.github.io/webrtc-landing/gum_test.html
4. Post the logs from xdg-desktop-portal-gtk

Offline

#6 2021-09-16 14:15:55

icar
Member
From: Catalunya
Registered: 2020-07-31
Posts: 453

Re: Can't screenshare on KDE with wayland+pipewire

╰─? /usr/lib/xdg-desktop-portal-gtk        

** (xdg-desktop-portal-gtk:5773): WARNING **: 16:14:02.518: Unhandled parent window type 


** (xdg-desktop-portal-gtk:5773): WARNING **: 16:14:02.518: Failed to associate portal window with parent window 

Then I it doesn't work. I then click the "Stop" button and nothing happens aswell, so I stop the screencast from the Gnome menu directly. Then this:

** (xdg-desktop-portal-gtk:5773): WARNING **: 16:14:10.171: Failed to close GNOME screen cast session: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No existeix la interfície «org.gnome.Mutter.ScreenCast.Session» en l'objecte al camí /org/gnome/Mutter/ScreenCast/Session/u4

(No existeix la interfície = The interface doesn't exist)

Offline

#7 2021-09-16 15:02:21

HotDogEnemy
Member
Registered: 2020-11-24
Posts: 72

Re: Can't screenshare on KDE with wayland+pipewire

Out of curiosity I tried doing the same with xdg-desktop-portal-gtk on GNOME wayland, I got no errors and screensharing works on both Firefox and Chromium. Only problem is, I have to kill xdg-desktop-portal, xdg-desktop-portal-gtk and xdg-desktop-portal-kde first, and only then does the screen sharing dialog pop up. Seems like only KDE + Wayland is affected by this bug on my side, I'll update my post.

I'm out of ideas for what to do about your issue, sorry.

Offline

#8 2021-09-16 16:00:56

icar
Member
From: Catalunya
Registered: 2020-07-31
Posts: 453

Re: Can't screenshare on KDE with wayland+pipewire

I do see the dialog to choose either the whole screen or just a window.

Offline

#9 2021-09-16 16:20:50

HotDogEnemy
Member
Registered: 2020-11-24
Posts: 72

Re: Can't screenshare on KDE with wayland+pipewire

Did you select your monitor name? I did that and the screen share worked on GNOME.

I'm honestly out of ideas, I suggest waiting for someone more knowledgeable to come along and help out..

Offline

Board footer

Powered by FluxBB