J'ai remarqué un problème au cours de l'été après la mise à niveau de Debian 9 stable vers Debian 10: PulseAudio ne reconnaissait plus mes périphériques audio Intel HDA. À l'époque, je pouvais passer à l'audio de mon moniteur connecté via nVidia HDMI, j'ai donc évité le problème en espérant qu'une future mise à jour le corrigerait. Ils ne l'ont pas fait. Avance rapide de quelques mois et j'ai réorganisé mon espace de travail et je dois maintenant faire fonctionner Intel HDA à nouveau.
Voici ce que j'ai regardé jusqu'à présent ...
Test de Debian 10
Le noyau le voit:
# dmesg | grep HDA
[ +0.005509] input: HDA Intel PCH Front Mic as /devices/pci0000:00/0000:00:1b.0/sound/card0/input17
[ +0.000073] input: HDA Intel PCH Rear Mic as /devices/pci0000:00/0000:00:1b.0/sound/card0/input18
[ +0.000057] input: HDA Intel PCH Line as /devices/pci0000:00/0000:00:1b.0/sound/card0/input19
[ +0.000054] input: HDA Intel PCH Line Out Front as /devices/pci0000:00/0000:00:1b.0/sound/card0/input20
[ +0.000052] input: HDA Intel PCH Line Out Surround as /devices/pci0000:00/0000:00:1b.0/sound/card0/input21
[ +0.000051] input: HDA Intel PCH Line Out CLFE as /devices/pci0000:00/0000:00:1b.0/sound/card0/input22
[ +0.000053] input: HDA Intel PCH Line Out Side as /devices/pci0000:00/0000:00:1b.0/sound/card0/input23
[ +0.000058] input: HDA Intel PCH Front Headphone as /devices/pci0000:00/0000:00:1b.0/sound/card0/input24
[followed by NVidia HDMI audio devices that are recognized]
# lspci -nnk | grep -A2 Audio
00:1b.0 Audio device [0403]: Intel Corporation 7 Series/C216 Chipset Family High Definition Audio Controller [8086:1e20] (rev 04)
Subsystem: Gigabyte Technology Co., Ltd 7 Series/C216 Chipset Family High Definition Audio Controller [1458:a002]
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel
[followed by NVidia HDMI audio devices that are recognized]
ALSA le voit:
# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: Generic Analog [Generic Analog]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 1: Generic Digital [Generic Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
[followed by NVidia HDMI audio devices that are recognized]
# aplay -L | grep PCH
default:CARD=PCH
HDA Intel PCH, Generic Analog
sysdefault:CARD=PCH
HDA Intel PCH, Generic Analog
front:CARD=PCH,DEV=0
HDA Intel PCH, Generic Analog
surround21:CARD=PCH,DEV=0
HDA Intel PCH, Generic Analog
surround40:CARD=PCH,DEV=0
HDA Intel PCH, Generic Analog
surround41:CARD=PCH,DEV=0
HDA Intel PCH, Generic Analog
surround50:CARD=PCH,DEV=0
HDA Intel PCH, Generic Analog
surround51:CARD=PCH,DEV=0
HDA Intel PCH, Generic Analog
surround71:CARD=PCH,DEV=0
HDA Intel PCH, Generic Analog
iec958:CARD=PCH,DEV=0
HDA Intel PCH, Generic Digital
dmix:CARD=PCH,DEV=0
HDA Intel PCH, Generic Analog
dmix:CARD=PCH,DEV=1
HDA Intel PCH, Generic Digital
dsnoop:CARD=PCH,DEV=0
HDA Intel PCH, Generic Analog
dsnoop:CARD=PCH,DEV=1
HDA Intel PCH, Generic Digital
hw:CARD=PCH,DEV=0
HDA Intel PCH, Generic Analog
hw:CARD=PCH,DEV=1
HDA Intel PCH, Generic Digital
plughw:CARD=PCH,DEV=0
HDA Intel PCH, Generic Analog
plughw:CARD=PCH,DEV=1
HDA Intel PCH, Generic Digital
test de haut-parleur lit l'audio normalement comme le fait aplay -D par défaut: CARD = PCH /usr/share/sounds/alsa/Front_Left.wav
Cependant PulseAudio ne voit pas du tout l'appareil:
$ pacmd list-sinks
1 sink(s) available.
* index: 0
name: <auto_null>
driver: <module-null-sink.c>
flags: DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
state: SUSPENDED
suspend cause: IDLE
priority: 1000
volume: front-left: 55705 / 85% / -4.24 dB, front-right: 55705 / 85% / -4.24 dB
balance 0.00
base volume: 65536 / 100% / 0.00 dB
volume steps: 65537
muted: no
current latency: 0.00 ms
max request: 344 KiB
max rewind: 344 KiB
monitor source: 0
sample spec: s16le 2ch 44100Hz
channel map: front-left,front-right
Stereo
used by: 0
linked by: 0
configured latency: 0.00 ms; range is 0.50 .. 2000.00 ms
module: 16
properties:
device.description = "Dummy Output"
device.class = "abstract"
device.icon_name = "audio-card"
Lorsque je vais dans Paramètres sonores, je ne vois que le périphérique de sortie factice. (Les périphériques nVidia ne sont plus répertoriés ici parce que pour réorganiser les choses, j'utilise un moniteur différent sans audio, donc aucun périphérique audio HDMI n'est actuellement connecté.)
J'ai essayé de vider la configuration de PulseAudio en pensant que je pourrais avoir un héritage autour via:
rm ~/.pulse/* ~/.config/pulse/*
Debian 9 stable
J'ai une autre partition sur cette machine qui exécute toujours Debian 9 stable, où Intel HDA fonctionne sous PulseAudio, et il semble y avoir des différences entre les pilotes ALSA et Debian 10, donc voici les différences que j'ai remarquées ...
# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC887-VD Analog [ALC887-VD Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 1: ALC887-VD Digital [ALC887-VD Digital]
Subdevices: 0/1
Subdevice #0: subdevice #0
# aplay -L | grep PCH
sysdefault:CARD=PCH
HDA Intel PCH, ALC887-VD Analog
front:CARD=PCH,DEV=0
HDA Intel PCH, ALC887-VD Analog
surround21:CARD=PCH,DEV=0
HDA Intel PCH, ALC887-VD Analog
surround40:CARD=PCH,DEV=0
HDA Intel PCH, ALC887-VD Analog
surround41:CARD=PCH,DEV=0
HDA Intel PCH, ALC887-VD Analog
surround50:CARD=PCH,DEV=0
HDA Intel PCH, ALC887-VD Analog
surround51:CARD=PCH,DEV=0
HDA Intel PCH, ALC887-VD Analog
surround71:CARD=PCH,DEV=0
HDA Intel PCH, ALC887-VD Analog
iec958:CARD=PCH,DEV=0
HDA Intel PCH, ALC887-VD Digital
dmix:CARD=PCH,DEV=0
HDA Intel PCH, ALC887-VD Analog
dmix:CARD=PCH,DEV=1
HDA Intel PCH, ALC887-VD Digital
dsnoop:CARD=PCH,DEV=0
HDA Intel PCH, ALC887-VD Analog
dsnoop:CARD=PCH,DEV=1
HDA Intel PCH, ALC887-VD Digital
hw:CARD=PCH,DEV=0
HDA Intel PCH, ALC887-VD Analog
hw:CARD=PCH,DEV=1
HDA Intel PCH, ALC887-VD Digital
plughw:CARD=PCH,DEV=0
HDA Intel PCH, ALC887-VD Analog
plughw:CARD=PCH,DEV=1
HDA Intel PCH, ALC887-VD Digital
Et bien sûr, Debian 9 voit Intel HDA dans PulseAudio:
$ pacmd list-sinks
1 sink(s) available.
* index: 2
name: <alsa_output.pci-0000_00_1b.0.iec958-stereo>
driver: <module-alsa-card.c>
flags: HARDWARE HW_MUTE_CTRL DECIBEL_VOLUME LATENCY FLAT_VOLUME DYNAMIC_LATENCY
state: RUNNING
suspend cause:
priority: 9958
volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100% / 0.00 dB
balance 0.00
base volume: 65536 / 100% / 0.00 dB
volume steps: 65537
muted: no
current latency: 24.26 ms
max request: 4 KiB
max rewind: 344 KiB
monitor source: 3
sample spec: s16le 2ch 48000Hz
channel map: front-left,front-right
Stereo
used by: 1
linked by: 1
configured latency: 25.00 ms; range is 0.50 .. 1837.50 ms
card: 1 <alsa_card.pci-0000_00_1b.0>
module: 7
properties:
alsa.resolution_bits = "16"
device.api = "alsa"
device.class = "sound"
alsa.class = "generic"
alsa.subclass = "generic-mix"
alsa.name = "ALC887-VD Digital"
alsa.id = "ALC887-VD Digital"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.device = "1"
alsa.card = "0"
alsa.card_name = "HDA Intel PCH"
alsa.long_card_name = "HDA Intel PCH at 0xf5130000 irq 30"
alsa.driver_name = "snd_hda_intel"
device.bus_path = "pci-0000:00:1b.0"
sysfs.path = "/devices/pci0000:00/0000:00:1b.0/sound/card0"
device.bus = "pci"
device.vendor.id = "8086"
device.vendor.name = "Intel Corporation"
device.product.id = "1e20"
device.product.name = "7 Series/C216 Chipset Family High Definition Audio Controller"
device.form_factor = "internal"
device.string = "iec958:0"
device.buffering.buffer_size = "352800"
device.buffering.fragment_size = "176400"
device.access_mode = "mmap+timer"
device.profile.name = "iec958-stereo"
device.profile.description = "Digital Stereo (IEC958)"
device.description = "Built-in Audio Digital Stereo (IEC958)"
alsa.mixer_name = "Realtek ALC887-VD"
alsa.components = "HDA:10ec0887,1458a002,00100302"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-pci"
ports:
iec958-stereo-output: Digital Output (S/PDIF) (priority 0, latency offset 0 usec, available: unknown)
properties:
active port: <iec958-stereo-output>
La question est donc évidente: comment faire pour que l'audio Intel HDA fonctionne à nouveau dans PulseAudio avec Debian 10? Est-ce quelque chose que je peux résoudre du point de vue de la configuration ou s'agit-il d'un problème de pilote qui doit être résolu par les mainteneurs ALSA ou PulseAudio?