8
avril
2024
Remplacement du serveur de son Pulseaudio par Pipewire sous Linux et installation d'EasyEffects
17:17

Remplacement du serveur de son Pulseaudio par Pipewire sous Linux et installation d'EasyEffects

8 avril 2024 17:17

Comment remplacer PulseAudio par PipeWire, installer l'égaliseur EasyEffects ou passer de PipeWire à PulseAudio.

Contenu

  1. 0.Vérification du serveur audio que vous utilisez
  2. 1.Instructions pour remplacer PulseAudio par PipeWire
  3. 2.Installation du gestionnaire d'effets sonores et de l'égaliseur EasyEffects
  4. 3.Réglage du contrôle du volume dans la barre d'état système lorsque vous disposez de plusieurs cartes son
  5. 4.Revenir à PulseAudio après l'installation de PipeWire (annulation des modifications)

 


0. Vérification du serveur de son utilisé

Vérifiez dans le Terminal quel serveur de son est installé et utilisé :

inxi -Ax

1. Instructions pour remplacer PulseAudio par PipeWire

1) ajouté un référentiel PPA

sudo -E add-apt-repository ppa:pipewire-debian/pipewire-upstream

2) mis à jour le cache du paquet apt

sudo apt update

3) serveur de son Pipewire installé

sudo apt install pipewire

4) Vous devez également installer les bibliothèques pour le serveur de son Pipewire, qui installeront les codecs ABR, LDAC, Opus et SBC via des dépendances :

sudo apt installer libspa-0.2-bluetooth

(Cette commande installera les packages libfreeaptx0, libldacbt-abr2, libldacbt-enc2, libopus0, libsbc1 pour prendre en charge les codecs APRX, LDAC, Opus, SBC correspondants).

5) Installé les bibliothèques client Pipewire

sudo apt install pipewire-audio-client-libraries

6) Rechargé la configuration du service avec le commutateur "--user" pour cet utilisateur (puisque le serveur PipeWire s'exécute dans le contexte de sécurité de l'utilisateur) :

systemctl --user daemon-reload

7) Désactivation de l'ancien service PulseAudio pour l'utilisateur :

systemctl --user --maintenant désactiver pulseaudio.service pulseaudio.socket

8) De plus : dans Ubuntu, j'ai désactivé le service pulseaudio après le redémarrage à l'aide des commandes :

sudo systemctl --user mask pulseaudio
sudo systemctl mask pulseaudio

9) Installation du package Wireplombier

sudo apt install wireplumber

Je note qu'il existe deux manières de gérer les flux et les politiques dans PipeWire : en utilisant les modules pipewire-media-session ou wireplumber. Le package pipewire-media-session n'est pas disponible sur Linux Mint. Dans d'autres distributions, au contraire, le package wireplumber nécessite des dépendances qui ne sont pas satisfaites. Installez ensuite le package disponible - pipewire-media-session ou wireplumber.

10) Installation du package pipewire-pulse (contient un service pour remplacer PulseAudio) et du package pipewire-audio recommandé.

sudo apt install pipewire-pulse pipewire-audio

11) Après avoir installé PipeWire conformément aux instructions d'installation de PipeWire de the-spyke, je copie le fichier de configuration ALSA du répertoire d'exemples PipeWire vers le répertoire ALSA :

sudo cp /usr/share/doc/pipewire/examples/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/

Cela s'applique à la configuration d'ALSA en conjonction avec PipeWire.

12) Suppression de tous les composants PulseAudio

sudo apt purge pulseaudio pulseaudio-module-bluetooth pulseaudio-utils

#sudo apt purge jack* qjackctl

13) Pour éviter que l'erreur SAP ne s'affiche au démarrage du Bluetooth :

Ouvrez le fichier de description du service Bluetooth pour SystemD pour le modifier

sudo nano /etc/systemd/system/bluetooth.target.wants/bluetooth.service

[Unit]
Description=Bluetooth service
Documentation=man:bluetoothd(8)
ConditionPathIsDirectory=/sys/class/bluetooth

[Service]
Type=dbus
BusName=org.bluez
ExecStart=/usr/libexec/bluetooth/bluetoothd --noplugin=sap

Ajout du commutateur --noplugin=sap !

Un profil d'accès SIM (SAP) permet à un appareil compatible Bluetooth d'accéder aux données contenues dans la carte SIM d'un autre appareil compatible Bluetooth. Désactivé le plugin SAP.

14) Lancement de nouveaux services

systemctl --user --now enable pipewire pipewire-pulse wireplumber
systemctl --user start pipewire pipewire-pulse wireplumber

15) Vérifiez :

sudo inxi -Ax

Le résultat devrait ressembler à ceci :

API: ALSA v: k6.17.0-20-generic status: kernel-api
Serveur-1 : PipeWire v : 1.0.7 statut : actif

Désormais, la carte son devrait fonctionner sur des écouteurs ou des haut-parleurs filaires, et si vous possédez un casque Bluetooth, elle devrait également diffuser le son via Bluetooth.

Pour passer de la carte son intégrée au casque, utilisez l'élément de contrôle du volume « Sound mixer ».
mixeur
Avant cela, vous devez vous connecter au périphérique BlueTooth, comme d'habitude, via l'icône Bluetooth dans la barre d'état système : l'élément de menu "Périphériques".
bt

 

2. Installation du gestionnaire d'effets sonores et de l'égaliseur EasyEffects

1) Installation d'un contrôle de niveau, etc. - Panneau de contrôle pour PipeWire, appelé EasyEffects

L'application EasyEffects a une page d'accueil à l'adresse https://github.com/wwmm/easyeffects
EasyEffects peut être installé depuis Flatpak :

sudo apt install flatpak
flatpak install flathub com.github.wwmm.easyeffects

Appuyez deux fois sur Entrée, si nous voulons autoriser l'installation - Y - Application EasyEffects
Le téléchargement et l’installation d’easyeffects prennent environ 5 minutes.

Si le programme EasyEffects ne s'installe pas, vérifiez que le référentiel flatpak EasyEffects a été ajouté (uniquement pertinent pour certaines distributions) :

flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.fpatpakrepo

Par défaut, cette commande n'est pas nécessaire sous Linux Mint et Linux Green.

2) Lancez l'application Effets faciles

flatpak run com.github.wwmm.easyeffects

Une fenêtre vide devrait apparaître : "La liste est vide".
easyeffects1

3) Dans EasyEffects, allez dans l'onglet « Pipewire » - changez la carte son (uniquement si elle est USB externe)

pipewire-internal-audio

Dans la section « Préréglages de chargement automatique », j'ai changé la carte son pour l'entrée/sortie audio de la stéréo analogique audio intégrée à la stéréo analogique audio USB.
pipewire-out

Dans la section "Général", j'ai sélectionné une carte son USB (s'il y a un son intégré, cet élément n'est pas obligatoire)

4) Dans EasyEffects, nous vérifions la sortie sonore - section "Signal de test".

sound_test

Attention, signal très fort, enlevez vos écouteurs !

Sur l'onglet "Sortie", le spectre du signal apparaîtra, avec un niveau de -6 dB
test
Désactivons le signal de test dans l'onglet Pipewire - Test signal.

5) Lancez la source sonore - précédemment installée Application ondes courtes
vinyle

6) Pour régler le volume : dans EasyEffects, sur l'onglet « Pipewire » - « Players », baissez le volume de 100% à 20-25%.
volume

7) Ajustez le volume PipeWire - sur l'onglet "Joueurs" (100% -> 22%)

8) Ajout d'un égaliseur aux "Effets" - "Ajouter un effet" - "Égaliseur"

eq1

32 rayures par défaut ! Je n'en ai pas besoin, 5 rayures suffisent. Nous corrigeons le nombre de rayures en haut de 32 à 5.
eq2
Pour modifier les paramètres de l'égaliseur après avoir réduit le nombre de bandes, étirez la fenêtre au-delà du bord droit :
eq3
et cliquez sur le bouton "Calculer les fréquences".
eq4
Utilisez le bord inférieur pour augmenter la taille de la fenêtre ou agrandir la fenêtre pour remplir tout l'écran.
Ajustez l’égaliseur selon vos goûts.

S'il y a une surcharge dans votre casque au volume maximum, vous pouvez régler le gain « Output ».
eq5

Le son dans PipeWire avec égaliseur s'est amélioré par rapport à PulseAudio.

Ne surchargez pas la sortie (déplacez le curseur vers la gauche) ! lvls

9) Pour une meilleure qualité, passez le mode d'égalisation de IIR à FFT. fft

10) Enregistrez les paramètres de l'égaliseur sur le disque à l'aide du bouton "Exporter le préréglage APO".

À l'avenir, il ne sera plus nécessaire de lancer EasyEffects à chaque fois, car les paramètres sont appliqués à PipeWire au démarrage du système d'exploitation.
Le lancement d'EasyEffects pour personnaliser le son se fait avec la commande

flatpak run com.github.wwmm.easyeffects

De plus, le programme de réglage du son Easy Effects peut être exécuté dans le menu "Démarrer" - "Audio et vidéo" - "Effets faciles":
easy_effects_icon

La sauvegarde des paramètres EasyEffects se fait dans le menu "Presets":
pipewire-save-settings

 

3. Réglage du contrôle du volume dans la barre d'état système si vous avez plusieurs cartes son

Si plusieurs cartes son sont connectées à votre ordinateur, le paramètre de volume par défaut de la barre d'état système contrôle le volume de la carte son intégrée. Les changements de niveau de volume n’affecteront pas le volume du haut-parleur. Pour résoudre le problème, faites un clic gauche sur le contrôle du volume, sélectionnez "Paramètres sonores".
tome2

Un panneau s'ouvrira - vous devez sélectionner la carte son qui sera contrôlée par le contrôle du volume. Dans mon cas, la sortie audio vers une carte son externe s'appelle "Sortie audio USB analogique"- cliqué sur le bouton correspondant sur le panneau. Le contrôle du volume fonctionne désormais correctement : il contrôle le volume du son émis vers la carte son USB externe.
carte_sound_usb


Sous Linux Green avec le bureau Cinnamon, vous pouvez cliquer sur l'icône de volume dans la barre d'état système pour sélectionner Casque Bluetooth pour émettre du son.
linux_green_output

Pour éviter que les notifications système n'interfèrent avec l'écoute de musique, dans la même fenêtre "Le son" sur l'onglet "Paramètres du son" vous devez réduire le volume des sons à zéro.
notifications-off

Si le son via les écouteurs Bluetooth est de mauvaise qualité, alors le profil « Casque » est utilisé à la place d'A2DP.
cvsd
Ce problème est résolu un article séparé sur ce site.

 

4. Revenez à PulseAudio après avoir installé PipeWire (modifications annulées)

Certains utilisateurs ont rencontré des problèmes après être passés à PipeWire.
Supprimer PipeWire et installer PulseAudio vous aidera.

sudo systemctl --global disable pipewire pipewire-pulse pipewire-media-session

sudo apt remove pipewire -y && sudo apt autoremove -y && sudo apt autoclean -y
sudo flatpak remove com.github.wwmm.easyeffects
sudo add-apt-repository -r ppa:pipewire-debian/pipewire-upstream
sudo apt update
sudo apt reinstall pulseaudio pulseaudio-module-zeroconf avahi-daemon  pavucontrol  alsa-utils pulseaudio-utils
sudo apt purge bluetooth bluez* blueman pulseaudio-module-bluetooth
sudo apt installer bluetooth bluez bluez-tools blueman pulseaudio-module-bluetooth
mv  ~/.config/pulse/ ~/.config/pulse_old/
sudo systemctl --global unmask pulseaudio.service pulseaudio.socket
sudo systemctl --global enable pulseaudio.service pulseaudio.socket
sudo reboot

Autorisations Bluetooth :

sudo adduser pulse bluetooth

Modifier le fichier

sudo nano /etc/dbus-1/system.d/bluetooth.conf

A la fin du fichier, avant il doit y avoir :

<!-- allow users of bluetooth group to communicate -->
<policy group="bluetooth">
<allow send_destination="org.bluez"/>
</policy>

<policy context="default">
<allow send_destination="org.bluez"/>
</policy>

Autorisation d'utiliser et lancer service PulseAudio par utilisateur :

systemctl --user unmask pulseaudio.service
systemctl --user enable pulseaudio.service

systemctl --user unmask pulseaudio.socket
systemctl --user enable pulseaudio.socket

systemctl --user daemon-reload

Configuration de la connexion automatique des appareils Bluetooth :

sudo nano /usr/bin/start-pulseaudio-x11
set -e

si [ x "$DISPLAY" != x ] ; alors

    /usr/bin/pactl load-module module-x11-publish "display=$DISPLAY xauthority=$XAUTHORITY" > /dev/null
    /usr/bin/pactl load-module module-x11-cork-request "display=$DISPLAY xauthority=$XAUTHORITY" > /dev/null

    #Ajouter NOUVEAU
    /usr/bin/pactl load-module module-bluetooth-discover
    /usr/bin/pactl load-module module-switch-on-connect

Modifier :

sudo nano /etc/pulse/default.pa

Après le module "###Restaurer automatiquement le volume des flux et des appareils" ajoutent les lignes :

## Add New
.ifexiste module-bluetooth-discover.so
module de chargement module-bluetooth-découvrir
.endif

Paramétrage du mode de fonctionnement de l'adaptateur Bluetooth : supprimer le commentaire dans la ligne Mode contrôleur et réglez le paramètre sur "bredr".

sudo nano /etc/bluetooth/main.conf
# Restricts all controllers to the specified transport. Default value
#est "double", c'est-à-dire à la fois BR/EDR et LE activés (lorsqu'ils sont pris en charge par le matériel).
#Valeurs possibles : "dual", "bredr", "le" 
ControllerMode = bredr

Archivez avec les fichiers de configuration pour PulseAudio + Bluetooth (à partir de Runtu/Ubuntu 20.04) : conf.zip.

Redémarrer le PC :

sudo shutdown -r now

Commencez à jouer un son, par exemple :
https://www.rbc.ru/story/radio.

Si vous n'entendez aucun son, vérifiez la sortie audio sur « Casque » ou « Sortie ligne » en cliquant avec le bouton droit sur l'icône de volume.
sortie

Vous pouvez également utiliser les paramètres système pour sélectionner le périphérique de sortie Démarrer - Paramètres - Son.

Ensuite, réglez le volume sur pavucontrol.

Enregistrement dans le terminal :

systemctl --user status pulseaudio.service

Doit être affiché en vert : « Actif : actif (en cours d'exécution) ».

Vérification du serveur audio :

pactl info

Le résultat devrait ressembler à ceci :

Server String: /run/user/1000/pulse/native
Version du protocole de bibliothèque : 35
Version du protocole du serveur : 33
Est local : oui
Indice de clientèle : 12
Taille des carreaux : 65472
Nom d'utilisateur : Vladimir
Nom d'hôte : amd
Nom du serveur : pulseaudio
Version du serveur : 13.99.1
Spécification d'échantillon par défaut : s16le 2ch 44100Hz
Carte des chaînes par défaut : avant-gauche, avant-droite
Récepteur par défaut : bluez_sink.41_42_93_D9_80_BD.a2dp_sink
Source par défaut : bluez_sink.41_42_93_D9_80_BD.a2dp_sink.monitor
Cookie : db00:e703

Débogage :

pulseaudio -k
pulseaudio -D
sudo journalctl -xe

Dans mon cas, après toutes les étapes ci-dessus, il n’y a aucune erreur. J'ai réussi à installer PipeWire, puis à renvoyer Pulseaudio.

Résultat de la commande

inxi -Ax

suivant :

  Sound Server-1: ALSA v: k6.2.0-060200-generic running: yes
Sound Server-2 : PulseAudio v : 15.99.1 en cours d'exécution : oui

Sous Linux, lors de l'utilisation de Bluetooth, le profil par défaut « Casque HFP » peut parfois se lancer avec une qualité audio médiocre. Comment passer du profil Bluetooth à l'audio A2DP de haute qualité via Bluetooth - voir article sur ce site.


Sources :
https://pipewire-debian.github.io/pipewire-debian/
https://github.com/wwmm/easyeffects
https://forum.ubuntu.ru/index.php?topic=315646.0
https://gist.github.com/the-spyke/2de98b22ff4f978ebf0650c90e82027e


Dernière modification : 05/06/2026



Publications connexes