J'ai un netbook Acer Aspire One 522 qui a une carte son Intel HDA basée sur le chipset Conexant CX20584. Bien que KDE émette du son au démarrage, le flash et probablement de nombreuses autres applications qui recherchent un /dev/dsp
appareil ne peuvent tout simplement pas émettre de son à travers lui, ce qui rend une expérience multimédia à peu près inutile.
Lorsque j'ai vérifié mes appareils de lecture ALSA avec aplay -l
, j'ai pu voir que l'appareil audio principal était reconnu comme la carte 1 au lieu de 0, qui était connectée à HDMI à la place:
**** 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 cette façon, j'obtiens un /dev/dsp1
, mais il semble que la plupart des applications soient simplement codées en dur à utiliser /dev/dsp
, alors j'ai cherché un moyen d'échanger les index des cartes. Après quelques recherches dans la documentation ALSA, j'ai essayé d'attribuer des index aux modules pilotes utilisés par HDMI et Intel HDA avec ce /etc/modprobe.d/asound.conf
fichier:
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
Cela n'a pas fonctionné cependant, et sur la base d'un lien oublié dans ma quête sans fin d'une réponse, cela semble être parce que ces index
directives sont censées coordonner l'ordre de chargement des modules, mais ces deux codecs Conexant et HDMI utilisent le même Intel HDA module pilote, il ne semble donc pas s'appliquer dans ce cas.
Cela dit, existe-t-il un moyen de définir des index de carte corrects lorsque les appareils utilisent le même module de pilote ALSA (Intel HDA dans ce cas)?