Я заметил проблему летом после обновления стабильной версии Debian 9 до тестирования Debian 10: PulseAudio больше не распознавал мои аудиоустройства Intel HDA. В то время я смог переключиться на звук моего монитора, подключенного через nVidia HDMI, поэтому я обошел проблему, надеясь, что в будущем обновлении это исправит. Они не имеют. Перенесемся на несколько месяцев вперед, и я перестроил свое рабочее пространство, и теперь мне нужно снова запустить Intel HDA.
Вот что я посмотрел до сих пор ...
Тестирование Debian 10
Ядро видит это:
# 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 видит это:
# 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
Speaker-Test воспроизводит аудио нормально, как и aplay -D по умолчанию: CARD = PCH /usr/share/sounds/alsa/Front_Left.wav
Однако PulseAudio не видит устройство вообще:
$ 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"
Когда я захожу в настройки звука, все, что я вижу, это устройство Dummy Output. (Устройства nVidia здесь больше не перечислены, потому что при перестановке я использую другой монитор без звука, поэтому в настоящее время не подключено аудиоустройство HDMI.)
Я попытался очистить конфигурацию PulseAudio, думая, что у меня может быть какая-то устаревшая путаница:
rm ~/.pulse/* ~/.config/pulse/*
Debian 9 Stable
У меня есть другой раздел на этой машине, на котором все еще работает стабильная версия Debian 9, где Intel HDA работает под управлением PulseAudio, и, похоже, существуют различия в драйверах ALSA по сравнению с Debian 10, поэтому ниже приведены различия, которые я заметил ...
# 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
И, конечно же, Debian 9 видит Intel HDA в 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>
Таким образом, вопрос очевиден: как мне заставить звук Intel HDA снова работать в PulseAudio с Debian 10? Это что-то, что я могу исправить с точки зрения конфигурации, или это проблема с драйвером, которая должна быть исправлена сопровождающими ALSA или PulseAudio?