Fonctionnement du son (entrée/sortie) sous Trixie et plus généralement Linux

Tags: #<Tag:0x00007fb8e6331d68> #<Tag:0x00007fb8e6331c50> #<Tag:0x00007fb8e6331b10>

Hello tout le monde, encore un truc qui ne fonctionne pas sous mon laptop, et qui me permet d’essayer de comprendre comment marche Linux.

Mon vieux Toshiba Tecra R850 a un microphone intégré sur le circuit de la webcam que j’ai un peu bidouillé l’autre jour (cf. ce message dans un autre fil). Quand j’enregistre avec ce microphone, j’ai un niveau de bruit tellement fort que je n’entends rien d’autre, j’ai beau hurler devant la pastille, je n’entends pas du tout ma voix dans l’enregistrement.

Du coup, je me renseigne un peu comment fonctionne le son sous Linux, et voici ce que j’ai compris des différentes sources documentaires du wiki Debian :

┌───────────────────────────────────────────────────────┐
│                                                       │
│                         KERNEL                        │
│                                                       │
├ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┤
│                    ALSA KERNEL API                    │
└───────────────────────────────────────────────────────┘
         ▲                        ▲              ▲
         │                        │              │
         ▼                        ▼              │
┌──────────────────┐     ┌──────────────────┐    │
│    ALSA USER     │     │                  │    │
│      SPACE       │     │                  │    │
└──────────────────┘     │                  │    │
         ▲               │                  │    │
         │           OU  │     PIPEWIRE     │ OU │
         ▼               │                  │    │
┌──────────────────┐     │                  │    │
│    PULSEAUDIO    │     │                  │    │
│       OU         │     │                  │    │
│      JACK        │     │                  │    │
└──────────────────┘     └──────────────────┘    │
         ▲                        ▲              │
         │                        │              │
         ▼                        ▼              ▼
┌───────────────────────────────────────────────────────┐
│                                                       │
│                      APPLICATIONS                     │
│                                                       │
└───────────────────────────────────────────────────────┘

Je regarde les services qui tournent chez moi :

$ systemctl --user status pipewire wireplumber pulseaudio
Unit pulseaudio.service could not be found.
● pipewire.service - PipeWire Multimedia Service
     Loaded: loaded (/usr/lib/systemd/user/pipewire.service; enabled; preset: enabled)
     Active: active (running) since Sat 2026-01-31 13:38:41 CET; 20h ago
 Invocation: 87678e3e1d31478e9fa288a19fce56e0
TriggeredBy: ● pipewire.socket
   Main PID: 1150 (pipewire)
      Tasks: 3 (limit: 4474)
     Memory: 8.1M (peak: 11.5M, swap: 2.1M, swap peak: 2.1M)
        CPU: 10.741s
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire.service
             └─1150 /usr/bin/pipewire

janv. 31 13:38:41 systemd[1131]: Started pipewire.service - PipeWire Multimedia Service.

● wireplumber.service - Multimedia Service Session Manager
     Loaded: loaded (/usr/lib/systemd/user/wireplumber.service; enabled; preset: enabled)
     Active: active (running) since Sat 2026-01-31 13:38:41 CET; 20h ago
 Invocation: da42a67ff1d74e3b86c986091d83eac6
   Main PID: 1153 (wireplumber)
      Tasks: 6 (limit: 4474)
     Memory: 6.5M (peak: 7.8M, swap: 1.2M, swap peak: 1.2M)
        CPU: 27.464s
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/wireplumber.service
             └─1153 /usr/bin/wireplumber

En clair : je n’utilise pas PulseAudio, j’utilise Pipewire/WirePlumber. Pour info ou rappel, j’ai installé ce Trixie 13.3 à partir d’une live, je crois comprendre que le choix des services et paquets installés diffère d’une netinst.

Déjà, premier truc étonnant, tous les utilitaires CLI de PulseAudio sont présents sur le système, ce qui m’a pas mal égaré au début. En suivant divers tutos, j’ai lancé des commandes telles que pactl pour lister les cartes et l’état des devices audio, et le résultat de ces commandes était conforme à ce que j’observais dans mes paramètres de son dans KDE : j’observais bien les bonnes cartes, entrées/sorties, profils et ports, et la modif de ces paramètres et niveaux de son dans KDE (avec le panneau de conf graphique) se reflétaient bien dans le résultat des commandes PulseAudio… Ce n’est pas du temps perdu, car ça m’a permis de comprendre certaines choses, mais quand même je me demande si je ne devrais pas virer les outils CLI PulseAudio, ne garder que ceux des services qui tournent vraiment sur le système, qu’en dites-vous ? Ils semblent localisés dans ce paquet installé automatiquement :

$ apt list ~n^pul --installed
pulseaudio-utils/stable,now 17.0+dfsg1-2+b1 amd64 [installé, automatique]

Si vous pouviez déjà me confirmer ça dans un premier temps SVP, on passera à la résolution du problème ensuite (rien ne presse).

Bjr.

Normalement, pour le peu que j’en ai compris, Pipewire gère tout, plus besoin d’Alsa, ni de Pulseaudio. À moment donné, y’avait un « pont » logiciel entre Pipewire et Pulseaudio, pour les applis qui ne géraient pas encore Pipewire correctement.
Cela renvoie au cas par cas, càd que si un app fournit du son/audio, et que rien n’est restitué, il faut se renseigner si elle est capable d’utiliser Pipewire ; si oui, alors le problème vient soit d’un bogue, soit ?

1 J'aime

En fait comme l’explique cette page Wiki Debian ALSA, il reste un bout de ALSA dans le kernel, on le voit dans le dessin ci-dessus sous la ligne en pointillés.

Les utilitaires en ligne de commande permettent de voir certains drivers libellés « alsa » :

$ pactl list cards
Card #49
        Name: alsa_card.pci-0000_00_1b.0
        Driver: alsa
        (...)

Ça n’enlève rien au fait que, comme tu le dis, PipeWire est devenu la solution par défaut sur de nombreuses distributions. Ceux qui ont installé Trixie avec une netinst ont-ils certains paquets pulse* installés automatiquement ?

J’utilise pipewire mais il me semble que pipewire a un module qui fait comme s’il était un autre, par exemple pulseaudio.

J’en ai pas mal d’installé aussi:

~$ dpkg --list | grep -i puls
ii  gir1.2-cvc-1.0:amd64                     6.4.1-1                                  amd64        Introspection data for Cinnamon pulseaudio abstraction
ii  libcanberra-pulse:amd64                  0.30-18                                  amd64        PulseAudio backend for libcanberra
ii  libcvc0t64:amd64                         6.4.1-1                                  amd64        Cinnamon pulseaudio abstraction library
ii  libp8-platform2:amd64                    2.1.0.1+dfsg1-4+b3                       amd64        Pulse-Eight's platform support library
ii  libpulse-mainloop-glib0:amd64            17.0+dfsg1-2+b1                          amd64        PulseAudio client libraries (glib support)
ii  libpulse0:amd64                          17.0+dfsg1-2+b1                          amd64        PulseAudio client libraries
ii  libpulse0:i386                           17.0+dfsg1-2+b1                          i386         PulseAudio client libraries
ii  libpulsedsp:amd64                        17.0+dfsg1-2+b1                          amd64        PulseAudio OSS pre-load library
ii  pavucontrol                              6.1-1                                    amd64        PulseAudio Volume Control
ii  pipewire-pulse                           1.4.2-1                                  amd64        PipeWire PulseAudio daemon
rc  pulseaudio                               17.0+dfsg1-2+b1                          amd64        PulseAudio sound server
ii  pulseaudio-utils                         17.0+dfsg1-2+b1                          amd64        Command line tools for the PulseAudio sound server
ii  xfce4-pulseaudio-plugin:amd64            0.4.9-1                                  amd64        Xfce4 panel plugin to control pulseaudio

Et en prime j’ai wireplumber.
Celà étant, j’ai souvent des erreurs avec wireplumber et pipewire dans mes logs.
je ne sais pas si le fait d’avoir 4 écrans avec des haut-parleurs, plus la carte mère, ça n’aide pas :slight_smile:
image

Bonjour,

Je pose mon commentaire sans trop savoir si ca peut aider… Bref, si je suis en dehors des clous, excusez moi par avance.
Je suis toujours en 12 mais j’ai essuyé des problèmes de son au démarrage; on va dire 2 fois sur 3.
La solution mise en place a été d’élaborer un script pour simplifier la remontée du son:

systemctl --user restart pipewire pipewire-pulse wireplumber
pactl set-default-sink alsa_output.pci-0000_00_1f.3.analog-stereo

Config:
Système d’exploitation : Debian GNU/Linux 12
Version de KDE Plasma : 5.27.5
Version de KDE Frameworks : 5.103.0
Version de Qt : 5.15.8
Version de noyau : 6.1.0-42-amd64 (64-bit)
Plate-forme graphique : X11
Processeurs : 4 × Intel® Core™ i5-6600K CPU @ 3.50GHz
Mémoire : 15,6 Gio de mémoire vive
Processeur graphique : NVIDIA GeForce GT 730/PCIe/SSE2
Fabricant : Gigabyte Technology Co., Ltd.

Cdt

Tu devrais peut-être migrer vers Trixie, qui sait si ça ne règlerait pas le souci ? Pas facile d’être affirmatif avec des problèmes aléatoires. Il n’y a que cette séquence complète qui te permet de retrouver le son ? As-tu essayé en redémarrant seulement 1 des 3 services ?

En tout cas mon souci semble différent, pas de problème intermittent. Je me renseigne sur le module snd-hda-intel du kernel, qui propose quelques options permettant de tester des variantes. Ça va me faire un bon exercice pour tester et comprendre les fichiers de conf dans /etc/modprobe.d. C’est compliqué, Linux, mais au moins on peut comprendre comment ça marche, et plein de choses sont documentées, c’est un nouveau monde pour moi.

Les migrations, ca finit rarement bien. Et au final, c’est toute une config à refaire: basiquement une journée ou deux à tout remettre en place… et découvrir une semaine plus tard que « ah oui et ca ca a disparu »… Donc, j’avoue avoir une certaine frilosité à migrer asap…
Pour le pb de son, probablement que ca le réglerait… ou pas :frowning:
Je pense que Linux est plus complet que compliqué… c’est juste compliqué de tout savoir en fait :slight_smile:
La sequence c’est celle qu a été établie apres x manipulations en effet.
C’est la séquence qui redémarre la normalité du son… presque normale; en fait il faut en plus re-augmenter le son qui se cale par defaut sur 40%.
Moui en fait non c’est pas simple tout ca :slight_smile:

Pour ça tu peux ajouter à ton script la commande

pactl set-sink-volume alsa_output.pci-0000_00_1f.3.analog-stereo 80%

Le son est calé par défaut pour éviter d’avoir tout dans la face au démarrage sur des équipement qui n’ont pas forcement un réglage du volume intégré physiquement (comme par exemple des écrans). Valeur moyenne dont je ne sais le mode de calcul cependant.

Test avec ligne ajoutée: pas d’amelioration. Le son arrive sur les enceintes mais pas sur le boomer, donc son faible.
Je lance mon script. Je retrouve le son normal… mais à 40%.
Au passage, le terminal s’exprime :
Failure: No such entity
Failed to get sink information: No such entity
Merci quand meme pour la tentative.

Ca peut se comprendre qu’une config positionne sur de faibles valeurs, en effet. Ca veut donc dire que ca ne verifie pas que des valeurs sont déjà renseignées… ou que les valeurs n’existent plus et ca laisse aussi la porte à pourquoi les valeurs ont disparu.
Ou encore que mon script n’est pas full compatible avec mon materiel.

La difficulté, c’est de trouver où se trouve la configuration de base. Et c’est celle-ci qu’il faut modifier.

Je m’apercois d’un truc…
Quand je vais sur la config systeme (KDE) j’ai

  • la sortie numerique (HDMI)
  • la sortie Stereo Analogique
    C’est donc la partie Analogique qui ne s’enclenche pas au démarrage.
    L’utilisation des tests me le confirme.
    Son numérique faible à 94%, son stéréo standard normal à 80%.
    ========================
    Je redemarre la machine…
    Le son remonte… mais à 40%.
    Je regarde la config audio; elle est pourtant bien restée sur 94 et 80.
    ======================
    mais ca n’est pas parce que le son remonte ici a 40% que sur un prochain redemarrage, ce sera le cas. Ca peut tres bien n’activer que la sortie numérique.

Que dit pactl list cards juste après l’exécution de ton script ?