Screen sharing and capture in Wayland on Gentoo
The article shows the tweaks I had to make to my system in order to be able to share my screen in Zoom, and capture my screen in OBS under Gnome on Wayland on Gentoo.
Update
While I thought this was working, when I came to a meeting to share my screen, my collegues could not see anything bar a single application.
I did some troubleshooting on my own using Zooms record feature and was unable to resolve it using the Zoom flatpak package.
I installed Zoom directly as an ebuild and was able to see the entire screen using that.
Zoom
Firstly, I'm using zoom via Flatpak. Flatpak is an official overlay on Gentoo.
Once flatpak and zoom is installed via:
flatpak install us.zoom.Zoom
You can enable screen sharing via the following tweaks.
Tweak 1: Allow flatpak to talk to gnome stuff I don't really understand
sudo flatpak override --talk-name=org.gnome.Shell \
--talk-name=org.gnome.Shell.Screenshot \
--talk-name=org.gnome.SessionManager \
--talk-name=org.freedesktop.PowerManagement.Inhibit \
--talk-name=org.freedesktop.ScreenSaver us.zoom.Zoom
Ref: https://github.com/flathub/us.zoom.Zoom/pull/182
Tweak 2: Set this in your ~/.var/app/us.zoom.Zoom/config/zoomus.conf
[General]
enableWaylandShare=true
OBS-Studio
This guy Georges Stavracas wrote an OBS plugin to interface with xdg-desktop-portal. It works quite well and I've written an ebuild for it to work in Gentoo.
You can add my overlay here or pilfer my ebuild directly under media-plugins/obs-xdg-portal.
Hot Tip
At first I could not get it to work, and that is because I lacked the understanding about how pipewire and xdg-desktop-portal works. One thing I found sorely lacking is the documentation. Eventually I stumbled upon someone saying you need to enable (or start) pipewire:
systemctl --user enable --now pipewire
Now the plugin allows you to pick your desktop. Strangely, the screenshots show the ability to choose an app, whereas I can only choose my screen.
Oh well, let me know if you know why.
Cheers