You are not logged in.

#1 2025-01-15 17:19:41

HCHB11Cl11
Member
Registered: 2025-01-15
Posts: 3

I can't get screensharing to work on sway

Linux newbie here, so I don't really know how to debug this.

Initially found this out while trying to stream to some friends on Discord, using the Vesktop Discord client. I tried regular Discord, I got the same error.
When I run `flatpak run dev.vencord.Vesktop --trace-warnings`, I initially get:

Wayland socket is available, running natively on Wayland.
To disable, remove the --socket=wayland permission.
Passing the following arguments to Electron: --enable-speech-dispatcher --ozone-platform-hint=auto --enable-wayland-ime
[3:0115/185708.548173:ERROR:bus.cc(407)] Failed to connect to the bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
APPIMAGE env is not defined, current application is not an AppImage
checkForUpdatesAndNotify called, downloadPromise is null

(vesktop.bin:3): Gdk-WARNING **: 18:57:08.655: Failed to read portal settings: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such interface “org.freedesktop.portal.Settings” on object at path /org/freedesktop/portal/desktop
[3:0115/185708.675143:ERROR:bus.cc(407)] Failed to connect to the bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
[3:0115/185708.675171:ERROR:bus.cc(407)] Failed to connect to the bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
[3:0115/185708.676436:ERROR:object_proxy.cc(576)] Failed to call method: org.freedesktop.DBus.Properties.Get: object_path= /org/freedesktop/portal/desktop: org.freedesktop.DBus.Error.InvalidArgs: No such interface “org.freedesktop.portal.FileChooser”
[3:0115/185708.676443:ERROR:select_file_dialog_linux_portal.cc(294)] Failed to read portal version property
[3:0115/185708.717943:ERROR:browser_main_loop.cc(279)] Gtk: gtk_widget_get_scale_factor: assertion 'GTK_IS_WIDGET (widget)' failed

Then, when I try to share my screen, the application crashes and I get the following:

[3:0115/185725.530994:ERROR:shared_x_display.cc(39)] Unable to open display
[3:0115/185725.532748:ERROR:screen_capture_portal_interface.cc(48)] Failed to request session: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: No such interface “org.freedesktop.portal.ScreenCast” on object at path /org/freedesktop/portal/desktop
[3:0115/185725.532754:ERROR:base_capturer_pipewire.cc(81)] ScreenCastPortal failed: 3
Error during screenshare picker Failed to get sources.
(node:3) UnhandledPromiseRejectionWarning: TypeError: Video was requested, but no video stream was provided
    at VCDMain:87:5290
    at emitUnhandledRejectionWarning (node:internal/process/promises:298:15)
    at warnWithErrorCodeUnhandledRejectionsMode (node:internal/process/promises:406:5)
    at processPromiseRejections (node:internal/process/promises:470:17)
    at process.processTicksAndRejections (node:internal/process/task_queues:96:32)
(node:3) TypeError: Video was requested, but no video stream was provided
    at VCDMain:87:5290
/app/bin/startvesktop: line 27:     3 Segmentation fault      (core dumped) zypak-wrapper /app/bin/vesktop/vesktop.bin "${FLAGS[@]}" "$@"

I have been looking for answers online for a while, but nothing seemed to solve my issue.
I tried installing OBS Studio, but I also can't get an output from that, nor can I share my screen through the browser version of Discord.

PipeWire is active.
`cat /usr/share/xdg-desktop-portal/portals/wlr.portal` -- has org.freedesktop.impl.portal.ScreenCast;
`cat /usr/share/xdg-desktop-portal/sway-portals.conf`:

   1   │ [preferred]
   2   │ default=gtk
   3   │ org.freedesktop.impl.portal.ScreenCast=wlr
   4   │ org.freedesktop.impl.portal.Screenshot=wlr

But when I run, `busctl --user introspect org.freedesktop.portal.Desktop /org/freedesktop/portal/desktop`, there is no org.freedesktop.portal.ScreenCast (or org.freedesktop.impl.portal.ScreenCast).

Help is greatly appreciated, thanks!

Offline

#2 2025-01-15 19:17:51

jl2
Member
From: 47° 18' N 8° 34' E
Registered: 2022-06-01
Posts: 1,331

Re: I can't get screensharing to work on sway

Hi, welcome to the boards!

You might find some use full resources on the Hyprland wiki: https://wiki.hyprland.org/Useful-Utilit … n-Sharing/ (especially under §screensharing)

Last edited by jl2 (2025-01-15 19:19:33)


Why I run Arch? To "BTW I run Arch" the guy one grade younger.
And to let my siblings and cousins laugh at Arsch Linux...

Upload longer text output like this

Offline

#3 2025-01-15 19:20:43

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 25,182

Re: I can't get screensharing to work on sway

How are you starting your session? do you have a user session

loginctl session-status
systemctl --user status xdg-session-portal-wlr

did you install any of the optional clients you can choose to actually do a screen recording session? i.e. one of

xdg-desktop-portal-wlr dependencies wrote:

bemenu (optional) - to choose which output to screencast using bemenu
slurp (optional) - to choose which output to screencast using slurp
wofi (optional) - to choose which output to screencast using wofi

@jl2 hyprland doesn't use wlr anymore so any suggestions there are not guaranteed to also apply to sway

Offline

#4 2025-01-15 20:48:44

HCHB11Cl11
Member
Registered: 2025-01-15
Posts: 3

Re: I can't get screensharing to work on sway

V1del wrote:

How are you starting your session? do you have a user session

loginctl session-status
systemctl --user status xdg-session-portal-wlr

did you install any of the optional clients you can choose to actually do a screen recording session? i.e. one of

xdg-desktop-portal-wlr dependencies wrote:

bemenu (optional) - to choose which output to screencast using bemenu
slurp (optional) - to choose which output to screencast using slurp
wofi (optional) - to choose which output to screencast using wofi

@jl2 hyprland doesn't use wlr anymore so any suggestions there are not guaranteed to also apply to sway

Hi, thank you for taking your time to help!
I am starting my session using SDDM
Here is the output of loginctl session status:

9 - vertigo (1000)
  Since: Wed 2025-01-15 22:28:35 EET; 7min ago
  State: active
 Leader: 19980 (sddm-helper)
   Seat: seat0; vc3
    TTY: tty3
 Remote: no
Service: sddm
   Type: wayland
  Class: user
   Idle: no
   Unit: session-9.scope
         ├─19980 /usr/lib/sddm/sddm-helper --socket /tmp/sddm-auth-9cea9788-c1b9-48be-b7ce-912d5ca38526 --id 7 --start sway --user v>
         ├─19984 sway
         ...

Yes, I do have slurp insalled.

`systemctl --user status xdg-session-portal-wlr` gives me this:

× xdg-desktop-portal-wlr.service - Portal service (wlroots implementation)
     Loaded: loaded (/usr/lib/systemd/user/xdg-desktop-portal-wlr.service; static)
     Active: failed (Result: exit-code) since Wed 2025-01-15 22:19:27 EET; 18min ago
 Invocation: d4a40863773a4200a8fe49770f4e040d
    Process: 15631 ExecStart=/usr/lib/xdg-desktop-portal-wlr (code=exited, status=1/FAILURE)
   Main PID: 15631 (code=exited, status=1/FAILURE)

Jan 15 22:19:27 arch systemd[770]: xdg-desktop-portal-wlr.service: Scheduled restart job, restart counter is at 5.
Jan 15 22:19:27 arch systemd[770]: xdg-desktop-portal-wlr.service: Start request repeated too quickly.
Jan 15 22:19:27 arch systemd[770]: xdg-desktop-portal-wlr.service: Failed with result 'exit-code'.
Jan 15 22:19:27 arch systemd[770]: Failed to start Portal service (wlroots implementation).

I have no idea what's causing this issue... I had `exec /usr/lib/xdg-desktop-portal-wlr -r` in my sway config. I commented it out, restarted the session, the output is the same.

Offline

#5 2025-01-15 22:33:02

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 25,182

Re: I can't get screensharing to work on sway

You'll want to figure out why this is crashing, can you post

pacman -Qs 'sway|xdg-desktop'
sudo journalctl -b | curl -F 'file=@-' 0x0.st

Offline

Board footer

Powered by FluxBB