| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
| pipewire [Le 20/04/2026, 20:31] – +cable pour opti | liens internes | détails cable / qpwgraph krodelabestiole | pipewire [Le 26/08/2026, 04:37] (Version actuelle) – màj lien interne krodelabestiole |
|---|
| ===== Configuration ===== | ===== Configuration ===== |
| |
| Pour une utilisation simple il n'y a rien à configurer. Il suffit de choisir la sortie audio de son choix dans les [[:gnome-control-center|paramètres du système]] ou plus rapidement dans le [[gnome-shell#le_menu_systeme|menu système de la barre supérieure]] (pour [[:GNOME]], à adapter si vous utilisez un autre [[:environnements|environnement de bureau]]). | Pour une utilisation simple il n'y a rien à configurer. Il suffit de choisir la sortie audio de son choix dans les [[:gnome-control-center|paramètres du système]] ou plus rapidement dans le [[:gnome_shell#le_menu_systeme|menu système de la barre supérieure]] (pour [[:GNOME]], à adapter si vous utilisez un autre [[:environnements|environnement de bureau]]). |
| |
| Pour voir la liste des actions disponibles en [[:commande_shell|ligne de commande]] : | Pour voir la liste des actions disponibles en [[:commande_shell|ligne de commande]] : |
| |
| Il existe différentes interfaces graphiques permettant de gérer **PipeWire** : | Il existe différentes interfaces graphiques permettant de gérer **PipeWire** : |
| * les [[:environnements|environnements de bureau]] d'Ubuntu ([[:GNOME]], [[:KDE]], etc.) prennent en charge les fonctionnalités de base de **PipeWire** : gestion du volume depuis les boutons multimédia du clavier ou des raccourcis sur la [[:gnome-shell#barre supérieure]] (ou barre de tâches), choix des entrées et sorties audio par défaut au moins dans les [[:gnome-control-center|paramètres système]]. | * les [[:environnements|environnements de bureau]] d'Ubuntu ([[:GNOME]], [[:KDE]], etc.) prennent en charge les fonctionnalités de base de **PipeWire** : gestion du volume depuis les boutons multimédia du clavier ou des raccourcis sur la [[:gnome_shell#barre supérieure]] (ou barre de tâches), choix des entrées et sorties audio par défaut au moins dans les [[:gnome-control-center|paramètres système]]. |
| |
| * **[[#qpwgraph]]** est probablement l'interface la plus utilisée pour [[#router]] les signaux audio, vidéo et [[:MIDI]] (utilise la bibliothèque [[:Qt]]). | * **[[#qpwgraph]]** est probablement l'interface la plus utilisée pour [[#router]] les signaux audio, vidéo et [[:MIDI]] (utilise la bibliothèque [[:Qt]]). |
| * **[[#Cable]]** permet de définir la résolution de travail de **PipeWire** (voir //[[#Optimisation]]//), ainsi que de choisir facilement **différents profils** pour ses interfaces audio. Il offre aussi un //graph// pour le [[#routage]], un //mixer//, une visualisation de ''[[man>pw-top]]'', et la gestion de la latence. Il est disponible en [[:deb]] isolé, en [[:Appimage]], ou en [[:Flatpak]] isolé sur son [[https://github.com/magillos/Cable/releases|GitHub]]. | * **[[#Cable]]** permet de définir la résolution de travail de **PipeWire** (voir //[[#Optimisation]]//), ainsi que de choisir facilement **différents profils** pour ses interfaces audio. Il offre aussi un //graph// pour le [[#routage]], un //mixer//, une visualisation de ''[[man>pw-top]]'', et la gestion de la latence. Il est disponible en [[:deb]] isolé, en [[:Appimage]], ou en [[:Flatpak]] isolé sur son [[https://github.com/magillos/Cable/releases|GitHub]]. |
| |
| * **[[https://github.com/dimtpap/coppwr|coppwr]]** fournit une gestion beaucoup plus complète, et donne accès à quantité d'informations et de réglages de bas niveau. Il propose entre autre un //graph// pour configurer le [[#routage]]. **coppwr** est disponible en [[:flatpak]] sur le dépôt [[https://flathub.org/fr/apps/io.github.dimtpap.coppwr|Flathub]] et peut donc s'installer en suivant [[:gerer_flatpak#pre-requis|cette procédure]] puis en installant le paquet ''io.github.dimtpap.coppwr''. | * **[[https://github.com/dimtpap/coppwr|coppwr]]** fournit une gestion extrêmement complète, et donne accès à quantité d'informations et de réglages de bas niveau. Il est cependant moins //user friendly// que [[#cable]], par exemple. Il propose entre autre un //graph// pour configurer le [[#routage]]. **coppwr** est disponible en [[:flatpak]] sur le dépôt [[https://flathub.org/fr/apps/io.github.dimtpap.coppwr|Flathub]] et peut donc s'installer en suivant [[:gerer_flatpak#pre-requis|cette procédure]] puis en installant le paquet ''io.github.dimtpap.coppwr''. |
| |
| * **[[https://gitlab.freedesktop.org/pipewire/helvum|Helvum]]** est une alternative à **[[#qpwgraph]]**, également consacrée au [[#routage]], utilisant la bibliothèque [[:GTK]]. | * **[[https://gitlab.freedesktop.org/pipewire/helvum|Helvum]]** est une alternative à **[[#qpwgraph]]**, également consacrée au [[#routage]], utilisant la bibliothèque [[:GTK]]. |
| * **[[https://codeberg.org/sonusmix/sonusmix|Sonusmix]]** propose des fonctionnalités de mixage proches de **pwvucontrol**, avec la possibilité de personnaliser plus finement l'interface, ce qui le rend probablement moins intuitif. Il est distribué en [[:Flatpak]] et en [[:Appimage]] sur [[https://codeberg.org/sonusmix/sonusmix/releases|son site]]. | * **[[https://codeberg.org/sonusmix/sonusmix|Sonusmix]]** propose des fonctionnalités de mixage proches de **pwvucontrol**, avec la possibilité de personnaliser plus finement l'interface, ce qui le rend probablement moins intuitif. Il est distribué en [[:Flatpak]] et en [[:Appimage]] sur [[https://codeberg.org/sonusmix/sonusmix/releases|son site]]. |
| |
| * de nombreuses [[:extensions-gnome|extensions de GNOME]] permettent d'accéder facilement et graphiquement à certaines fonctionnalités particulières de **PipeWire**, voir le [[https://extensions.gnome.org/#search=pipewire|site des extensions]]. | * de nombreuses [[:extensions_gnome|extensions de GNOME]] permettent d'accéder facilement et graphiquement à certaines fonctionnalités particulières de **PipeWire**, voir le [[https://extensions.gnome.org/#search=pipewire|site des extensions]]. |
| |
| ==== Routage ==== | ==== Routage ==== |
| On peut gérer ces connexions en ligne de commande mais il est probablement beaucoup plus pratique d'utiliser une [[#interfaces graphiques|interface graphique]], telle que [[#qpwgraph]] ou [[#Cable]], qui remplacent avantageusement [[:QjackCtl]] (qu'on utilisait pour [[:jackd|JACK]]). | On peut gérer ces connexions en ligne de commande mais il est probablement beaucoup plus pratique d'utiliser une [[#interfaces graphiques|interface graphique]], telle que [[#qpwgraph]] ou [[#Cable]], qui remplacent avantageusement [[:QjackCtl]] (qu'on utilisait pour [[:jackd|JACK]]). |
| |
| Par ailleurs il n'est absolument pas indispensable d'utiliser d'interface de ce type. Les simples connexions sont gérées automatiquement depuis les paramètres de l'[[:environnements|environnement de bureau]] : en choisissant une sortie audio dans le [[:gnome-shell#le_menu_systeme|menu système de GNOME]], ou dans [[:gnome-controle-center|GNOME Paramètres]] -> //Son// par ex., les applications du bureau (tels que le navigateur internet ou les lecteurs audio ou vidéo) se connecteront automatiquement au périphérique audio sélectionné. **[[#qpwgraph]]**, **[[#Cable]]** ou **[[https://github.com/dimtpap/coppwr|coppwr]]** peuvent permettre de visualiser ce comportement. | Par ailleurs il n'est absolument pas indispensable d'utiliser d'interface de ce type. Les simples connexions sont gérées automatiquement depuis les paramètres de l'[[:environnements|environnement de bureau]] : en choisissant une sortie audio dans le [[:gnome_shell#le_menu_systeme|menu système de GNOME]], ou dans [[:gnome-control-center|GNOME Paramètres]] -> //Son// par ex., les applications du bureau (tels que le navigateur internet ou les lecteurs audio ou vidéo) se connecteront automatiquement au périphérique audio sélectionné. **[[#qpwgraph]]**, **[[#Cable]]** ou **[[https://github.com/dimtpap/coppwr|coppwr]]** peuvent permettre de visualiser ce comportement. |
| |
| <note tip> | <note tip> |
| wget https://github.com/magillos/Cable/releases/download/0.10.5/Cable-0.10.5.deb | wget https://github.com/magillos/Cable/releases/download/0.10.5/Cable-0.10.5.deb |
| sudo apt install ./Cable-0.10.5.deb | sudo apt install ./Cable-0.10.5.deb |
| -- À adapter en fonction de la dernière version disponible sur [[https://github.com/magillos/Cable/releases/latest|GitHub]]. | -- À adapter en fonction de la dernière version disponible sur [[https://github.com/magillos/Cable/releases/latest|GitHub]].\\ |
| | On peut aussi mettre l'application à jour avec le bouton //Settings// sur la fenêtre d'accueil -> //Check for new version//. |
| |
| {{:captures:cable_home.png?300|Cable - accueil}} | {{:captures:cable_home.png?300|Cable - accueil}} |
| |
| En bas de la page d'accueil de **Cable**, cliquer sur le bouton //Cables// pour ouvrir la fenêtre principale de l'application. | En bas de la page d'accueil de **Cable**, cliquer sur le bouton //Cables// pour ouvrir la fenêtre principale de l'application. |
| | |
| | <note tip> |
| | On peut aussi changer l'interface pour avoir la fenêtre d'accueil intégrée comme les autres onglets, et donc tout dans une fenêtre unique :\\ |
| | cliquer sur le bouton //Settings// en bas de la fenêtre d'accueil -> puis cocher //Integrate Cable and Cables//. |
| | </note> |
| |
| {{:captures:cable_graph.png?700|Cable - graph}} | {{:captures:cable_graph.png?700|Cable - graph}} |
| |
| Il est possible de modifier ces paramètres sans éditer de fichier ou entrer la moindre ligne de commande : | Il est possible de modifier ces paramètres sans éditer de fichier ou entrer la moindre ligne de commande : |
| * **[[https://extensions.gnome.org/extension/7699/pipewire-settings/|Pipewire Settings]]** est une [[:extensions-gnome|extension GNOME]] très simple et dédiée spécifiquement à ces réglages (sélectionner //Persist settings// pour conserver les réglages pour les prochaines sessions)((Merci à socratisator [[https://forum.ubuntu-fr.org/viewtopic.php?pid=22838522#p22838522|sur le forum]] pour la découverte de cette extension !)) | * **[[https://extensions.gnome.org/extension/7699/pipewire-settings/|Pipewire Settings]]** est une [[:extensions gnome|extension GNOME]] très simple et dédiée spécifiquement à ces réglages (sélectionner //Persist settings// pour conserver les réglages pour les prochaines sessions)((Merci à socratisator [[https://forum.ubuntu-fr.org/viewtopic.php?pid=22838522#p22838522|sur le forum]] pour la découverte de cette extension !)) |
| |
| * La fenêtre d'accueil de **[[#Cable]]** permet d'ajuster ces paramètres très simplement quel que soit l'[[:environnements|environnement de bureau]], et de relancer **PipeWire** après modification. Un vumètre affiche le chargement DSP (la puce dédiée au traitement audio). | * La fenêtre d'accueil de **[[#Cable]]** permet d'ajuster ces paramètres très simplement quel que soit l'[[:environnements|environnement de bureau]], et de relancer **PipeWire** après modification. Un vumètre affiche le chargement DSP (la puce dédiée au traitement audio). |
| Pour changer de sortie audio la syntaxe est : | Pour changer de sortie audio la syntaxe est : |
| <code>wpctl set-default ID</code> | <code>wpctl set-default ID</code> |
| où ID est le numéro de la sortie. | où ''ID'' est le numéro de la sortie. |
| |
| Ce numéro est visible dans la section "Sinks" en exécutant la commande : | Ce numéro est visible dans la section ''Sinks'' en exécutant la commande : |
| <code>wpctl status</code> | <code>wpctl status</code> |
| Problème : ce numéro change à chaque redémarrage ! Il faut donc le récupérer via la commande grep en cherchant le nom de la sortie qui lui ne change pas. | Problème : ce numéro change à chaque redémarrage ! Il faut donc le récupérer via la commande ''[[man>grep]]'' en cherchant le nom de la sortie qui lui ne change pas. |
| |
| | Voici un exemple de [[:bash|script]] pour changer la sortie vers le HDMI (remplacer le texte entre guillemets ''""'' par le nom de votre interface -- notez le caractère d'échappement ''\'' ajouté devant ''['' et '']'') : |
| Voici un exemple de script pour changer la sortie vers le HDMI (remplacer le texte entre "" par ce qui vous correspond - notez le caractère d'échappement \ ajouté devant [ et ] ) : | <file> |
| <code bash> | |
| #!/bin/bash | #!/bin/bash |
| idhdmi=$(wpctl status | grep "Baffin HDMI/DP Audio \[Radeon RX 550 640SP / RX 560/560X\] D" | cut -c 10-12) | idhdmi=$(wpctl status | grep "Baffin HDMI/DP Audio \[Radeon RX 550 640SP / RX 560/560X\] D" | cut -c 10-12) |
| wpctl set-default $idhdmi | wpctl set-default $idhdmi |
| exit 0 | exit 0 |
| </code> | </file> |
| |
| Lorsque votre script est au point, vous pouvez créer un raccourci clavier personnalisé pour le lancer avec la commande | Lorsque votre [[:bash|script]] est au point, vous pouvez créer un raccourci clavier ou un [[:raccourci-lanceur|lanceur]] personnalisé avec la commande : |
| <code>bash nom-du-fichier-script.sh</code> | <code>bash nom-du-fichier-script.sh</code> |
| |