Bug 439607 - Can't share screen on a Wayland session with Firefox
Summary: Can't share screen on a Wayland session with Firefox
Status: RESOLVED FIXED
Alias: None
Product: xdg-desktop-portal-kde
Classification: Plasma
Component: general (show other bugs)
Version: 5.22.2
Platform: Neon Linux
: NOR normal
Target Milestone: ---
Assignee: Aleix Pol
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-07-07 17:24 UTC by benaventeadrian
Modified: 2021-07-15 17:45 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Without the flag enabled (19.85 KB, image/png)
2021-07-14 14:57 UTC, benaventeadrian
Details
With flag enabled (20.72 KB, image/png)
2021-07-14 14:58 UTC, benaventeadrian
Details
With flag enabled, a ghost screen can still be selected but it doesn't work (21.52 KB, image/png)
2021-07-14 14:58 UTC, benaventeadrian
Details

Note You need to log in before you can comment on or make changes to this bug.
Description benaventeadrian 2021-07-07 17:24:10 UTC
SUMMARY
Sorry, I don't know if this bug belongs here. I have no way to share my entire screen on a Wayland session with Firefox. I choose the option to use OS native prompt that let me chose if I want to share a single window or the entire screen, but that window never appears.

STEPS TO REPRODUCE
1. Open Firefox browser
2. Create a meeting room on any platform
3. Choose the option to share screen

OBSERVED RESULT
Nothing happens and all that's seen is a black screen

EXPECTED RESULT
Show a native pop-up to select if I want to share a single window or the entire desktop

SOFTWARE/OS VERSIONS
Windows: 
macOS: 
Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION
Comment 1 benaventeadrian 2021-07-07 17:27:04 UTC
P.S.: I've tried this on a fresh install and the problem persists
Comment 2 Jan Grulich 2021-07-12 11:04:22 UTC
Can you start xdg-desktop-portal-kde from a terminal? First kill it and start it with "QT_LOGGING_RULES='xdp*.debug=true'" and try to share a screen and post here the output. 

What is your PipeWire version? Do you have it installed and running?
Comment 3 benaventeadrian 2021-07-12 15:01:52 UTC
I've killed the process but I don't know how to start it manually, I didn't find it as a systemctl service neither as a command.

Running "pipewire --v" returns the following:

pipewire
Compiled with libpipewire 0.3.31
Linked with libpipewire 0.3.31
Comment 4 benaventeadrian 2021-07-12 15:16:01 UTC
And yes, it's running

> systemctl --user status pipewire.service
● pipewire.service - Multimedia Service
     Loaded: loaded (/usr/lib/systemd/user/pipewire.service; disabled; vendor preset: disabled)
     Active: active (running) since Mon 2021-07-12 12:07:44 -03; 6min ago
TriggeredBy: ● pipewire.socket
   Main PID: 1126 (pipewire)
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire.service
             └─1126 /usr/bin/pipewire

jul 12 12:07:44 fena-inspiron3521 systemd[1116]: Started Multimedia Service.
Comment 5 Jan Grulich 2021-07-12 15:17:03 UTC
It's usually in libexec directory so it's not in $PATH and therefore you cannot find it.
Comment 6 benaventeadrian 2021-07-12 15:21:25 UTC
Inside /usr/libexec there's only "xdg-desktop-portal" and "xdg-desktop-portal-gtk" but "sudo apt install xdg-desktop-portal-kde" says it's already installed.
Comment 7 m.s.2575 2021-07-13 12:53:19 UTC
I'm having the same issue on void linux with plasma 5.22.3, frameworks 5.83 and pipewire 0.3.30. I have pipewire, pipewire-pulse and pipewire-media-session running.
When I start the screensharing in firefox, xdg-desktop-portal-kde outputs this:

xdp-kde-screencast: CreateSession called with parameters:
xdp-kde-screencast:     handle:  "/org/freedesktop/portal/desktop/request/1_36/webrtc1333796454"
xdp-kde-screencast:     session_handle:  "/org/freedesktop/portal/desktop/session/1_36/webrtc_session1242833741"
xdp-kde-screencast:     app_id:  ""
xdp-kde-screencast:     options:  QMap()
xdp-kde-screencast: zkde_screencast_unstable_v1 does not seem to be available
xdp-kde-session: "org.freedesktop.impl.portal.Session"
xdp-kde-session: "Close"
xdp-kde-session: "/org/freedesktop/portal/desktop/session/1_36/webrtc_session1242833741"
Comment 8 Jan Grulich 2021-07-13 12:55:38 UTC
(In reply to m.s.2575 from comment #7)
> xdp-kde-screencast: zkde_screencast_unstable_v1 does not seem to be available

Finally we have the reason why it fails. Thank you.


Aleix, do you know what might be missing in this case?
Comment 9 Aleix Pol 2021-07-13 14:22:20 UTC
Can you check:
/usr/share/applications/org.freedesktop.impl.portal.desktop.kde.desktop?

Make sure that Exec= has an absolute path to xdg-desktop-portal-kde and 
X-KDE-Wayland-Interfaces should include kde_screencast_unstable_v1
Comment 10 m.s.2575 2021-07-13 14:54:18 UTC
this is what the file looks like for me (minus all the name translations):

[Desktop Entry]
Type=Application
Name=Portal
Exec=/usr/lib64/libexec/xdg-desktop-portal-kde
X-KDE-Wayland-Interfaces=org_kde_kwin_fake_input,org_kde_plasma_window_management,zkde_screencast_unstable_v1
X-KDE-DBUS-Restricted-Interfaces=org.kde.kwin.Screenshot
NoDisplay=true
Icon=kde

Should be fine, I guess?
Comment 11 benaventeadrian 2021-07-13 15:19:48 UTC
Desktop Entry]
Type=Application
Name=Portal
Name[az]=Portal
Name[ca]=Portal
Name[cs]=Portál
Name[de]=Portal
Name[en_GB]=Portal
Name[es]=Portal
Name[eu]=Ataria
Name[fi]=Portaali
Name[fr]=Portail
Name[hu]=Portál
Name[ia]=Portal
Name[it]=Portale
Name[ko]=포털
Name[lt]=Portalas
Name[nl]=Portaal
Name[nn]=Portal
Name[pl]=Portal
Name[pt]=Portal
Name[pt_BR]=Portal
Name[ro]=Portal
Name[ru]=Портал
Name[sk]=Portal
Name[sv]=Portal
Name[uk]=Портал
Name[x-test]=xxPortalxx
Name[zh_CN]=系统门户
Exec=/usr/lib/x86_64-linux-gnu/libexec/xdg-desktop-portal-kde
X-KDE-Wayland-Interfaces=org_kde_kwin_fake_input,org_kde_plasma_window_management,zkde_screencast_unstable_v1
X-KDE-DBUS-Restricted-Interfaces=org.kde.kwin.Screenshot
NoDisplay=true
Icon=kde
Comment 12 benaventeadrian 2021-07-13 15:29:34 UTC
(In reply to Jan Grulich from comment #2)
> Can you start xdg-desktop-portal-kde from a terminal? First kill it and
> start it with "QT_LOGGING_RULES='xdp*.debug=true'" and try to share a screen
> and post here the output. 
> 
> What is your PipeWire version? Do you have it installed and running?

Now that I found where xdg-desktop-postal-kde is, I did what you asked and got the following:

xdp-kde: Failed to register org.freedesktop.impl.portal.desktop.kde service
Comment 13 m.s.2575 2021-07-13 15:41:58 UTC
(In reply to benaventeadrian from comment #12)
> Now that I found where xdg-desktop-postal-kde is, I did what you asked and
> got the following:
> 
> xdp-kde: Failed to register org.freedesktop.impl.portal.desktop.kde service

You need to kill the old process first, before starting the new one.
Comment 14 benaventeadrian 2021-07-13 15:42:43 UTC
(In reply to m.s.2575 from comment #13)
> (In reply to benaventeadrian from comment #12)
> > Now that I found where xdg-desktop-postal-kde is, I did what you asked and
> > got the following:
> > 
> > xdp-kde: Failed to register org.freedesktop.impl.portal.desktop.kde service
> 
> You need to kill the old process first, before starting the new one.

I did
Comment 15 benaventeadrian 2021-07-13 15:47:11 UTC
(In reply to benaventeadrian from comment #14)
> (In reply to m.s.2575 from comment #13)
> > (In reply to benaventeadrian from comment #12)
> > > Now that I found where xdg-desktop-postal-kde is, I did what you asked and
> > > got the following:
> > > 
> > > xdp-kde: Failed to register org.freedesktop.impl.portal.desktop.kde service
> > 
> > You need to kill the old process first, before starting the new one.
> 
> I did

Ok, it turn out to be that I needed to kill the xdg-desktop-portal process also, not only xdg-desktop-portal-kde. And now I have the output, but nothing changes when I start screen sharing:
❯ /usr/lib/x86_64-linux-gnu/libexec/xdg-desktop-portal-kde QT_LOGGING_RULES='xdp*.debug=true'
xdp-kde: Desktop portal registered successfully
xdp-kde-wayland-integration: Registry initialized
xdp-kde-wayland-integration: Adding output:
xdp-kde-wayland-integration:     manufacturer:  "N3KMP\u0080156WH3"
xdp-kde-wayland-integration:     model:  "LVDS-1-desconocida"
xdp-kde-wayland-integration:     resolution:  QSize(1366, 768)
xdp-kde-wayland-integration: Adding output:
xdp-kde-wayland-integration:     manufacturer:  "LG Electronics"
xdp-kde-wayland-integration:     model:  "LG TV/16843009"
xdp-kde-wayland-integration:     resolution:  QSize(1920, 1080)
xdp-kde-wayland-integration: Adding output:
xdp-kde-wayland-integration:     manufacturer:  "LG Electronics"
xdp-kde-wayland-integration:     model:  "LG TV/16843009"
xdp-kde-wayland-integration:     resolution:  QSize(1920, 1080)
xdp-kde-wayland-integration: Adding output:
xdp-kde-wayland-integration:     manufacturer:  "N3KMP\u0080156WH3"
xdp-kde-wayland-integration:     model:  "LVDS-1-desconocida"
xdp-kde-wayland-integration:     resolution:  QSize(1366, 768)
xdp-kde-wayland-integration: Adding output:
xdp-kde-wayland-integration:     manufacturer:  "LG Electronics"
xdp-kde-wayland-integration:     model:  "LG TV/16843009"
xdp-kde-wayland-integration:     resolution:  QSize(1920, 1080)
xdp-kde-wayland-integration: Adding output:
xdp-kde-wayland-integration:     manufacturer:  "LG Electronics"
xdp-kde-wayland-integration:     model:  "LG TV/16843009"
xdp-kde-wayland-integration:     resolution:  QSize(1920, 1080)
xdp-kde-wayland-integration: Adding output:
xdp-kde-wayland-integration:     manufacturer:  "N3KMP\u0080156WH3"
xdp-kde-wayland-integration:     model:  "LVDS-1-desconocida"
xdp-kde-wayland-integration:     resolution:  QSize(1366, 768)
xdp-kde-wayland-integration: Adding output:
xdp-kde-wayland-integration:     manufacturer:  "LG Electronics"
xdp-kde-wayland-integration:     model:  "LG TV/16843009"
xdp-kde-wayland-integration:     resolution:  QSize(1920, 1080)
xdp-kde-wayland-integration: Adding output:
xdp-kde-wayland-integration:     manufacturer:  "LG Electronics"
xdp-kde-wayland-integration:     model:  "LG TV/16843009"
xdp-kde-wayland-integration:     resolution:  QSize(1920, 1080)
Comment 16 benaventeadrian 2021-07-13 15:49:44 UTC
(In reply to benaventeadrian from comment #15)
> (In reply to benaventeadrian from comment #14)
> > (In reply to m.s.2575 from comment #13)
> > > (In reply to benaventeadrian from comment #12)
> > > > Now that I found where xdg-desktop-postal-kde is, I did what you asked and
> > > > got the following:
> > > > 
> > > > xdp-kde: Failed to register org.freedesktop.impl.portal.desktop.kde service
> > > 
> > > You need to kill the old process first, before starting the new one.
> > 
> > I did
> 
> Ok, it turn out to be that I needed to kill the xdg-desktop-portal process
> also, not only xdg-desktop-portal-kde. And now I have the output, but
> nothing changes when I start screen sharing:
> ❯ /usr/lib/x86_64-linux-gnu/libexec/xdg-desktop-portal-kde
> QT_LOGGING_RULES='xdp*.debug=true'
> xdp-kde: Desktop portal registered successfully
> xdp-kde-wayland-integration: Registry initialized
> xdp-kde-wayland-integration: Adding output:
> xdp-kde-wayland-integration:     manufacturer:  "N3KMP\u0080156WH3"
> xdp-kde-wayland-integration:     model:  "LVDS-1-desconocida"
> xdp-kde-wayland-integration:     resolution:  QSize(1366, 768)
> xdp-kde-wayland-integration: Adding output:
> xdp-kde-wayland-integration:     manufacturer:  "LG Electronics"
> xdp-kde-wayland-integration:     model:  "LG TV/16843009"
> xdp-kde-wayland-integration:     resolution:  QSize(1920, 1080)
> xdp-kde-wayland-integration: Adding output:
> xdp-kde-wayland-integration:     manufacturer:  "LG Electronics"
> xdp-kde-wayland-integration:     model:  "LG TV/16843009"
> xdp-kde-wayland-integration:     resolution:  QSize(1920, 1080)
> xdp-kde-wayland-integration: Adding output:
> xdp-kde-wayland-integration:     manufacturer:  "N3KMP\u0080156WH3"
> xdp-kde-wayland-integration:     model:  "LVDS-1-desconocida"
> xdp-kde-wayland-integration:     resolution:  QSize(1366, 768)
> xdp-kde-wayland-integration: Adding output:
> xdp-kde-wayland-integration:     manufacturer:  "LG Electronics"
> xdp-kde-wayland-integration:     model:  "LG TV/16843009"
> xdp-kde-wayland-integration:     resolution:  QSize(1920, 1080)
> xdp-kde-wayland-integration: Adding output:
> xdp-kde-wayland-integration:     manufacturer:  "LG Electronics"
> xdp-kde-wayland-integration:     model:  "LG TV/16843009"
> xdp-kde-wayland-integration:     resolution:  QSize(1920, 1080)
> xdp-kde-wayland-integration: Adding output:
> xdp-kde-wayland-integration:     manufacturer:  "N3KMP\u0080156WH3"
> xdp-kde-wayland-integration:     model:  "LVDS-1-desconocida"
> xdp-kde-wayland-integration:     resolution:  QSize(1366, 768)
> xdp-kde-wayland-integration: Adding output:
> xdp-kde-wayland-integration:     manufacturer:  "LG Electronics"
> xdp-kde-wayland-integration:     model:  "LG TV/16843009"
> xdp-kde-wayland-integration:     resolution:  QSize(1920, 1080)
> xdp-kde-wayland-integration: Adding output:
> xdp-kde-wayland-integration:     manufacturer:  "LG Electronics"
> xdp-kde-wayland-integration:     model:  "LG TV/16843009"
> xdp-kde-wayland-integration:     resolution:  QSize(1920, 1080)

...after a while, this appeared:
xdp-kde-background: GetAppState called: no parameters
Comment 17 Jan Grulich 2021-07-13 18:32:58 UTC
(In reply to benaventeadrian from comment #16)
> ...after a while, this appeared:
> xdp-kde-background: GetAppState called: no parameters

This is not related to your issue. Do you get a prompt to pick a screen or a window? Because it doesn't seem to be the case based on your log.
Comment 18 benaventeadrian 2021-07-13 20:13:09 UTC
(In reply to Jan Grulich from comment #17)
> (In reply to benaventeadrian from comment #16)
> > ...after a while, this appeared:
> > xdp-kde-background: GetAppState called: no parameters
> 
> This is not related to your issue. Do you get a prompt to pick a screen or a
> window? Because it doesn't seem to be the case based on your log.

No, I don't get that prompt, as I mentioned in my first comment
Comment 19 Jan Grulich 2021-07-14 07:34:14 UTC
(In reply to benaventeadrian from comment #18)
> (In reply to Jan Grulich from comment #17)
> > (In reply to benaventeadrian from comment #16)
> > > ...after a while, this appeared:
> > > xdp-kde-background: GetAppState called: no parameters
> > 
> > This is not related to your issue. Do you get a prompt to pick a screen or a
> > window? Because it doesn't seem to be the case based on your log.
> 
> No, I don't get that prompt, as I mentioned in my first comment

Sorry, I apparently didn't read it properly.

In that case the only thing that comes to my mind is whether your Firefox is build with PipeWire support. Can you try if it works in Chrome? In Chrome you have to enable it with chrome://flags/#enable-webrtc-pipewire-capturer flag
Comment 20 benaventeadrian 2021-07-14 14:57:13 UTC
Created attachment 140052 [details]
Without the flag enabled
Comment 21 benaventeadrian 2021-07-14 14:58:08 UTC
Created attachment 140053 [details]
With flag enabled
Comment 22 benaventeadrian 2021-07-14 14:58:56 UTC
Created attachment 140054 [details]
With flag enabled, a ghost screen can still be selected but it doesn't work
Comment 23 benaventeadrian 2021-07-14 15:00:06 UTC
(In reply to Jan Grulich from comment #19)
> (In reply to benaventeadrian from comment #18)
> > (In reply to Jan Grulich from comment #17)
> > > (In reply to benaventeadrian from comment #16)
> > > > ...after a while, this appeared:
> > > > xdp-kde-background: GetAppState called: no parameters
> > > 
> > > This is not related to your issue. Do you get a prompt to pick a screen or a
> > > window? Because it doesn't seem to be the case based on your log.
> > 
> > No, I don't get that prompt, as I mentioned in my first comment
> 
> Sorry, I apparently didn't read it properly.
> 
> In that case the only thing that comes to my mind is whether your Firefox is
> build with PipeWire support. Can you try if it works in Chrome? In Chrome
> you have to enable it with chrome://flags/#enable-webrtc-pipewire-capturer
> flag

Yes, Jan. I have it enabled. I'm attaching some screenshots so you can see the differences between having the flag enabled or disabled en Chrome. Spoiler alert: it doesn't make much difference.
Comment 24 benaventeadrian 2021-07-14 22:26:23 UTC
(In reply to benaventeadrian from comment #23)
> (In reply to Jan Grulich from comment #19)
> > (In reply to benaventeadrian from comment #18)
> > > (In reply to Jan Grulich from comment #17)
> > > > (In reply to benaventeadrian from comment #16)
> > > > > ...after a while, this appeared:
> > > > > xdp-kde-background: GetAppState called: no parameters
> > > > 
> > > > This is not related to your issue. Do you get a prompt to pick a screen or a
> > > > window? Because it doesn't seem to be the case based on your log.
> > > 
> > > No, I don't get that prompt, as I mentioned in my first comment
> > 
> > Sorry, I apparently didn't read it properly.
> > 
> > In that case the only thing that comes to my mind is whether your Firefox is
> > build with PipeWire support. Can you try if it works in Chrome? In Chrome
> > you have to enable it with chrome://flags/#enable-webrtc-pipewire-capturer
> > flag
> 
> Yes, Jan. I have it enabled. I'm attaching some screenshots so you can see
> the differences between having the flag enabled or disabled en Chrome.
> Spoiler alert: it doesn't make much difference.

P.S.: To give you more context, the screenshot shows Chrome's native prompt that appears when you select "Share entire screen" on Google Meet
Comment 25 Jan Grulich 2021-07-15 06:37:32 UTC
Can you run "dbus-monitor --session" from a terminal and keep it running. Then from a different terminal (tab) start Chrome with "PIPEWIRE_DEBUG=5:connection chrome". Try to share a screen and post here both logs.
Comment 26 benaventeadrian 2021-07-15 14:18:20 UTC
(In reply to Jan Grulich from comment #25)
> Can you run "dbus-monitor --session" from a terminal and keep it running.
> Then from a different terminal (tab) start Chrome with
> "PIPEWIRE_DEBUG=5:connection chrome". Try to share a screen and post here
> both logs.

### FROM `dbus-monitor` ###

                     string "toggle-type"
                     variant                         string "checkmark"
                  )
                  dict entry(
                     string "visible"
                     variant                         boolean true
                  )
               ]
               array [
               ]
            }
         variant             struct {
               int32 605
               array [
                  dict entry(
                     string "type"
                     variant                         string "separator"
                  )
                  dict entry(
                     string "visible"
                     variant                         boolean true
                  )
               ]
               array [
               ]
            }
         variant             struct {
               int32 606
               array [
                  dict entry(
                     string "enabled"
                     variant                         boolean true
                  )
                  dict entry(
                     string "icon-name"
                     variant                         string "object-unlocked"
                  )
                  dict entry(
                     string "label"
                     variant                         string "Solo lectura"
                  )
                  dict entry(
                     string "toggle-state"
                     variant                         int32 0
                  )
                  dict entry(
                     string "toggle-type"
                     variant                         string "checkmark"
                  )
                  dict entry(
                     string "visible"
                     variant                         boolean true
                  )
               ]
               array [
               ]
            }
         variant             struct {
               int32 607
               array [
                  dict entry(
                     string "type"
                     variant                         string "separator"
                  )
                  dict entry(
                     string "visible"
                     variant                         boolean true
                  )
               ]
               array [
               ]
            }
         variant             struct {
               int32 608
               array [
                  dict entry(
                     string "enabled"
                     variant                         boolean true
                  )
                  dict entry(
                     string "icon-name"
                     variant                         string "format-font-size-more"
                  )
                  dict entry(
                     string "label"
                     variant                         string "Agrandar la letra"
                  )
                  dict entry(
                     string "shortcut"
                     variant                         array [
                           array [
                              string "Control"
                              string "plus"
                           ]
                        ]
                  )
                  dict entry(
                     string "visible"
                     variant                         boolean true
                  )
               ]
               array [
               ]
            }
         variant             struct {
               int32 609
               array [
                  dict entry(
                     string "enabled"
                     variant                         boolean true
                  )
                  dict entry(
                     string "label"
                     variant                         string "Reiniciar el tamaño del tipo de letra"
                  )
                  dict entry(
                     string "shortcut"
                     variant                         array [
                           array [
                              string "Control"
                              string "Alt"
                              string "0"
                           ]
                        ]
                  )
                  dict entry(
                     string "visible"
                     variant                         boolean true
                  )
               ]
               array [
               ]
            }
         variant             struct {
               int32 610
               array [
                  dict entry(
                     string "enabled"
                     variant                         boolean true
                  )
                  dict entry(
                     string "icon-name"
                     variant                         string "format-font-size-less"
                  )
                  dict entry(
                     string "label"
                     variant                         string "Reducir la letra"
                  )
                  dict entry(
                     string "shortcut"
                     variant                         array [
                           array [
                              string "Control"
                              string "minus"
                           ]
                        ]
                  )
                  dict entry(
                     string "visible"
                     variant                         boolean true
                  )
               ]
               array [
               ]
            }
         variant             struct {
               int32 611
               array [
                  dict entry(
                     string "children-display"
                     variant                         string "submenu"
                  )
                  dict entry(
                     string "enabled"
                     variant                         boolean true
                  )
                  dict entry(
                     string "icon-name"
                     variant                         string "character-set"
                  )
                  dict entry(
                     string "label"
                     variant                         string "_Establecer la codificación"
                  )
                  dict entry(
                     string "visible"
                     variant                         boolean true
                  )
               ]
               array [
               ]
            }
         variant             struct {
               int32 612
               array [
                  dict entry(
                     string "type"
                     variant                         string "separator"
                  )
                  dict entry(
                     string "visible"
                     variant                         boolean true
                  )
               ]
               array [
               ]
            }
         variant             struct {
               int32 613
               array [
                  dict entry(
                     string "enabled"
                     variant                         boolean true
                  )
                  dict entry(
                     string "icon-name"
                     variant                         string "edit-clear-history"
                  )
                  dict entry(
                     string "label"
                     variant                         string "Limpiar historial de desplazamiento"
                  )
                  dict entry(
                     string "visible"
                     variant                         boolean true
                  )
               ]
               array [
               ]
            }
         variant             struct {
               int32 614
               array [
                  dict entry(
                     string "enabled"
                     variant                         boolean true
                  )
                  dict entry(
                     string "icon-name"
                     variant                         string "edit-clear-history"
                  )
                  dict entry(
                     string "label"
                     variant                         string "Limpiar historial de desplazamiento y reiniciar"
                  )
                  dict entry(
                     string "shortcut"
                     variant                         array [
                           array [
                              string "Control"
                              string "Shift"
                              string "K"
                           ]
                        ]
                  )
                  dict entry(
                     string "visible"
                     variant                         boolean true
                  )
               ]
               array [
               ]
            }
         variant             struct {
               int32 20
               array [
                  dict entry(
                     string "type"
                     variant                         string "separator"
                  )
                  dict entry(
                     string "visible"
                     variant                         boolean true
                  )
               ]
               array [
               ]
            }
         variant             struct {
               int32 21
               array [
                  dict entry(
                     string "enabled"
                     variant                         boolean true
                  )
                  dict entry(
                     string "icon-name"
                     variant                         string "view-fullscreen"
                  )
                  dict entry(
                     string "label"
                     variant                         string "Modo de pantalla c_ompleta"
                  )
                  dict entry(
                     string "shortcut"
                     variant                         array [
                           array [
                              string "F11"
                           ]
                        ]
                  )
                  dict entry(
                     string "toggle-state"
                     variant                         int32 0
                  )
                  dict entry(
                     string "toggle-type"
                     variant                         string "checkmark"
                  )
                  dict entry(
                     string "visible"
                     variant                         boolean true
                  )
               ]
               array [
               ]
            }
      ]
   }
method return time=1626358418.325062 sender=:1.102 -> destination=:1.22 serial=1993 reply_serial=7231
   uint32 133
   struct {
      int32 1
      array [
      ]
      array [
         variant             struct {
               int32 2
               array [
                  dict entry(
                     string "enabled"
                     variant                         boolean true
                  )
                  dict entry(
                     string "icon-name"
                     variant                         string "window-new"
                  )
                  dict entry(
                     string "label"
                     variant                         string "Nueva _ventana"
                  )
                  dict entry(
                     string "shortcut"
                     variant                         array [
                           array [
                              string "Control"
                              string "Shift"
                              string "N"
                           ]
                        ]
                  )
                  dict entry(
                     string "visible"
                     variant                         boolean true
                  )
               ]
               array [
               ]
            }
         variant             struct {
               int32 3
               array [
                  dict entry(
                     string "children-display"
                     variant                         string "submenu"
                  )
                  dict entry(
                     string "enabled"
                     variant                         boolean true
                  )
                  dict entry(
                     string "icon-name"
                     variant                         string "tab-new"
                  )
                  dict entry(
                     string "label"
                     variant                         string "_Nueva pestaña"
                  )
                  dict entry(
                     string "shortcut"
                     variant                         array [
                           array [
                              string "Control"
                              string "Shift"
                              string "T"
                           ]
                        ]
                  )
                  dict entry(
                     string "visible"
                     variant                         boolean true
                  )
               ]
               array [
               ]
            }
         variant             struct {
               int32 4
               array [
                  dict entry(
                     string "enabled"
                     variant                         boolean true
                  )
                  dict entry(
                     string "icon-name"
                     variant                         string "tab-duplicate"
                  )
                  dict entry(
                     string "label"
                     variant                         string "_Clonar pestaña"
                  )
                  dict entry(
                     string "visible"
                     variant                         boolean true
                  )
               ]
               array [
               ]
            }
         variant             struct {
               int32 5
               array [
                  dict entry(
                     string "type"
                     variant                         string "separator"
                  )
                  dict entry(
                     string "visible"
                     variant                         boolean true
                  )
               ]
               array [
               ]
            }
         variant             struct {
               int32 583
               array [
                  dict entry(
                     string "enabled"
                     variant                         boolean true
                  )
                  dict entry(
                     string "icon-name"
                     variant                         string "document-save-as"
                  )
                  dict entry(
                     string "label"
                     variant                         string "Guardar la _salida como..."
                  )
                  dict entry(
                     string "shortcut"
                     variant                         array [
                           array [
                              string "Control"
                              string "Shift"
                              string "S"
                           ]
                        ]
                  )
                  dict entry(
                     string "visible"
                     variant                         boolean true
                  )
               ]
               array [
               ]
            }
         variant             struct {
               int32 584
               array [
                  dict entry(
                     string "type"
                     variant                         string "separator"
                  )
                  dict entry(
                     string "visible"
                     variant                         boolean true
                  )
               ]
               array [
               ]
            }
         variant             struct {
               int32 585
               array [
                  dict entry(
                     string "enabled"
                     variant                         boolean true
                  )
                  dict entry(
                     string "icon-name"
                     variant                         string "document-print"
                  )
                  dict entry(
                     string "label"
                     variant                         string "Imprimir _pantalla..."
                  )
                  dict entry(
                     string "shortcut"
                     variant                         array [
                           array [
                              string "Control"
                              string "Shift"
                              string "P"
                           ]
                        ]
                  )
                  dict entry(
                     string "visible"
                     variant                         boolean true
                  )
               ]
               array [
               ]
            }
         variant             struct {
               int32 586
               array [
                  dict entry(
                     string "type"
                     variant                         string "separator"
                  )
                  dict entry(
                     string "visible"
                     variant                         boolean true
                  )
               ]
               array [
               ]
            }
         variant             struct {
               int32 587
               array [
                  dict entry(
                     string "enabled"
                     variant                         boolean true
                  )
                  dict entry(
                     string "icon-name"
                     variant                         string "system-file-manager"
                  )
                  dict entry(
                     string "label"
                     variant                         string "Abrir gestor de archivos"
                  )
                  dict entry(
                     string "visible"
                     variant                         boolean true
                  )
               ]
               array [
               ]
            }
         variant             struct {
               int32 6
               array [
                  dict entry(
                     string "type"
                     variant                         string "separator"
                  )
                  dict entry(
                     string "visible"
                     variant                         boolean true
                  )
               ]
               array [
               ]
            }
         variant             struct {
               int32 588
               array [
                  dict entry(
                     string "enabled"
                     variant                         boolean true
                  )
                  dict entry(
                     string "icon-name"
                     variant                         string "tab-close"
                  )
                  dict entry(
                     string "label"
                     variant                         string "_Cerrar la sesión"
                  )
                  dict entry(
                     string "shortcut"
                     variant                         array [
                           array [
                              string "Control"
                              string "Shift"
                              string "W"
                           ]
                        ]
                  )
                  dict entry(
                     string "visible"
                     variant                         boolean true
                  )
               ]
               array [
               ]
            }
         variant             struct {
               int32 7
               array [
                  dict entry(
                     string "enabled"
                     variant                         boolean true
                  )
                  dict entry(
                     string "icon-name"
                     variant                         string "window-close"
                  )
                  dict entry(
                     string "label"
                     variant                         string "Cerrar la ventana"
                  )
                  dict entry(
                     string "shortcut"
                     variant                         array [
                           array [
                              string "Control"
                              string "Shift"
                              string "Q"
                           ]
                        ]
                  )
                  dict entry(
                     string "visible"
                     variant                         boolean true
                  )
               ]
               array [
               ]
            }
      ]
   }
method return time=1626358418.326640 sender=:1.102 -> destination=:1.22 serial=1994 reply_serial=7232
   uint32 78
   struct {
      int32 27
      array [
      ]
      array [
         variant             struct {
               int32 615
               array [
                  dict entry(
                     string "enabled"
                     variant                         boolean true
                  )
                  dict entry(
                     string "icon-name"
                     variant                         string "document-properties"
                  )
                  dict entry(
                     string "label"
                     variant                         string "Editar el perfil actual..."
                  )
                  dict entry(
                     string "visible"
                     variant                         boolean true
                  )
               ]
               array [
               ]
            }
         variant             struct {
               int32 616
               array [
                  dict entry(
                     string "children-display"
                     variant                         string "submenu"
                  )
                  dict entry(
                     string "enabled"
                     variant                         boolean true
                  )
                  dict entry(
                     string "label"
                     variant                         string "Cambiar perfil"
                  )
                  dict entry(
                     string "visible"
                     variant                         boolean true
                  )
               ]
               array [
               ]
            }
         variant             struct {
               int32 28
               array [
                  dict entry(
                     string "enabled"
                     variant                         boolean true
                  )
                  dict entry(
                     string "icon-name"
                     variant                         string "configure"
                  )
                  dict entry(
                     string "label"
                     variant                         string "Gestionar perfiles..."
                  )
                  dict entry(
                     string "visible"
                     variant                         boolean true
                  )
               ]
               array [
               ]
            }
         variant             struct {
               int32 29
               array [
                  dict entry(
                     string "type"
                     variant                         string "separator"
                  )
                  dict entry(
                     string "visible"
                     variant                         boolean true
                  )
               ]
               array [
               ]
            }
         variant             struct {
               int32 30
               array [
                  dict entry(
                     string "type"
                     variant                         string "separator"
                  )
                  dict entry(
                     string "visible"
                     variant                         boolean true
                  )
               ]
               array [
               ]
            }
         variant             struct {
               int32 31
               array [
                  dict entry(
                     string "type"
                     variant                         string "separator"
                  )
                  dict entry(
                     string "visible"
                     variant                         boolean true
                  )
               ]
               array [
               ]
            }
         variant             struct {
               int32 32
               array [
                  dict entry(
                     string "enabled"
                     variant                         boolean false
                  )
                  dict entry(
                     string "icon-name"
                     variant                         string "show-menu"
                  )
                  dict entry(
                     string "label"
                     variant                         string "Mostrar la barra de _menú"
                  )
                  dict entry(
                     string "shortcut"
                     variant                         array [
                           array [
                              string "Control"
                              string "Shift"
                              string "M"
                           ]
                        ]
                  )
                  dict entry(
                     string "toggle-state"
                     variant                         int32 1
                  )
                  dict entry(
                     string "toggle-type"
                     variant                         string "checkmark"
                  )
                  dict entry(
                     string "visible"
                     variant                         boolean false
                  )
               ]
               array [
               ]
            }
         variant             struct {
               int32 617
               array [
                  dict entry(
                     string "children-display"
                     variant                         string "submenu"
                  )
                  dict entry(
                     string "enabled"
                     variant                         boolean true
                  )
                  dict entry(
                     string "label"
                     variant                         string "Barras de herramientas mostradas"
                  )
                  dict entry(
                     string "visible"
                     variant                         boolean true
                  )
               ]
               array [
               ]
            }
         variant             struct {
               int32 33
               array [
                  dict entry(
                     string "enabled"
                     variant                         boolean true
                  )
                  dict entry(
                     string "label"
                     variant                         string "Mostrar la barra de _estado"
                  )
                  dict entry(
                     string "toggle-state"
                     variant                         int32 0
                  )
                  dict entry(
                     string "toggle-type"
                     variant                         string "checkmark"
                  )
                  dict entry(
                     string "visible"
                     variant                         boolean true
                  )
               ]
               array [
               ]
            }
         variant             struct {
               int32 34
               array [
                  dict entry(
                     string "type"
                     variant                         string "separator"
                  )
                  dict entry(
                     string "visible"
                     variant                         boolean true
                  )
               ]
               array [
               ]
            }
         variant             struct {
               int32 35
               array [
                  dict entry(
                     string "enabled"
                     variant                         boolean true
                  )
                  dict entry(
                     string "icon-name"
                     variant                         string "preferences-desktop-locale"
                  )
                  dict entry(
                     string "label"
                     variant                         string "Configurar _idioma..."
                  )
                  dict entry(
                     string "visible"
                     variant                         boolean true
                  )
               ]
               array [
               ]
            }
         variant             struct {
               int32 36
               array [
                  dict entry(
                     string "enabled"
                     variant                         boolean true
                  )
                  dict entry(
                     string "icon-name"
                     variant                         string "configure-shortcuts"
                  )
                  dict entry(
                     string "label"
                     variant                         string "Configurar los accesos _rápidos de teclado..."
                  )
                  dict entry(
                     string "visible"
                     variant                         boolean true
                  )
               ]
               array [
               ]
            }
         variant             struct {
               int32 37
               array [
                  dict entry(
                     string "enabled"
                     variant                         boolean true
                  )
                  dict entry(
                     string "icon-name"
                     variant                         string "configure-toolbars"
                  )
                  dict entry(
                     string "label"
                     variant                         string "Configurar las barras de herramien_tas..."
                  )
                  dict entry(
                     string "visible"
                     variant                         boolean true
                  )
               ]
               array [
               ]
            }
         variant             struct {
               int32 38
               array [
                  dict entry(
                     string "enabled"
                     variant                         boolean true
                  )
                  dict entry(
                     string "icon-name"
                     variant                         string "preferences-desktop-notification"
                  )
                  dict entry(
                     string "label"
                     variant                         string "Configurar las _notificaciones..."
                  )
                  dict entry(
                     string "visible"
                     variant                         boolean true
                  )
               ]
               array [
               ]
            }
         variant             struct {
               int32 39
               array [
                  dict entry(
                     string "enabled"
                     variant                         boolean true
                  )
                  dict entry(
                     string "icon-name"
                     variant                         string "configure"
                  )
                  dict entry(
                     string "label"
                     variant                         string "_Configurar Konsole..."
                  )
                  dict entry(
                     string "shortcut"
                     variant                         array [
                           array [
                              string "Control"
                              string "Shift"
                              string ","
                           ]
                        ]
                  )
                  dict entry(
                     string "visible"
                     variant                         boolean true
                  )
               ]
               array [
               ]
            }
      ]
   }
signal time=1626358418.383829 sender=:1.37 -> destination=:1.22 serial=2157 path=/; interface=org.kde.ksystemstats; member=newSensorData
   array [
      struct {
         string "cpu/cpu0/usage"
         variant             double 48
      }
      struct {
         string "cpu/cpu0/usage"
         variant             double 48
      }
      struct {
         string "cpu/cpu1/usage"
         variant             double 25
      }
      struct {
         string "cpu/cpu1/usage"
         variant             double 25
      }
      struct {
         string "cpu/cpu2/usage"
         variant             double 28.5714
      }
      struct {
         string "cpu/cpu2/usage"
         variant             double 28.5714
      }
      struct {
         string "cpu/cpu3/usage"
         variant             double 14.8936
      }
      struct {
         string "cpu/cpu3/usage"
         variant             double 14.8936
      }
      struct {
         string "memory/physical/total"
         variant             uint64 16653398016
      }
      struct {
         string "memory/physical/usedPercent"
         variant             double 58.6697
      }
      struct {
         string "memory/physical/usedPercent"
         variant             double 58.6697
      }
      struct {
         string "memory/physical/usedPercent"
         variant             double 58.6697
      }
      struct {
         string "memory/physical/usedPercent"
         variant             double 58.6697
      }
      struct {
         string "memory/physical/used"
         variant             uint64 9770500096
      }
      struct {
         string "memory/physical/used"
         variant             uint64 9770500096
      }
   ]


### FROM GOOGLE CHROME ###
libva error: vaGetDriverNameByIndex() failed with unknown libva error, driver_name = (null)
[10216:10216:0715/111217.337318:ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process.
Fontconfig error: Cannot load default config file: No such file: (null)
[10216:10216:0715/111222.316562:ERROR:gl_surface_presentation_helper.cc(259)] GetVSyncParametersIfAvailable() failed for 1 times!
[10216:10216:0715/111222.318481:ERROR:gl_surface_presentation_helper.cc(259)] GetVSyncParametersIfAvailable() failed for 2 times!
[10178:10178:0715/111223.514572:ERROR:web_app_url_loader.cc(105)] Error loading https://hoppscotch.io/?source=pwa
[10178:10178:0715/111223.514612:ERROR:web_app_url_loader.cc(106)]   page redirected to https://hoppscotch.io/es?source=pwa
[10216:10216:0715/111232.771560:ERROR:gl_surface_presentation_helper.cc(259)] GetVSyncParametersIfAvailable() failed for 3 times!
[10178:10178:0715/111253.642370:ERROR:web_app_url_loader.cc(136)] Error loading http://10.0.0.5:8888/ page took too long to load.
[10178:10178:0715/111256.688863:ERROR:web_app_url_loader.cc(105)] Error loading https://vuetifyjs.com/
[10178:10178:0715/111256.688891:ERROR:web_app_url_loader.cc(106)]   page redirected to https://vuetifyjs.com/en/
[10178:10178:0715/111300.812183:ERROR:web_app_url_loader.cc(105)] Error loading http://localhost:3000/
[10178:10178:0715/111300.812212:ERROR:web_app_url_loader.cc(106)]   page redirected to http://localhost:3000/login
[10178:10178:0715/111305.243646:ERROR:fallback_task_provider.cc(119)] Every renderer should have at least one task provided by a primary task provider. If a fallback task is shown, it is a bug. Please file a new bug and tag it as a dependency of crbug.com/739782.
[10178:10178:0715/111306.903093:ERROR:fallback_task_provider.cc(119)] Every renderer should have at least one task provided by a primary task provider. If a fallback task is shown, it is a bug. Please file a new bug and tag it as a dependency of crbug.com/739782.
[10178:10178:0715/111314.187027:ERROR:fallback_task_provider.cc(119)] Every renderer should have at least one task provided by a primary task provider. If a fallback task is shown, it is a bug. Please file a new bug and tag it as a dependency of crbug.com/739782.
[10178:10178:0715/111314.554209:ERROR:base_capturer_pipewire.cc(972)] Failed to create a screen cast session: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such interface “org.freedesktop.portal.ScreenCast” on object at path /org/freedesktop/portal/desktop
[10178:10178:0715/111317.457430:ERROR:base_capturer_pipewire.cc(972)] Failed to create a screen cast session: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such interface “org.freedesktop.portal.ScreenCast” on object at path /org/freedesktop/portal/desktop
[10611:14:0715/111320.812028:ERROR:webrtc_video_engine.cc(3415)] Absent receive stream; ignoring clearing encoded frame sink for ssrc 0
[10178:10178:0715/111327.815649:ERROR:fallback_task_provider.cc(119)] Every renderer should have at least one task provided by a primary task provider. If a fallback task is shown, it is a bug. Please file a new bug and tag it as a dependency of crbug.com/739782.
[10178:10178:0715/111332.403300:ERROR:fallback_task_provider.cc(119)] Every renderer should have at least one task provided by a primary task provider. If a fallback task is shown, it is a bug. Please file a new bug and tag it as a dependency of crbug.com/739782.
[10178:10178:0715/111332.469105:ERROR:fallback_task_provider.cc(119)] Every renderer should have at least one task provided by a primary task provider. If a fallback task is shown, it is a bug. Please file a new bug and tag it as a dependency of crbug.com/739782.
[10178:10178:0715/111333.425498:ERROR:fallback_task_provider.cc(119)] Every renderer should have at least one task provided by a primary task provider. If a fallback task is shown, it is a bug. Please file a new bug and tag it as a dependency of crbug.com/739782.
Comment 27 Jan Grulich 2021-07-15 16:46:22 UTC
Next time please attach the output as a text file.

Here is the issue:
[10178:10178:0715/111314.554209:ERROR:base_capturer_pipewire.cc(972)] Failed to create a screen cast session: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such interface “org.freedesktop.portal.ScreenCast” on object at path /org/freedesktop/portal/desktop

You don't seem to have xdg-desktop-portal (at all) or it doesn't have screensharing support enabled, likely it was build with missing dependencies.
Comment 28 benaventeadrian 2021-07-15 17:11:07 UTC
(In reply to Jan Grulich from comment #27)
> Next time please attach the output as a text file.
> 
> Here is the issue:
> [10178:10178:0715/111314.554209:ERROR:base_capturer_pipewire.cc(972)] Failed
> to create a screen cast session:
> GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such interface
> “org.freedesktop.portal.ScreenCast” on object at path
> /org/freedesktop/portal/desktop
> 
> You don't seem to have xdg-desktop-portal (at all) or it doesn't have
> screensharing support enabled, likely it was build with missing dependencies.

Tanks, Jan!
As I stated in https://bugs.kde.org/show_bug.cgi?id=439607#c1 this is a fresh install, the only thing I've installed myself was Pipewire because it doesn't come by default. I tried on a different machine and had the same problem.
Finally, I can confirm I do have xdg-desktop-portal installed. I can see the process running and apt says it's already installed.
Comment 29 Jan Grulich 2021-07-15 17:26:05 UTC
I don't know what version of Ubuntu is Neon based on, but from what I can see only Hirsuite (21.04) has xdg-desktop-portal built with PipeWire support. What is your xdg-desktop-portal version?
Comment 30 benaventeadrian 2021-07-15 17:40:23 UTC
(In reply to Jan Grulich from comment #29)
> I don't know what version of Ubuntu is Neon based on, but from what I can
> see only Hirsuite (21.04) has xdg-desktop-portal built with PipeWire
> support. What is your xdg-desktop-portal version?

Neon is based on Ubutnu 20.04. My version of `xdg-desktop-portal` is 1.6.0-1. So that's the problem maybe.
Comment 31 Jan Grulich 2021-07-15 17:43:59 UTC
(In reply to benaventeadrian from comment #30)
> (In reply to Jan Grulich from comment #29)
> > I don't know what version of Ubuntu is Neon based on, but from what I can
> > see only Hirsuite (21.04) has xdg-desktop-portal built with PipeWire
> > support. What is your xdg-desktop-portal version?
> 
> Neon is based on Ubutnu 20.04. My version of `xdg-desktop-portal` is
> 1.6.0-1. So that's the problem maybe.

Yes, that version doesn't seem to be build with PipeWire support. You will have to build it yourself or check if there is some PPA repository for that.

I'm closing this now.
Comment 32 benaventeadrian 2021-07-15 17:45:23 UTC
(In reply to Jan Grulich from comment #31)
> (In reply to benaventeadrian from comment #30)
> > (In reply to Jan Grulich from comment #29)
> > > I don't know what version of Ubuntu is Neon based on, but from what I can
> > > see only Hirsuite (21.04) has xdg-desktop-portal built with PipeWire
> > > support. What is your xdg-desktop-portal version?
> > 
> > Neon is based on Ubutnu 20.04. My version of `xdg-desktop-portal` is
> > 1.6.0-1. So that's the problem maybe.
> 
> Yes, that version doesn't seem to be build with PipeWire support. You will
> have to build it yourself or check if there is some PPA repository for that.
> 
> I'm closing this now.

Thanks a lot!