Percebi um problema durante o verão após a atualização do Debian 9 estável para o teste do Debian 10: PulseAudio não reconheceu mais meus dispositivos de áudio Intel HDA. Na época, consegui mudar para o áudio do meu monitor conectado via nVidia HDMI, então evitei o problema esperando que uma atualização futura o corrigisse. Eles não têm. Avance alguns meses e reorganizei meu espaço de trabalho e agora preciso fazer o Intel HDA funcionar novamente.
Aqui está o que eu olhei até agora...
Teste do Debian 10
O kernel vê:
# 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 vê:
# 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 reproduz áudio normalmente assim como aplay -D default:CARD=PCH /usr/share/sounds/alsa/Front_Left.wav
No entanto, o PulseAudio não vê o dispositivo:
$ 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"
Quando vou para Configurações de som, tudo o que vejo é o dispositivo de saída fictícia. (Os dispositivos nVidia não estão mais listados aqui porque, ao reorganizar as coisas, estou usando um monitor diferente sem áudio, portanto, não há nenhum dispositivo de áudio HDMI conectado no momento.)
Eu tentei limpar a configuração do PulseAudio pensando que poderia ter algum legado por aí via:
rm ~/.pulse/* ~/.config/pulse/*
Debian 9 Estável
Eu tenho outra partição nesta máquina que ainda está executando o Debian 9 estável, onde o Intel HDA funciona no PulseAudio, e parece haver diferenças nos drivers ALSA vs. Debian 10, então abaixo estão as diferenças que notei ...
# 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
E, claro, o Debian 9 vê o Intel HDA no 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>
Portanto, a pergunta é obviamente: como faço para que o áudio Intel HDA funcione novamente no PulseAudio com o Debian 10? Isso é algo que posso corrigir do ponto de vista da configuração ou é um problema de driver que precisa ser corrigido pelos mantenedores do ALSA ou do PulseAudio?
I ended up here because of the very same problem, after upgrading from Stretch, the audio disappeared. Similar symptoms and outputs (Nvidia card and Intel HDA sound). While following instructions, though, I've found that I couldn't get this step to work:
I found that the culprit was timidity:
Once I killed it, I could proceed editing
/etc/pulse/default.pa
and everything snapped into place. I'm still not sure if the issue was the missing PA sink or timidity taking over.I've also considered filing a bug report, but I'm not sure where would be more appropriate. If you have any suggestions, I'll be happy to follow your lead and add my support to the report.
Thank you for sharing the solution!
Acabei de ter esse problema exato e desinstalar o Timidity o resolveu. Literalmente, como o pacote foi removido pelo apt, vi uma notificação mostrando que tenho uma placa de som (interpretada como uma mudança de volume).
Caso alguém mais se depare com isso, aqui está uma solução alternativa para forçar o PulseAudio a usar o dispositivo ALSA...
Primeiro, confirme se você conhece a placa de som e o dispositivo corretos que deseja reproduzindo algum áudio diretamente via ALSA:
No meu caso, eu queria a saída de áudio óptica, então, com base na minha
aplay -l
saída, como visto na minha pergunta acima, era:Anote o número do cartão e do dispositivo e adicione uma entrada para
/etc/pulse/default.pa
(substitua 0,1 pelo que funcionou para você na etapa anterior):Eu adicionei esta linha imediatamente antes da linha .ifexists module-udev-detect.so no arquivo (ou seja, abaixo do comentário ### Carregar drivers de áudio estaticamente )
Em seguida, execute o seguinte como o usuário em que sua sessão da área de trabalho está conectada (ou seja , não como root):
Em seguida, você poderá abrir as Configurações de som para ver e selecionar o cartão:
Neste ponto, você deve ter a reprodução de áudio através do PulseAudio funcionando novamente. (Algo que notei é que ainda
pacmd list-cards
não listará o cartão, embora agora funcione) Lembrete: esta é uma solução alternativa e não a correção de longo prazo, portanto, certifique-se de fazer uma nota para desfazer isso em algum momento no futuro para ver se foi corrigido corretamente. Mas ele faz o áudio funcionar por enquanto.eu tinha apenas um dummy-sink e nenhum áudio após a atualização do debian 9 para o debian 10
aplay -l
falhou, relatando erro ao abrir 99-pulse.confeu criei
/etc/alsa/conf.d/99-pulse.conf
com o conteúdo retirado de uma instalação do Xubuntu:isso resolveu meus problemas