Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
pipewire [Le 20/04/2026, 20:11] – [Routage] +chapitre qpwgraph et cable krodelabestiolepipewire [Le 29/06/2026, 22:06] (Version actuelle) – [Changer la sortie son avec un script] mise en forme krodelabestiole
Ligne 99: Ligne 99:
   * 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]].
  
-  * **[[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/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''.+  * **[[#qpwgraph]]** est probablement l'interface la plus utilisée pour [[#router]] les signaux audio, vidéo et [[:MIDI]] (utilise la bibliothèque [[:Qt]]).
  
-  * **[[https://github.com/rncbc/qpwgraph|qpwgraph]]** est probablement l'interface la plus utilisée pour [[#router]] les signaux audiovidé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]].
  
-  * **[[https://gitlab.freedesktop.org/pipewire/helvum|Helvum]]** est une alternative à **qpwgraph**, également consacrée au [[#routage]], utilisant la bibliothèque [[:GTK]].+  * **[[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://github.com/saivert/pwvucontrol|pwvucontrol]]** se propose de remplacer **[[pavucontrol]]** pour PipeWire (gestion du mixage et divers paramètres). Il est disponible en [[:Flatpak]] sur le dépôt [[https://flathub.org/fr/apps/com.saivert.pwvucontrol|Flathub]] et peut donc s'installer en suivant [[:gerer_flatpak#pre-requis|cette procédure]] puis en installant le paquet ''com.saivert.pwvucontrol''.+  * **[[https://gitlab.freedesktop.org/pipewire/helvum|Helvum]]** est une alternative à **[[#qpwgraph]]**, également consacrée au [[#routage]], utilisant la bibliothèque [[:GTK]].
  
-  * **[[https://github.com/magillos/Cable|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]].((Voir si besoin son //[[https://github.com/magillos/Cable/blob/main/README.md|README]]// pour la liste des dépendances à installer : ''[[apt>python3-jack-client libqt6svg6 jack-delay python3-pyqt6 python3-dbus python3-requests python3-packaging aj-snapshot python3-alsaaudio pipewire-jack]]''.)) (Utilise [[:Python]] et [[:Qt]].)+  * **[[https://github.com/saivert/pwvucontrol|pwvucontrol]]** se propose de remplacer **[[pavucontrol]]** pour PipeWire (gestion du mixage et divers paramètres). Il est disponible en [[:Flatpak]] sur le dépôt [[https://flathub.org/fr/apps/com.saivert.pwvucontrol|Flathub]] et peut donc s'installer en suivant [[:gerer_flatpak#pre-requis|cette procédure]] puis en installant le paquet ''com.saivert.pwvucontrol''.
  
   * **[[https://github.com/dyegoaurelio/simple-wireplumber-gui|Simple Wireplumber GUI]]** permet de renommer ses périphériques audio et d'afficher leurs propriétés. Il est disponible en [[:Flatpak]] sur le dépôt [[https://flathub.org/fr/apps/io.github.dyegoaurelio.simple-wireplumber-gui|Flathub]] et peut donc s'installer en suivant [[:gerer_flatpak#pre-requis|cette procédure]] puis en installant le paquet ''io.github.dyegoaurelio.simple-wireplumber-gui''.   * **[[https://github.com/dyegoaurelio/simple-wireplumber-gui|Simple Wireplumber GUI]]** permet de renommer ses périphériques audio et d'afficher leurs propriétés. Il est disponible en [[:Flatpak]] sur le dépôt [[https://flathub.org/fr/apps/io.github.dyegoaurelio.simple-wireplumber-gui|Flathub]] et peut donc s'installer en suivant [[:gerer_flatpak#pre-requis|cette procédure]] puis en installant le paquet ''io.github.dyegoaurelio.simple-wireplumber-gui''.
Ligne 119: Ligne 119:
 En plus d'utiliser simultanément plusieurs logiciels et interfaces matérielles, PipeWire permet de les relier ensemble dans n'importe quel sens, à la manière d'un studio virtuel. En plus d'utiliser simultanément plusieurs logiciels et interfaces matérielles, PipeWire permet de les relier ensemble dans n'importe quel sens, à la manière d'un studio virtuel.
  
-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 [[https://gitlab.freedesktop.org/rncbc/qpwgraph|qpwgraph]], qui remplace 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]] par ex., les logiciels 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 coppwer 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>
Ligne 132: Ligne 132:
 === qpwgraph === === qpwgraph ===
  
-**qpwgraph** est disponible depuis les dépots officiels : ''[[apt>qpwgraph]]'' ou en [[https://flathub.org/apps/details/org.rncbc.qpwgraph|Flatpak]].+**[[https://github.com/rncbc/qpwgraph|qpwgraph]]**(([[https://gitlab.freedesktop.org/rncbc/qpwgraph|GitLab Freedesktop]])) est disponible depuis les dépots officiels : ''[[apt>qpwgraph]]'' ou en [[https://flathub.org/fr/apps/org.rncbc.qpwgraph|Flatpak]].
  
 Chaque élément (matériel ou logiciel) apparaît comme un bloc avec ses entrées à gauche et ses sorties à droite. On peut les relier les unes aux autres en tirant des liens par cliquer-glisser. Les liens peuvent ainsi conduire des signaux d'un logiciel ou d'un périphérique à l'autre. Des signaux : Chaque élément (matériel ou logiciel) apparaît comme un bloc avec ses entrées à gauche et ses sorties à droite. On peut les relier les unes aux autres en tirant des liens par cliquer-glisser. Les liens peuvent ainsi conduire des signaux d'un logiciel ou d'un périphérique à l'autre. Des signaux :
Ligne 155: Ligne 155:
   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}}
Ligne 181: Ligne 187:
  
 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 :
-  * soit au moyen de **[[https://extensions.gnome.org/extension/7699/pipewire-settings/|Pipewire Settings]]**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 !))
  
-  * soit au moyen de **[[https://github.com/dimtpap/coppwr|coppwr]]**, l'[[#Interfaces graphiques|interface graphique]] actuellement la plus puissante pour PipeWire.\\ On trouvera ces paramètres dans le menu //Tools// -> //Context Manager//.\\ On peut d'ici ajuster entre autres les propriétés //default.clock.rate// et //default.clock.quantum//.\\ Une fois les valeurs entrées, n'oubliez pas de cliquer sur //Update properties// !+  * 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). 
 + 
 +  * **[[https://github.com/dimtpap/coppwr|coppwr]]**, l'[[#Interfaces graphiques|interface graphique]] actuellement la plus puissante pour PipeWire.\\ On trouvera ces paramètres dans le menu //Tools// -> //Context Manager//.\\ On peut d'ici ajuster entre autres les propriétés //default.clock.rate// et //default.clock.quantum//.\\ Une fois les valeurs entrées, n'oubliez pas de cliquer sur //Update properties// !
  
 === En ligne de commande === === En ligne de commande ===
Ligne 307: Ligne 315:
 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 "Sinksen 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)
Ligne 321: Ligne 328:
 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>