Mam netbooka Acer Aspire One 522 z kartą dźwiękową Intel HDA opartą na chipsecie Conexant CX20584. Chociaż KDE generuje dźwięk podczas uruchamiania, flash i prawdopodobnie wiele innych aplikacji, które szukają /dev/dsp
urządzenia, po prostu nie mogą odtwarzać dźwięku przez to, co czyni całkiem bezużyteczne wrażenia multimedialne.
Kiedy sprawdziłem moje urządzenia odtwarzające ALSA za pomocą aplay -l
, mogłem zobaczyć, że główne urządzenie audio zostało rozpoznane jako karta 1 zamiast 0, która zamiast tego była podłączana do 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
W ten sposób otrzymuję /dev/dsp1
, ale wydaje się, że większość aplikacji jest po prostu zakodowana w użyciu /dev/dsp
, więc szukałem sposobu wymiany indeksów kart. Po kilku badaniach dokumentacji ALSA, próbowałem przypisać indeksy do modułów sterowników używanych przez HDMI i Intel HDA za pomocą tego /etc/modprobe.d/asound.conf
pliku:
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
To jednak nie zadziałało, a na podstawie jakiegoś zapomnianego linku w mojej niekończącej się próbie odpowiedzi wydaje się, że te index
dyrektywy mają koordynować ładowanie modułów, ale zarówno te kodeki Conexant, jak i HDMI używają tego samego Intel HDA moduł sterownika, więc wydaje się, że nie ma zastosowania w tym przypadku.
To powiedziawszy, czy jest jakiś sposób na zdefiniowanie poprawnych indeksów kart, gdy urządzenia używają tego samego modułu sterownika ALSA (w tym przypadku Intel HDA)?