Debian, Wayland et le partage d'écran avec PipeWire

Du changement

J’ai décidé de changer mon gestionnaire de fenêtres sous Linux après plus de 10 ans de trêve. Bye bye awesome et bienvenue Sway.

Globalement, le passage de awesome à Sway c’est fait assez facilement. Quelques raccourcis à adapter, des nouveautés à apprendre et une machine pleinement fonctionnelle plus rapidement qu’auparavant.

La plus grosse désillusion a été le partage d’écran, essentiel lorsqu’on travaille à distance en équipe. En effet, tout partage d’écran transmet un écran noir. La raison est le changement de serveur graphique, de X11 à Wayland, qui nécessite d’adapter les applications pour que celui-ci fonctionne.

La découverte de PipeWire

La solution est d’utiliser PipeWire. PipeWire a pour ambition de proposer une API unique pour l’audio et la vidéo.

La version proposée dans Debian étant un peu en retard, je l’ai mise à jour. Avec pipewire-pulse, il peut même remplacer pulseaudio, ce que j’ai fait en gardant quelques utilitaires compatibles comme pavucontrol et pactl.

Coté application, pas facile. PipeWire dans Firefox n’est pas encore implémenté. Coté Chrome, il faut activer un flag spécial (chrome://flags/#enable-webrtc-pipewire-capturer), sans succès de mon côté. Et les applications basées sur electron (slack et co) ne sont pas non plus compatible (pour le moment).

Alors la solution est venu avec l’utilisation du script xdp-screen-cast.py. Je lance le script dans une fenêtre et je peux ensuite utiliser le partage d’écran en partageant une fenêtre “python3” (qui est en fait tout le bureau).

Le partage d'écran avec Chrome
Le partage d'écran avec Chrome: Choisir partage d'une fenêtre spécifique "python3" (qui partage en fait tout le bureau)

Avec cette solution, vous pouvez utiliser le partage d’écran dans toutes les applications (Firefox, Chromium, Slack, Discord, …). En prime vous pouvez même créer des effets amusants.

À vous le partage d’écran partout !

Un commentaire ? Contactez moi par email.