Advanced Linux Sound Architecture (Português)

From ArchWiki
Revision as of 23:07, 14 September 2006 by Nozey (Talk | contribs)

Jump to: navigation, search

Template:I18n links start Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n links end

Sobre este documento

Esta é uma tradução feita por Hugo Dória do how to GNOME. Quaisquer dúvidas quanto à tradução do documento, por favor, entrar em contato com o tradutor, e não com o autor do documento original.

Este documento mostra como configurar o alsa tanto com a série 2.4 do kernel, quanto com a 2.6. Veja, também, como permitir que os programas toquem som ao mesmo tempo

Instalação

Kernel drivers

Kernel 2.4

Se você usa um kernel da série 2.4, você terá que instalar os drivers do alsa. Se o seu kernel foi instalado com o pacote pré-compilado kernel24 ou kernel24-scsi, você pode usar o pacote alsa-driver:


# pacman -Sy alsa-driver
# depmod -a


Se você compilou o seu próprio kernel, você deve compilar um novo pacote do 'alsa-driver' com o ABS e instalá-lo.

Kernel 2.6

O Alsa foi incluído no kernel 2.6 e em todos os pacotes kernel26* do Arch. Se você compilar o seu próprio kernel, não esqueça de ativar o driver do alsa correto.

NOTA SOBRE A AUTO DETECÇÃO DO UDEV: Instalações antigas do Arch ou instalações feitas a partir do cd da versão 0.7.1 (recentes instalações via FTP não foram afetadas) terão uma configuração padrão antiga no arquivo /etc/modprobe.conf que IRÁ QUEBRAR A AUTO DETECÇÃO DO SOM. Se seus modulos de som não forem carregados automaticamente após a instalação ou atualização do udev, por favor, REMOVA AS SEGUINTES LINHAS DO ARQUIVO /etc/modprobe.conf:


# OSS Compatibility
install snd-pcm modprobe -i snd-pcm ; modprobe snd-pcm-oss ; true
install snd-seq modprobe -i snd-seq ; modprobe snd-seq-oss ; true


Depois de REMOVER estas linhas, o som deverá ser auto detectado corretamente durante a (re)inicialização do sistema. Outra coisa. NUNCA use o alsaconf se você possui uma placa de som PCI ou ISAPNP, pois a configuração que o alsaconf adiciona ao arquivo modprobe.conf poderá ter um efeito parecido sobre a auto detecção do udev.

Userspace utilities

  • Necessário para os programas alsa nativos e administração:


# pacman -Sy alsa-lib alsa-utils


  • Recomendado caso você deseja usar aplicações com suporte a OSS em combinação com o dmix:


# pacman -S alsa-oss


Quase todos os programas terão o pacote alsa-lib como dependência.


Configuração

Certificando-se que os modulos do som estão carregados

Você pode supor que o udev (ou o hotplug para a série 2.4 do kernel) irá auto detectar o som corretamente, incluíndo os modulos para a compatibilidade com o OSS. Você pode verificar isto com o comando:


$ lsmod|grep ^snd
snd_usb_audio          69696  0 
snd_usb_lib            13504  1 snd_usb_audio
snd_rawmidi            20064  1 snd_usb_lib
snd_hwdep               7044  1 snd_usb_audio
snd_seq_oss            29412  0 
snd_seq_midi_event      6080  1 snd_seq_oss
snd_seq                46220  4 snd_seq_oss,snd_seq_midi_event
snd_seq_device          6796  3 snd_rawmidi,snd_seq_oss,snd_seq
snd_pcm_oss            45216  0 
snd_mixer_oss          15232  1 snd_pcm_oss
snd_intel8x0           27932  0 
snd_ac97_codec         87648  1 snd_intel8x0
snd_ac97_bus            1792  1 snd_ac97_codec
snd_pcm                76296  4 snd_usb_audio,snd_pcm_oss,snd_intel8x0,snd_ac97_codec
snd_timer              19780  2 snd_seq,snd_pcm
snd                    43776  12 snd_usb_audio,snd_rawmidi,snd_hwdep,snd_seq_oss,snd_seq,snd_seq_device,snd_pcm_oss,snd_mixer_oss,snd_intel8x0,snd_ac97_codec,snd_pcm,snd_timer
snd_page_alloc          7944  2 snd_intel8x0,snd_pcm


Se a saída do comando acima for parecida, seus drivers de som foram auto detectados com sucesso. Você pode, também, checar o diretório /dev/snd para os arquivos de dispositivos corretos (somente kernel 2.6 e udev).


$ ls -l /dev/snd/
total 0
crw-rw----  1 root audio 116,  0 Apr  8 14:17 controlC0
crw-rw----  1 root audio 116, 32 Apr  8 14:17 controlC1
crw-rw----  1 root audio 116, 24 Apr  8 14:17 pcmC0D0c
crw-rw----  1 root audio 116, 16 Apr  8 14:17 pcmC0D0p
crw-rw----  1 root audio 116, 25 Apr  8 14:17 pcmC0D1c
crw-rw----  1 root audio 116, 56 Apr  8 14:17 pcmC1D0c
crw-rw----  1 root audio 116, 48 Apr  8 14:17 pcmC1D0p
crw-rw----  1 root audio 116,  1 Apr  8 14:17 seq
crw-rw----  1 root audio 116, 33 Apr  8 14:17 timer


Se você tiver, pelo menos, os dispositivos controlC0 e pcmC0D0p ou parecidos, então seus modulos de som foram detectados e carregados corretamente.

Se este não for o caso, você terá que carregar os modulos manualmente.

  • Carregue o modulo:


 # modprobe snd-NOME-DO-MODULO
 # modprobe snd-pcm-oss


  • Verifique os arquivos de dispositivos no diretório /dev/snd (veja acima) e/ou rode o alsamixer ou o amixer e veja se eles mostram uma saída correta.
  • Adicione snd-pcm-oss e snd-NOME-DO-MODULO para a lista de MODULOS em /etc/rc.conf para garantir que eles serão carregados da próxima vez.


Habilitando canais e testando a placa de som

  • Habilitando o som (tirando do mudo):


 # amixer set Master 75 unmute
 # amixer set PCM 75 unmute


Você também pode fazer isto graficamente utilizando o 'alsamixer'.

OBS: Quando usar o alsamixer, tire o canal do mudo (apertando M) e aumente o volume (com os direcionais do teclado).


  • Tente tocar um arquivo no formato wav:


 # aplay meuarquivo.wav


Configurando as permissões

Para poder usar a placa de som como um usuário comum, siga os seguintes passos:


  • Adicione o seu usuário ao grupo 'audio':


# gpasswd -a NOME-DO-USUARIO audio


  • Dê logoff e logue-se novamente para ter certeza que o grupo audio foi carregado.

Restaurando as configurações do mixer durante a inicialização

  • Rode 'alsactl' uma vez para que o arquivo '/etc/asound.state' seja criado


alsactl store


  • Edite o arquivo '/etc/rc.conf' e adicione 'alsa' na lista de DAEMONS a serem rodados durante o boot. Isto vai fazer com que as configurações do mixer sejam salvas sempre que o computador for desligado e restauradas a cada boot.

Obtendo a saída SPDIF

  • No Controle de Volume do Gnome, na aba Options, mude de IEC958 para PCM. Esta opção pode ser ativada nas preferências.
  • Caso você não tenha o Controle de Volume do Gnome,
    • Edite o arquivo /etc/asound.state. É neste arquivo que as configurações do mixer são salvas.
    • Encontre uma linha que diz: 'IEC958 Playback Switch'. Próxima a ela, você encontrará uma linha dizendo value:false. Mude para value:true
    • Agora encontre esta linha: 'IEC958 Playback AC97-SPSA' e mude o seu valor para 0.
    • Reinicie o alsa.

Método alternativo para ativar a saída SPDIF automaticamente durante o login (testado na SoundBlaster Audigy)

  • Adicione as seguintes linhas ao arquivo /etc/rc.local:


 # Use COAX-digital output
 amixer set 'IEC958 Optical' 100 unmute
 amixer set 'Audigy Analog/Digital Output Jack' on


Você pode ver o nome da daída digital da sua placa som:


 amixer scontrols

Continua sem som?

Mesmo que os drivers estejam instalados corretamente e que o volume esteja alto (sem nada mudo), você pode não escutar nada! Adicionar a linha abaixo ao arquivo '/etc/modprobe.conf' pode consertar o problema (com o driver 'via82xx', pelo menos)


options snd-NAME-OF-MODULE ac97_quirk=0

Configurando o KDE

  • Inicialize o KDE:


# startx


  • Configure o volume como deseja para este usuário (cada usuário tem suas próprias configurações):


# alsamixer


  • KDE 3.3 Vá em K Menu > Multimedia > KMix
    • Selecione Settings > Configure KMix...
    • Desmarque a opção "Restore volumes on logon"
    • Pressione OK. Pronto. Agora seus volumes serão os mesmo na linha de comando e dentro do KDE.