Nenhum som a menos que root no Debian Buster

0

Acabei de fazer uma atualização dist no meu computador SID Debian e o som desapareceu.

Eu posso reproduzir um arquivo de áudio na raiz, mas não como um usuário normal. Eu verifiquei que estou no grupo "áudio". Eu verifiquei se algo está mudo executando alsamixer , mas todas as linhas estão funcionando.

Aqui está a saída de áudio que tenho no computador:

$ lspci  | grep Audio
00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 05)
01:00.1 Audio device: NVIDIA Corporation GK107 HDMI Audio Controller (rev a1)

Eu tenho uma saída HDMI desconectada (o controlador NVIDIA). Meus cabeçalhos de áudio estão conectados no meu controlador Intel. Eu posso ver este driver quando eu corro alsamixer , mas vejo apenas a saída HDMI da minha placa gráfica nos dispositivos de saída pavucontrol .

Aolistarmeuscoletoresdeáudio,sóreceboumdispositivonulo:

$pacmdlist-sinks1sink(s)available.*index:2name:<auto_null>driver:<module-null-sink.c>flags:DECIBEL_VOLUMELATENCYFLAT_VOLUMEDYNAMIC_LATENCYstate:IDLEsuspendcause:priority:1000volume:front-left:56362/86%/-3,93dB,front-right:55706/85%/-4,23dBbalance-0,01basevolume:65536/100%/0,00dBvolumesteps:65537muted:nocurrentlatency:5,63msmaxrequest:6KiBmaxrewind:6KiBmonitorsource:2samplespec:s16le2ch44100Hzchannelmap:front-left,front-rightStéréousedby:0linkedby:1configuredlatency:40,00ms;rangeis0,50..2000,00msmodule:20properties:device.description="Sortie factice"
        device.class = "abstract"
        device.icon_name = "audio-card"

Eu realmente não entendo profundamente como o sistema de som funciona no Debian, mas acho que entendo que o meu usuário normal não tem o direito de acessar o chip Intel. A partir daqui, estou preso e não consigo descobrir o que fazer ...

EDITAR:

Consegui recuperar o som desativando o auto-mudo no alsamixer. Esta configuração foi de alguma forma alterada durante a atualização do sistema.

Mas depois de uma reinicialização, o problema voltou, mas o auto-mudo ainda estava desligado.

Graças à resposta dirkt, acho que encontrei a fonte desse problema: Ao executar aplay -L como usuário normal e usuário root, notei algumas diferenças:

$ aplay -L
default
    Playback/recording through the PulseAudio sound server
sysdefault:CARD=PCH
    HDA Intel PCH, ALC887-VD Analog
    Default Audio Device
$ sudo aplay -L 
default:CARD=PCH
    HDA Intel PCH, ALC887-VD Analog
    Default Audio Device
sysdefault:CARD=PCH
    HDA Intel PCH, ALC887-VD Analog
    Default Audio Device

Parece que a placa padrão não é a mesma quando executada como usuário simples. Eu poderia ter algum som ao selecionar sysdefault em vez da placa padrão como usuário normal.

$ aplay -D sysdefault sound.wav

Mas agora estou um pouco preso. Acho que identifiquei a origem do problema, mas não consegui descobrir como resolvê-lo ...

    
por Nicolas Appriou 26.06.2018 / 20:33

2 respostas

2

Problema resolvido: após a atualização, não sei porque, a saída foi automática. Eu apenas tive que mudar isso em alsamixer.

Às vezes, cavar fundo não é necessário.

    
por 27.06.2018 / 10:19
1

Breve visão geral do som: O hardware de som é gerenciado por drivers do kernel (anteriormente parte do ALSA), o ALSA fornece bibliotecas para acessar os drivers do kernel (é o que você vê com o alsamixer) e o Pulseaudio é executado no ALSA. Uma razão para isso é que, sem esforço extra, os dispositivos ALSA só podem ser usados por um único programa, enquanto o Pulseaudio permite que vários programas usem o hardware fornecendo uma camada de transporte.

Nenhum coletor com o Pulseaudio significa que o Pulseaudio não conseguiu pegar o (s) dispositivo (s) ALSA, possivelmente porque (1) as permissões estão erradas, (2) algo mais já está sendo usado, (3) algo completamente diferente deu errado.

Portanto, a primeira etapa é parar o Pulseaudio, usar aplay -L para ver seus dispositivos ALSA e tentar aplay -D ... audio_file.wav para ver se você pode acessar o dispositivo diretamente. Dependendo do resultado, o próximo passo é procurar o que está bloqueando o dispositivo (algo já começou e está sendo usado), ou descobrir por que o Pulseaudio não está usando os dispositivos ALSA (por exemplo, load module-alsa-card diretamente com pacmd , veja as entradas de mensagem / log de erro ). Como parar o Pulseaudio depende de como você o iniciou, possivelmente com o systemd, possivelmente através do login do sistema Desktop.

A inspeção da linha de comando dos processos em execução com ps axu etc. pode fornecer dicas sobre os pontos mencionados acima e também garantir que o Pulseaudio tenha sido interrompido corretamente e não esteja reiniciando sozinho.

    
por 27.06.2018 / 08:32

Tags