Como posso mudar para o meu controlador de áudio onboard?

3

Minha área de trabalho (executando o Arch) tem um (muito, muito) velho SB Live! placa de som que não está funcionando muito bem. Eu gostaria de usar o controlador de áudio onboard da placa-mãe. Infelizmente, as configurações pavucontrol e my DE (Cinnamon) só veem a placa SB Live (clique para versões maiores):

No entanto, inxi mostra que a placa onboard é reconhecida e tem um driver atribuído:

$ inxi -A
Audio:     Card-1 Intel NM10/ICH7 Family High Definition Audio Controller driver: snd_hda_intel
           Card-2 Creative Labs SB Live! EMU10k1 driver: snd_emu10k1
           Card-3 Logitech Webcam C210 driver: USB Audio
           Sound: Advanced Linux Sound Architecture v: k4.2.5-1-ARCH

O módulo do driver está realmente carregado:

$ lsmod | grep snd_hda_intel
snd_hda_intel          32768  9
snd_hda_codec         106496  3 snd_hda_codec_via,snd_hda_codec_generic,snd_hda_intel
snd_hda_core           49152  4 snd_hda_codec_via,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel
snd_pcm                86016  11 snd_usb_audio,snd_ac97_codec,snd_hda_codec,snd_hda_intel,snd_emu10k1,snd_hda_core
snd                    65536  41 snd_usb_audio,snd_ac97_codec,snd_hwdep,snd_timer,snd_hda_codec_via,snd_pcm,snd_rawmidi,snd_hda_codec_generic,snd_usbmidi_lib,snd_hda_codec,snd_hda_intel,snd_emu10k1,snd_seq_device

Na chance de que a placa onboard estivesse sendo bloqueada pelo SB Live !, eu coloquei na blacklist o driver do SB:

$ echo 'blacklist snd_emu10k1' | sudo tee /etc/modprobe.d/snd_emu10k1.conf

Após a reinicialização, inxi mostrou:

$ inxi -A
Audio:     Card-1 Intel NM10/ICH7 Family High Definition Audio Controller driver: snd_hda_intel
           Card-3 Logitech Webcam C210 driver: USB Audio
           Sound: Advanced Linux Sound Architecture v: k4.2.5-1-ARCH

E o SB Live! não estava mais visível nas configurações de pavucontrol ou Cinnamon, mas nenhuma delas era a placa onboard. Mostrou apenas a porta HDMI das capturas de tela acima.

Então, como posso fazer o meu sistema usar a placa de som onboard?

    
por terdon 02.01.2016 / 13:04

1 resposta

2

Carregar cartões automaticamente usando o udev

O módulo pulseaudio responsável por carregar automaticamente uma placa de som reconhecida pela ALSA é module-udev-detect em sistemas que suportam o udev. Este módulo deve ser carregado ao iniciar o pulseaudio com o default.pa que geralmente está localizado em /etc/pulse/ .

Para ver se este módulo está carregado, podemos emitir:

pactl list short modules

Se não houver module-udev-detect present, podemos carregar e testá-lo executando

pactl load-module module-udev-detect

Qualquer cartão ALSA presente no sistema deve ser carregado como um coletor de saída selecionável a partir das configurações de som ou visto com

pactl list short cards

No sucesso, as seguintes linhas podem ser adicionadas ao nosso default.pa :

.ifexists module-udev-detect.so
load-module module-udev-detect
.else
load-module module-detect
.endif

O module-detect pode detectar placas em um sistema onde o udev não é suportado.

Carregue manualmente uma placa ALSA

Se isso falhar, também podemos carregar manualmente uma placa ALSA com o seguinte comando:

pactl load-module module-alsa-card <options>

O campo <options> depende do nosso hardware. No exemplo abaixo

device_id="0" name="pci-0000_00_05.0" card_name="alsa_card.pci-0000_00_05.0" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes
  • device_id é o número do cartão fornecido com

    aplay -l
    
  • name é um nome que podemos escolher livremente

  • card_name é o nome definido pela ALSA como listado em

    ls /dev/snd/by-path
    
  • outras opções são padrões para um cartão padrão.

Mais uma vez, com sucesso, podemos adicionar isso ao nosso /etc/pulse/default.pa para carregar toda vez que o servidor de som for iniciado.

load-module module-alsa-card <options>
    
por 03.01.2016 / 11:48