17 votes

Partage d'écran avec Wayland

Quel est le statut du partage d'écran sur Wayland ? Récemment, c'est devenu un sujet essentiel pour les personnes qui font du télétravail.

J'essaie de partager mon écran sur Google Chrome 88 avec WebRTC et j'utilise GNOME 3.36 avec Wayland avec les paquets suivants :

J'ai essayé de tout configurer à partir de zéro en suivant les étapes suivantes :

  1. Construire les paquets avec autotools et installer les dépendances requises avec leurs .pc fichiers pour pkg-config
  2. Copiez le .so bibliothèques partagées pour pipewire à /usr/local/lib/x86_64-linux-gnu et lancez ldconfig pour rafraîchir la configuration
  3. Copiez les fichiers de l'unité dans /usr/local/lib/systemd/user pour systemctl et démarrer les services

Tout étant correctement installé, j'ai activé chrome://flags/#enable-webrtc-pipewire-capturer et j'ai essayé ceci Démonstration et ça dit "Succès !" mais je ne vois qu'un écran noir...

EDIT : Il semble que le problème ait été corrigé à partir d'Ubuntu 22.04 LTS. J'ai essayé sur un ordinateur portable Thinkpad X1, avec l'installation par défaut et j'ai pu partager mon écran sur le lien de démonstration ci-dessus.

4voto

blamesystemd Points 51

La solution facile est d'utiliser ubuntu 21.04 ou une version ultérieure qui intègre correctement pipewire. Ubuntu 21.04 utilise également wayland par défaut (intel et amd uniquement), le partage d'écran pipewire devrait donc fonctionner dès le départ.

La raison en est que ce bug ubuntu qui semble avoir été résolu pour la version 21.04. Ce problème n'est pas causé par firefox ou chromium/chrome.

Vous pouvez également réussir à rétrocomporter des paquets de 21.04 vers 20.04 LTS. Malheureusement, dans ce cas, la seule solution facile ne pourra pas être utilisée dans ubuntu LTS avant 2022 (lorsque 22.04 LTS obtiendra wayland et pipewire par défaut).

J'ai obtenu cette information d'un commentaire reddit où la même question est posée.

1voto

eddygeek Points 1190

Ubuntu 22.04

Le support peut fonctionner à partir de la boîte, mais je n'ai pas tous les paquets nécessaires à la mise à jour.

J'ai pu faire fonctionner le partage d'écran avec les éléments suivants :

( !) pipewire-media-session a cassé mon audio (voir ce bug ) donc peut-être qu'il y a un meilleur moyen / ce n'est pas nécessaire.

sudo apt install xdg-desktop-portal-gnome gnome-remote-desktop

systemctl --user enable pipewire-media-session
systemctl --user start pipewire-media-session
systemctl --user restart xdg-desktop-portal-gnome

Essayez également de redémarrer avant de désespérer.

YMMV, mais pour sûr pipewire-media-session (dépendance de gnome-remote-desktop ) et xdg-desktop-portal-gnome sont nécessaires et n'ont pas été installés par do-release-upgrade à partir du 20.04.

Après cela, j'ai pu valider sccresnharing avec les applications dpkg/snap/flatpak comme suit :

Firefox snap

Le firefox Ubuntu 22.04 par défaut (snap) utilise wayland par défaut, et supporte le partage d'écran WebRTC (testez par exemple avec ceci Expérience WebRTC )

portal in firefox

Malheureusement, certains logiciels (Hello M$ Teams) "blacklists" firefox actuellement.

Chrome wayland dpkg

Chrome 99 est toujours X11 par défaut (malgré la drapeaux de soutien disponible depuis avril 2021), alors commencez-la avec

google-chrome-stable --enable-features=UseOzonePlatform --ozone-platform=wayland &

Et pour le rendre permanent, copier+éditer /usr/share/applications/google-chrome.desktop a ~/.local/share/applications/

Vous devez également activer l'option Prise en charge de WebRTC PipeWire (chrome://flags/#enable-webrtc-pipewire-capturer).

[ portal in chrome ]

Il souffre toujours du problème du "double" portail discuté dans le document Mises à jour WebRTC/Chromium en 2020 mais c'est utilisable.

Kooha paquet plat (enregistreur d'écran)

sudo apt install flatpak
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install io.github.seadve.Kooha
flatpak run io.github.seadve.Kooha &

[ portal in Kooha ]

Dépannage

  • Pertinent Arch wiki
  • wlroots' Liste de contrôle pour le dépannage "Ça ne marche pas".
  • le fond : Les portails Flatpak - comment fonctionnent-ils ? par Peter Hutterer.
  • astuce : exécutez les applications à partir de la ligne de commande et vérifiez les messages d'erreur tels que Erreur lors de la création d'une session de screencast : GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod : No such interface "org.freedesktop.portal.ScreenCast" on object at path /org/freedesktop/portal/desktop -- ce qui signifie que vous n'avez pas d'implémentation de portail -- par exemple, il s'agit de la configuration attendue de dbus telle que vue avec d-feet : d-feet Si vous voyez org.freedesktop.impl.portal.desktop.gnome possède certaines interfaces mais pas le ScreenCast l'un, cela peut signifier qu'il manque une installation de pipewire, ou que xdg-desktop-portal-gnome n'a pas été redémarré pour le récupérer.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X