Tengo un netbook Acer Aspire One 522 que tiene una tarjeta de sonido Intel HDA basada en el chipset Conexant CX20584. Aunque KDE emite sonido cuando se inicia, flash y probablemente muchas otras aplicaciones que buscan un /dev/dsp
dispositivo simplemente no pueden emitir sonido a través de él, lo que brinda una experiencia multimedia prácticamente inútil.
Cuando revisé mis dispositivos de reproducción ALSA con aplay -l
, pude ver que el dispositivo de audio principal estaba siendo reconocido como tarjeta 1 en lugar de 0, que en su lugar estaba conectado a HDMI:
**** List of PLAYBACK Hardware Devices ****
card 0: Generic [HD-Audio Generic], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: SB [HDA ATI SB], device 0: CONEXANT Analog [CONEXANT Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
De esa manera obtengo un /dev/dsp1
, pero parece que la mayoría de las aplicaciones están codificadas para usar /dev/dsp
, así que busqué alguna forma de intercambiar los índices de las tarjetas. Después de investigar un poco a través de la documentación de ALSA, intenté asignar índices a los módulos de controlador utilizados por HDMI e Intel HDA con este /etc/modprobe.d/asound.conf
archivo:
options snd cards_limit=2
options snd-hda-codec-conexant index=0
options snd-hda-codec-hdmi index=1
options snd slots=snd-hda-codec-conexant,snd-hda-codec-hdmi
Sin embargo, eso no funcionó, y según un enlace olvidado en mi búsqueda interminable de una respuesta, parece ser porque index
se supone que estas directivas coordinan el orden de carga del módulo, pero ambos códecs Conexant y HDMI utilizan el mismo Intel HDA módulo controlador, por lo que parece no aplicarse en este caso.
Dicho esto, ¿hay alguna forma de definir índices de tarjeta correctos cuando los dispositivos usan el mismo módulo de controlador ALSA (Intel HDA en este caso)?