Alsa

De Arch Linux Comunidad Hispana

Tabla de contenidos

[editar] Instalación

[editar] Drivers para el kernel

Alsa ya esta incluido en los kernels de la serie 2.6 y en todos los paquetes incluidos en kernel26*. Si compilas tu propio kernel, no olvides activar el driver alsa correcto.

Todos los modulos necesarios deberian ser detectados y cargados por udev. No deberia necesitar una configuración especial excepto en las tarjetas ISA. Nunca hay que usar alsaconf si se usa una tarjeta PCI o ISAPNP, ya que las entradas que se agregan al modprobe.conf podrian corromper la autodeteccion del udev.

[editar] Utilidades de Userspace

  • Requerido para los programas nativos y la administración del alsa
# pacman -Sy alsa-lib alsa-utils
  • Recomendado si quieres utilizar aplicaciones con soporte de sonido OSS en combinacion con dmix:
# pacman -S alsa-oss

Todos los programas de alsa tendrán muy probablemente alsa-lib como dependencia

[editar] Configuración

[editar] Asegurandote de que los modulos Alsa están cargados

Puedes asumir que el udev ha detectado tu tarjeta de sonido correctamente, incluyendo los módulos de la compatibilidad de OSS. Puedes comprobar esto con el 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

Si la salida parece similar, los drivers de sonido han sido detectados satisfactoriamente (notese que en este caso, snd_intel8x0 y snd_usb_audio son los drivers de los dispositivos de hardware). Se deberia comprobar que en el directorio /dev/snd existan los ficheros correctos del dispositivo:

$ 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

Si existen al menos los dispositivos 'controlC0' y 'pcmC0D0p' o similares, los modulos de sonido han sido detectados y cargados correctamente.

Si este no es el caso, los modulos no han sido detectados. 'Si deseas alguna ayuda en el IRC o los foros, fijar por favor la salida de los comandos antedichos.' Para solucionar esto, puedes intentar cargar los modulos manualmente.

# modprobe snd-NAME-OF-MODULE
# modprobe snd-pcm-oss
  • Comprueba los ficheros de dispositivo en '/dev/snd'y/o comprueba si 'alsamixer' o 'amixer' tienen salida sonora
  • Añade 'snd-pcm-oss' a la lista de modulos en '/etc/rc.conf' para asegurarte que se cargara la proxima vez

[editar] Comprobando la tarjeta de sonido

En esta seccion, asumimos que estas identificado como root. Si quieres realizar estos pasos como usuario sin privilegios, salta a la seccion Permisos de Configuracion.

  • Dar sonido a los canales

Se recomienda usar 'alsamixer' 'NOTA:' Al usar 'alsamixer', pulsa M para quitar el mute

Tambien puedes usar 'amixer', pero es menos comodo

# amixer set Master 75 unmute
# amixer set PCM 75 unmute
  • Intenta reproducir un archivo wav
# aplay mywav.wav
  • Permite a multiples programas reproducir audio a la vez

[editar] Permisos de Configuracion

Para poder usar la tarjeta de sonido, sigue los siguientes pasos

  • Añade tu usuario al grupo de audio
# gpasswd -a USERNAME audio
  • Desloguea del sistema a tu usuario y vuelve a entrar para comprobar que tienes permisos para usar el audio

[editar] Restaurar la configuracion de Alsa Mixer al inicio

  • Ejecuta alsactl para que se cree '/etc/asound.state'
alsactl store
  • Edita /etc/rc.conf y añade 'alsa' en la lista de demonios que se inician en el arranque. Esto guardará la configuracion y la cargará cuando se arranque el sistema.

[editar] ¿Sigue sin haber sonido?

Si tienes los drivers instalados correctamente, todo configurado y sigue sin haber sonido, añade la siguiente linea al /etc/modprobe.conf, esto deberia solucionar el problema (con el driver via82xx por lo menos)

options snd-NAME-OF-MODULE ac97_quirk=0

OTRA ALTERNATIVA

Si todo lo demas falla y no te preocupas de algun error que pueda surgir con udev (que son cuentos de viejas) usa alsaconf.

[editar] Obteniendo salida SPDIF

  • En el control del volumen de Gnome, debajo de la pestaña de Opciones, cambia de IEC958 a PCM. Esta opción puede ser activada en las preferencias.
  • Si no tienes el control de volumen de Gnome,
    • Edita /etc/asound.state. Este archivo es donde se guarda la configuración de alsasound.
    • Encuentra la línea que dice : 'IEC958 Playback Switch'. Cerca de ella encontraras una linea que dice: false. Cambia su valor a:true
    • Ahora encuentra esta línea: 'IEC958 Playback AC97-SPSA' y cambia su valor a 0.
    • Reinicia alsa.

Otra manera de activarlo al inicio de la sesión es:

  • Agregar las siguientes líneas a /etc/rc.local:
 # Use COAX-digital output
 amixer set 'IEC958 Optical' 100 unmute
 amixer set 'Audigy Analog/Digital Output Jack' on

Tu puedes ver las propiedades de tu tarjeta con:

 amixer scontrols

[editar] ¿Pobre calidad de Sonido?

Si tienes baja calidad de sonido, intenta colocar el volumen de PCM (en alsamixer) a un nivel que el ganado (gain) sea 0.

[editar] Configuración de KDE

  • Inicia KDE:
# startx
  • Ajusta el volumen como lo deseas para el usuario actual (cada usuario tiene su propia configuración):
# alsamixer
  • KDE 3.3 Ve al Menu KDE > Multimedia > KMix
    • Escoge Preferencias > Configurar KMix...
    • Desactiva la opción "Restore volumes on logon"
    • Presiona OK, todo debería funcionar. Ahora el volumen será igual desde la consola como de KDE.
Herramientas personales