Ubuntu 16.04 Sem som dos alto-falantes, apenas fones de ouvido funcionando

8

Estou no fim da minha mente com esse problema. Sei que já vi esse problema um milhão de vezes, mas nenhuma das soluções parece funcionar.

Eu tenho um laptop ASUS inicializado com Windows 8.1, atualizei de 15.10 para 16.04 e perdi o uso dos alto-falantes; a placa de som sempre pensa que os fones de ouvido estão conectados, conforme evidenciado por essas capturas de tela.

alsamixer

pavucontrol

Este não é um problema de hardware porque 1) o som funciona no Windows 8.1 2) Posso fazer com que os alto-falantes funcionem desabilitando o fone de ouvido usando o hdajackretask (substituição de configuração e configuração em "Não conectado"), mas não é possível usar as teclas de atalho para mudar o volume

Tentei recarregar o alsa e também removê-lo e reinstalá-lo.

Estou planejando realmente excluir minha partição do Windows 8 de qualquer maneira. Eu vi aqui: Não há som nos alto-falantes do laptop no Ubuntu 14.04 após a inicialização no Windows 8.1, pois o Windows pode estar causando o problema. A exclusão da partição ajudará no problema?

Edit: Eu já desativei o Hybrid Boot, conforme sugerido nessa pergunta.

jhutch
fonte
Definitivamente, tentaria a resposta aceita antes de mais nada.
Desculpe, eu não mencionei que a inicialização híbrida / inicialização rápida já está desativada, conforme sugerido na resposta. Editando a pergunta agora.
jhutch

Respostas:

9

Eu também tive esse problema ao atualizar meu Xubuntu 14.04 para o Xubuntu 16.04 (fones de ouvido produziam som, mas não os alto-falantes). Eu tenho uma placa de som HD Intel com um chip Realtek ALC259. O problema persistiu ao inicializar com vários kernels de 3.13.X a 4.10.X.

No entanto, eu consegui corrigir, e aqui está como:

É importante entender que o Pulseaudio (PA) é o sistema de controle de som padrão para o Ubuntu e a maioria (todas?) De suas variantes. O PA é essencialmente sobreposto ao sistema de som ALSA principal. Portanto, para cada ação realizada na AP, há uma reação subsequente na ALSA. Para cada saída (também conhecida como porta) definida no PA, há um ajuste definido no sistema ALSA. Esse ajuste é conhecido como "caminho de mistura".

!!! IMPORTANTE !!!

Antes de continuar, agora é um bom momento para verificar se esse é realmente o seu problema e se não há outra razão para os alto-falantes não estarem funcionando. Você pode fazer isso com muita facilidade fazendo o seguinte teste. (Se você está mexendo com seu sistema de som, convém recuperá-lo aos padrões antes de testar):

  1. Desconecte todos os fones de ouvido ou outros dispositivos de som, EXCETO os alto-falantes que NÃO estão funcionando.
  2. Comece a reproduzir um arquivo de áudio que normalmente geraria som nos seus alto-falantes, embora não esteja atualmente. Então,
  3. Abra seu terminal e execute o comando:

    alsamixer
    

Você deve ver o seguinte:

alsamixer Devido às diferenças entre as placas de som, seus dispositivos podem ser um pouco diferentes dos da imagem. No meu caso, e antes de corrigir o problema, meu alsamixer parecia exatamente com a imagem acima.

  1. Ative o som dos dispositivos que estão silenciados no momento (use a tecla 'm' para ativar e desativar o som). Aumente os controles deslizantes de volume em todos os dispositivos que não estejam em 100%.

Se você consegue ouvir o som dos alto-falantes, essa correção é para você!

Se você não ouvir nenhum som, volte para "O Google" e continue pesquisando. Este método não irá ajudá-lo.


Se você obteve som com êxito do teste acima, o que precisamos fazer agora é jogar com as configurações do alsamixer para determinar:

  1. O controle de volume de qual dispositivo realmente controla o volume dos alto-falantes e
  2. Qual dos dispositivos precisa ficar sem som para que os alto-falantes funcionem. Vários dispositivos podem precisar ser desativados.

Depois de conhecer as configurações do ALSA pelas quais os alto-falantes funcionarão, podemos usar essas informações para fazer as alterações necessárias nos caminhos do mixer do PA.

No meu caso, descobri que meus fones de ouvido e alto-falantes estão vinculados ao ALSA das seguintes maneiras:

  1. O volume do meu fone de ouvido é controlado pelo dispositivo "Headphone".
  2. Obter som dos meus fones de ouvido requer que os dispositivos "Principal" e "Fone de ouvido" sejam desativados.
  3. O volume do meu alto-falante TAMBÉM é controlado pelo dispositivo "Headphone". (A configuração do volume do alto-falante ALSA surpreendentemente não afeta o volume do meu alto-falante.)
  4. Obter som dos meus alto-falantes requer que os dispositivos "Mestre" e "Alto-falante" sejam desativados.

O caminho padrão do mixer do alto-falante no PulseAudio (PA) supunha que meus alto-falantes fossem independentes dos meus fones de ouvido. O que, como demonstrado acima pela observação 3, não foi o caso. Posteriormente, o caminho padrão do mixer no PA para meus alto-falantes fazia as seguintes alterações problemáticas no ALSA sempre que a saída do alto-falante era selecionada no PA:

  1. Abaixou o volume do fone de ouvido para 0.
  2. Defina o dispositivo do alto-falante como controle de volume.

Dado que eu observei a ligação da ALSA aos meus alto-falantes e fones de ouvido, conforme descrito anteriormente, essas alterações no ALSA impediriam que o som saísse dos meus alto-falantes.

Portanto, a solução para esse problema é obtida modificando o caminho do mixer do alto-falante.

Os arquivos do caminho do misturador PA estão localizados em:

/ usr / share / pulseaudio / alsa-mixer / caminhos /

Para determinar qual arquivo de caminho do mixer controla seus alto-falantes, você precisa:

  1. Verifique se a saída do alto-falante está selecionada no PA (ou seja, não nos fones de ouvido). insira a descrição da imagem aqui

  2. Abra um terminal e execute o seguinte comando:

    pactl list | grep 'Active Port.*output.*'
    
  3. Ele deve produzir algo parecido com isto:

    Porta Ativa: audiotype -output- device

ie

insira a descrição da imagem aqui

A "porta ativa" é a porta PA atualmente controlando as configurações do ALSA. Como você já selecionou seu alto-falante como saída PA, essa saída do comando terminal informa que é necessário editar o arquivo de caminho do mixer audiotype -output- device .conf. No meu caso, o arquivo do caminho do mixer era analog-output-speaker.conf.

Agora que temos o arquivo correto do caminho do mixer, precisamos fazer nossas alterações.

NOTA: Dentro desta pasta de caminhos do misturador, existe um arquivo chamado 'analog-output.conf.common'. O conteúdo deste arquivo explica como os arquivos de caminho do mixer são interpretados. Se você deseja entender as seguintes alterações, é altamente recomendável que você observe este arquivo antes de editar o (s) caminho (s) do mixer!

Cada arquivo de caminho do misturador contém vários "Elementos". Idealmente, existe um elemento que representa cada dispositivo ALSA no seu computador em cada um dos arquivos. Provavelmente existem elementos que você não possui também. Isto é normal.

No meu caso, eu precisei alterar os elementos Headphone e Speaker no caminho do mixer para analog-output-speaker.conf das seguintes maneiras:

  1. Permita que o volume PA ajuste o volume ALSA do fone de ouvido.

Original:

[Element Headphone]
switch = off
volume = off

Editado:

[Element Headphone]
switch = off
volume = merge
override-map.1 = all
override-map.2 = all-left,all-right
  1. (Opcional) Desative o volume do alto-falante e evite que o volume do PA afete o volume ALSA. (Se você não fizer isso, seu som ainda funcionará, mas as configurações do alto-falante dentro do ALSA irão ricochetear por falta de vontade).

Original:

[Element Speaker]
required-any = any
switch = mute
volume = merge
override-map.1 = all
override-map.2 = all-left,all-right

Editado:

[Element Speaker]
required-any = any
switch = mute
volume = off

Em seguida, reinicie o PA executando:

pulseaudio -k && pulseaudio --start

Voilà!

notorious.dds
fonte