regolith-linux / regolith-desktop

Meta package for the Regolith Desktop Environment
1.48k stars 31 forks source link

Regolith 3: Unable to screen share my windows when using SWAY #920

Open tigrato opened 9 months ago

tigrato commented 9 months ago

Describe the bug

Regolith3-sway is unable to screen share any of my screens/windows in Chrome/Firefox.

To Reproduce Open a google meet video and try sharing your screen

Expected behavior Regolith sway should support screen sharing

Configuration file(s) Default config doesn't work.

I tried adding XDG_CURRENT_DESKTOP=sway to ~/.config/environment.d/xdg.conf. With that config, I can share a single display from my computer (I can't select which one) but I loose access to Regolith settings.

Installation Details

Additional context Add any other context about the problem here.

SoumyaRanjanPatnaik commented 9 months ago

Try seeing the environment variable to GNOME:sway. Also you should be able to use the mod+c keybinding to access settings in case this doesn't work

tigrato commented 9 months ago

I tried it and it doesn't work either.the behavior is exactly the same as if it was set to GNOME

Regarding the mod+c command when XDG_CURRENT_DESKTOP=sway, it doesn't work and the settings doesn't show up on available applications as well.

SoumyaRanjanPatnaik commented 9 months ago

What is the output of the following command? echo $XDG_CURRENT_DESKTOP

I have set it to GNOME:sway (notice the colon in between), and it works flawlessly for me. Screen sharing works, and the app launcher (ilia) shows me an entry for the settings app.

tigrato commented 9 months ago

I had to uninstall xdg-desktop-portal-gnome, install slurp and set XDG_CURRENT_DESKTOP=GNOME:sway in order for it to work correctly.

Thank you @SoumyaRanjanPatnaik !

SoumyaRanjanPatnaik commented 9 months ago

Was slurp not auto installed?

tigrato commented 9 months ago

No :cry:

Marcello09 commented 2 months ago

Hello, i'm also facing the same problem.

Ubuntu 22.04. Fresh install of regolith3. Can´t screen share. slupt is not installed by default.

I've created a config file in ~/.config/environment.d setting XDG_CURRENT_DESKTOP=GNOME:sway but no success in sharing screen yet

Marcello09 commented 2 months ago

I had to uninstall xdg-desktop-portal-gnome, install slurp and set XDG_CURRENT_DESKTOP=GNOME:sway in order for it to work correctly.

Thank you @SoumyaRanjanPatnaik !

Doing exacly this worked for me. I had to set the environment in my .zshrc since putting it into .config/enviroment.d/sway_env.conf did not set the environment variable.

SoumyaRanjanPatnaik commented 2 months ago

Doing exacly this worked for me. I had to set the environment in my .zshrc since putting it into .config/enviroment.d/sway_env.conf did not set the environment variable.

I assume that sway_env worked and .zshrc didn't (since sway doesn't import .profile, .bashrc, .zshrc, etc, during the session start). However, the startup script explicitly loads .config/enviroment.d/sway_env.conf.

Glad that you managed to solve this issue though.

lawrencegripper commented 2 months ago

I think I found why the sway_env file in environment.d didn't work. It looks like the sway launcher loads those environment.d then sets the XDG_CURRENT_DESKTOP meaning these get overridden.

https://github.com/regolith-linux/regolith-session/blob/859cc680413992df3085a3d7b509775920f4e7f8/usr/bin/regolith-session-wayland#L39-L45

Added a mini-PR here to fix that up, so the setting can be easily overridden.

kgilmer commented 2 months ago

Hi @lawrencegripper , I haven't been tracking this issue, but noticed your change coincided with some updates we're making for Regolith 3.2. Could take a peek at the version of the Wayland session and comment if you see any concerns?

https://github.com/regolith-linux/regolith-session/blob/feat/systemd-session-merge/usr/bin/regolith-session-wayland#L49

SoumyaRanjanPatnaik commented 2 months ago

Can anyone facing this issue check if the xdg-desktop-portal-regolith-wayland-config package is installed?

lawrencegripper commented 2 months ago

@kgilmer will take a look (fair warning this is not my area of expertise), here was the tweak I've made locally to get me override the XDG_CURRENT_DESKTOP

@SoumyaRanjanPatnaik - It doesn't look like I have that package installed

dpkg -s xdg-desktop-portal-regolith-wayland-config 
dpkg-query: package 'xdg-desktop-portal-regolith-wayland-config' is not installed and no information is available
Use dpkg --info (= dpkg-deb --info) to examine archive files.

It doesn't show up in a search for me either (using https://regolith-desktop.org/release-3_1-ubuntu-jammy-amd64 jammy InRelease)

❯ apt search xdg-desktop-portal-regolith-wayland-config
Sorting... Done
Full Text Search... Done
SoumyaRanjanPatnaik commented 2 months ago

It doesn't show up in a search for me either (using https://regolith-desktop.org/release-3_1-ubuntu-jammy-amd64 jammy InRelease )

AFAIK xdg-desktop-portal-regolith-* should support jammy. Maybe its the InRelease portion of the source (https://regolith-desktop.org/release-3_1-ubuntu-jammy-amd64 jammy InRelease). Maybe try swapping InRelease with main.

Full disclaimer I don't have a complete understanding of how apt sources work, and might be wrong about this, since you were able to upgrade to regolith 3.1

Marcello09 commented 2 months ago

Can anyone facing this issue check if the xdg-desktop-portal-regolith-wayland-config package is installed?

Just checket, it is not. The only packages installed related to xdg-desktop are the follow

xdg-desktop-portal-gtk/jammy,now 1.14.0-1build1 amd64 [installed,automatic]
xdg-desktop-portal-wlr/jammy,now 0.5.0-3 amd64 [installed,automatic]
xdg-desktop-portal/jammy-updates,now 1.14.4-1ubuntu2~22.04.1 amd64 [installed,automatic]
SoumyaRanjanPatnaik commented 1 month ago

@kgilmer seems like the regolith backend for xdg-dekstop-portal isn't installed on jammy.

kgilmer commented 1 month ago

@kgilmer seems like the regolith backend for xdg-dekstop-portal isn't installed on jammy.

Hmm, that package is associated via Recommends, here. (The config package expresses a Depends on the root package) I don't see any varation in the package model that would explain why this package wouldn't be installed on a specific release. I wonder if, when apt is upgrading from one release to another, if it ignores changes to Recommends in the upgraded version of the package...