SolDoesTech / HyprV3

V3 of Hyprland install script for arch
177 stars 44 forks source link

Can't get screensharing to work.. tried every step of the Thoubleshooting Checklist #7

Open supersourix opened 1 year ago

supersourix commented 1 year ago

Hello, First, thanks for your work. It allowed me to step into the hyprland world quickly. However, I encounter only one issue, and it's sceeensharing.

I've gone through hours of troubleshooting in the hyprland docs and the wlr docs wich hyprland suggested (like the Screen sharing on Hyprland or the "It doesn't work" Troubleshooting Checklist) but with no luck, everything mentioned by them is working already apart from one thing which looks odd and might be the cause of the problem:

This is the output of this command: systemctl --user status xdg-desktop-portal

xdg-desktop-portal.service - Portal service Loaded: loaded (/usr/lib/systemd/user/xdg-desktop-portal.service; static) Active: active (running) since Thu 2023-04-27 19:16:15 CEST; 47min ago Main PID: 735 (xdg-desktop-por) Tasks: 5 (limit: 38301) Memory: 5.5M CPU: 163ms CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/xdg-desktop-portal.service └─735 /usr/lib/xdg-desktop-portal

Apr 27 19:16:15 archlinux xdg-desktop-por[735]: No skeleton to export Apr 27 19:16:15 archlinux systemd[570]: Started Portal service. Apr 27 19:22:16 archlinux xdg-desktop-por[735]: A backend call failed: Message recipient disconnected fr> Apr 27 19:22:41 archlinux xdg-desktop-por[735]: Failed to close session implementation: Timeout was reac> Apr 27 19:22:55 archlinux xdg-desktop-por[735]: A backend call failed: Message recipient disconnected fr> Apr 27 19:23:20 archlinux xdg-desktop-por[735]: Failed to close session implementation: Timeout was reac> Apr 27 19:24:31 archlinux xdg-desktop-por[735]: A backend call failed: Message recipient disconnected fr> Apr 27 19:24:56 archlinux xdg-desktop-por[735]: Failed to close session implementation: Timeout was reac> Apr 27 19:57:28 archlinux xdg-desktop-por[735]: Failed to close session implementation: GDBus.Error:org.> Apr 27 19:57:28 archlinux xdg-desktop-por[735]: Failed to close session implementation: GDBus.Error:org.>

Lots of errors here, might be related I guess ? Thank you for your help

SolDoesTech commented 1 year ago

Hello, Interesting issue, let's start with the basics. Do you have "xdg-desktop-portal-hyprland" installed? also check your "hyprland.conf" and make sure you have a call to execute the "xdg-portal-hyprland" script. Confirm that script is executable as well. If all of that looks good do a "yay -Q | grep xdg" and post the results

Shubham-550 commented 1 year ago

I am also having the same issue.

The output of systemctl --user status xdg-desktop-portal

❯ systemctl --user status xdg-desktop-portal

○ xdg-desktop-portal.service - Portal service Loaded: loaded (/usr/lib/systemd/user/xdg-desktop-portal.service; static) Active: inactive (dead)

Apr 28 01:51:57 LEGION systemd[609]: Started Portal service. Apr 28 01:51:59 LEGION systemd[609]: Starting Portal service... Apr 28 01:51:59 LEGION xdg-desktop-por[476858]: No skeleton to export Apr 28 01:51:59 LEGION systemd[609]: Started Portal service. Apr 28 01:57:14 LEGION systemd[609]: Starting Portal service... Apr 28 01:57:14 LEGION xdg-desktop-por[481017]: No skeleton to export Apr 28 01:57:14 LEGION systemd[609]: Started Portal service. Apr 28 01:58:59 LEGION systemd[609]: Starting Portal service... Apr 28 01:58:59 LEGION xdg-desktop-por[482350]: No skeleton to export Apr 28 01:58:59 LEGION systemd[609]: Started Portal service.

xdg-desktop-portal-hyprland is installed.

In hyprland.conf, "xdg-portal-hyprland" is present.

❯ yay -Q | grep xdg

xdg-dbus-proxy 0.1.4-1 xdg-desktop-portal 1.16.0-1 xdg-desktop-portal-hyprland 0.3.1-1 xdg-user-dirs 0.18-1 xdg-user-dirs-gtk 0.11-1 xdg-utils 1.1.3+25+g8ae0263-1

❯ ./xdg-portal-hyprland xdg-desktop-portal-wlr: no process found

❯ (/usr/lib/xdg-desktop-portal:494698): xdg-desktop-portal-WARNING **: 02:32:10.511: No skeleton to export

SolDoesTech commented 1 year ago

whats the status of systemctl --user status xdg-desktop-portal-hyprland

Also is qt6-wayland and qt5-wayland packages installed?

Shubham-550 commented 1 year ago

❯ systemctl --user status xdg-desktop-portal-hyprland ○ xdg-desktop-portal-hyprland.service - Portal service (Hyprland implementation) Loaded: loaded (/usr/lib/systemd/user/xdg-desktop-portal-hyprland.service; static) Active: inactive (dead)

Apr 28 02:55:55 LEGION systemd[600]: Starting Portal service (Hyprland implementation)... Apr 28 02:55:55 LEGION systemd[600]: Started Portal service (Hyprland implementation).

Yes, qt6-wayland and qt5-wayland packages are both installed.

SolDoesTech commented 1 year ago

in hyprland.conf remove the comment from exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP then logout and back in. If that doesnt work can you try this and give me the output systemctl --user status pipewire wireplumber

Shubham-550 commented 1 year ago

exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP I tried this but same result. `❯ systemctl --user status pipewire wireplumber ● pipewire.service - PipeWire Multimedia Service Loaded: loaded (/usr/lib/systemd/user/pipewire.service; disabled; preset: enabled) Active: active (running) since Fri 2023-04-28 09:45:43 IST; 5min ago TriggeredBy: ● pipewire.socket Main PID: 816 (pipewire) Tasks: 2 (limit: 38214) Memory: 7.3M CPU: 325ms CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire.service └─816 /usr/bin/pipewire

Apr 28 09:45:43 LEGION systemd[591]: Started PipeWire Multimedia Service.

● wireplumber.service - Multimedia Service Session Manager Loaded: loaded (/usr/lib/systemd/user/wireplumber.service; enabled; preset: enabled) Active: active (running) since Fri 2023-04-28 09:45:43 IST; 5min ago Main PID: 817 (wireplumber) Tasks: 6 (limit: 38214) Memory: 37.6M CPU: 490ms CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/wireplumber.service └─817 /usr/bin/wireplumber

Apr 28 09:45:43 LEGION systemd[591]: Started Multimedia Service Session Manager. Apr 28 09:45:43 LEGION wireplumber[817]: [0:00:11.684447227] [817] INFO Camera camera_manager.cpp:298 libcamera v0.0.4 Apr 28 09:45:44 LEGION wireplumber[817]: Object activation aborted: proxy destroyed Apr 28 09:45:44 LEGION wireplumber[817]: failed to activate item: Object activation aborted: proxy destroyed`

Shubham-550 commented 1 year ago

"It doesn't work" Troubleshooting Checklist

  1. Does the screen-sharing application support PipeWire for screen-sharing?

WebRTC PipeWire support: Enabled Preferred Ozone platform: Wayland

  1. Is the PipeWire service running?

❯ systemctl --user status pipewire.socket pipewire ● pipewire.socket - PipeWire Multimedia System Socket Loaded: loaded (/usr/lib/systemd/user/pipewire.socket; enabled; preset: enabled) Active: active (running) since Fri 2023-04-28 09:45:40 IST; 34min ago Triggers: ● pipewire.service Listen: /run/user/1000/pipewire-0 (Stream) CGroup: /user.slice/user-1000.slice/user@1000.service/app.slice/pipewire.socket

Apr 28 09:45:40 LEGION systemd[591]: Listening on PipeWire Multimedia System Socket.

● pipewire.service - PipeWire Multimedia Service Loaded: loaded (/usr/lib/systemd/user/pipewire.service; disabled; preset: enabled) Active: active (running) since Fri 2023-04-28 09:45:43 IST; 34min ago TriggeredBy: ● pipewire.socket Main PID: 816 (pipewire) Tasks: 2 (limit: 38214) Memory: 18.9M CPU: 2.199s CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire.service └─816 /usr/bin/pipewire

Apr 28 09:45:43 LEGION systemd[591]: Started PipeWire Multimedia Service.

  1. Is the Pipewire Multimedia Session Manager service running?

❯ systemctl --user status pipewire-media-session Unit pipewire-media-session.service could not be found.

❯ systemctl --user status wireplumber ● wireplumber.service - Multimedia Service Session Manager Loaded: loaded (/usr/lib/systemd/user/wireplumber.service; enabled; preset: enabled) Active: active (running) since Fri 2023-04-28 09:45:43 IST; 36min ago Main PID: 817 (wireplumber) Tasks: 6 (limit: 38214) Memory: 51.0M CPU: 804ms CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/wireplumber.service └─817 /usr/bin/wireplumber

Apr 28 09:45:43 LEGION systemd[591]: Started Multimedia Service Session Manager. Apr 28 09:45:43 LEGION wireplumber[817]: [0:00:11.684447227] [817] INFO Camera camera_manager.cpp:298 libcamera v0.0.4 Apr 28 09:45:44 LEGION wireplumber[817]: Object activation aborted: proxy destroyed Apr 28 09:45:44 LEGION wireplumber[817]: failed to activate item: Object activation aborted: proxy destroyed

  1. Is the xdp service running?

❯ systemctl --user status xdg-desktop-portal ○ xdg-desktop-portal.service - Portal service Loaded: loaded (/usr/lib/systemd/user/xdg-desktop-portal.service; static) Active: inactive (dead)

Apr 28 09:45:43 LEGION systemd[591]: Starting Portal service... Apr 28 09:45:43 LEGION xdg-desktop-por[770]: No skeleton to export Apr 28 09:45:43 LEGION systemd[591]: Started Portal service. Apr 28 09:50:11 LEGION systemd[591]: Starting Portal service... Apr 28 09:50:11 LEGION xdg-desktop-por[2662]: No skeleton to export Apr 28 09:50:11 LEGION systemd[591]: Started Portal service. Apr 28 09:56:54 LEGION systemd[591]: Starting Portal service... Apr 28 09:56:54 LEGION xdg-desktop-por[4712]: No skeleton to export Apr 28 09:56:54 LEGION systemd[591]: Started Portal service.

  1. Does the xdp service know your wayland socket?

❯ env | grep '^WAYLAND_DISPLAY=' WAYLAND_DISPLAY=wayland-1

❯ < "/proc/$(pidof xdg-desktop-portal)/environ" tr '\0' '\n' | grep '^WAYLAND_DISPLAY=' WAYLAND_DISPLAY=wayland-1

  1. Does the xdp service know what your compositor is?

❯ < "/proc/$(pidof xdg-desktop-portal)/environ" tr '\0' '\n' | grep '^XDG_CURRENT_DESKTOP=' XDG_CURRENT_DESKTOP=Hyprland

  1. Does the screencast starts, but the recording stays black or receives no image?

I run pw-dump from the link but I did not get an output in the terminal for that.

SolDoesTech commented 1 year ago

Please post your hyprland.conf, thank you.

Shubham-550 commented 1 year ago

hyprland-config.txt

supersourix commented 1 year ago

On my end it looks like this: :heavy_check_mark: xdg-desktop-portal-hyprland is installed

:heavy_check_mark: hyperland.conf is there and executable with correct permissions and I have a call to it in hyprland.conf

:notebook: Output of yay -Q | grep xdg xdg-desktop-portal 1.16.0-1 xdg-desktop-portal-hyprland 0.3.1-1 xdg-utils 1.1.3+25+g8ae0263-1

:heavy_check_mark: systemctl --user status xdg-desktop-portal-hyprland is active and running

:heavy_check_mark: qt6-wayland and qt5-wayland packages are installed

:notebook: Output of systemctl --user status pipewire wireplumber both are active and running

Thank you again !

Shubham-550 commented 1 year ago

Why is pipewire.service showing disabled?

❯ systemctl --user status pipewire ● pipewire.service - PipeWire Multimedia Service Loaded: loaded (/usr/lib/systemd/user/pipewire.service; disabled; preset: enabled) Active: active (running) since Sat 2023-04-29 22:23:21 IST; 2min 10s ago

And, why is xdg-desktop-portal inactive (dead)? How to make it active?

❯ systemctl --user status xdg-desktop-portal ○ xdg-desktop-portal.service - Portal service Loaded: loaded (/usr/lib/systemd/user/xdg-desktop-portal.service; static) Active: inactive (dead)

Thank you

Shubham-550 commented 1 year ago

Solved: I installed wlrobs-hg plugin. Add Source -> Wayland output(dmabuf).

yay -S wlrobs-hg

If I add Source -> Wayland output(scpy), obs crash.

Before posting here, I installed the plungin but added scpy source which crashed the obs. Then I uninstalled it.

Thank you Sol for your help.