Linux has a mish mash of evolving protocols, the two which concern us today are Wayland and Pipewire.
chrome: right now,
chrome should just need
-ozone-platform=wayland to natively run under wayland.
It also needs
WebRTC PipeWire support
to capture the desktop.
is a desktop-portal
for wlroots based desktop environments such as Sway.
Basically, a way for applications to access generic desktop functionality over a well known API.
systemctl --user enable xdg-desktop-portal-wlr,
this has activation conditions based on the environment.
sway needs to trigger the start of
exec dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway
should be enough.