У мене нетбук Acer Aspire One 522, який має звукову карту Intel HDA на основі чіпсету Conexant CX20584. Хоча KDE видає звук під час запуску, спалах, і, мабуть, багато інших додатків, які шукають /dev/dsp
пристрій, просто не можуть виводити звук через нього, надаючи багато корисної мультимедійної роботи.
Коли я перевірив свої пристрої відтворення ALSA aplay -l
, я побачив, що основний аудіопристрій розпізнається як картка 1 замість 0, яка замість нього підключена до 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
Таким чином я отримую /dev/dsp1
, але, здається, більшість додатків просто кодовані у використанні /dev/dsp
, тому я пішов шукати якийсь спосіб обміну картотеки. Після деяких досліджень за допомогою документації ALSA я спробував призначити індекси модулям драйверів, які використовуються HDMI та Intel HDA з цим /etc/modprobe.d/asound.conf
файлом:
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
Це не спрацювало, і, виходячи з якогось забутого посилання на мої нескінченні пошуки відповіді, схоже, це відбувається тому, що ці index
директиви повинні координувати порядок завантаження модулів, але обидва ці кодекси Conexant і HDMI використовують той же Intel HDA модуль драйвера, тому він, здається, не застосовується в цьому випадку.
Однак, чи є спосіб визначити правильні індекси карт, коли пристрої використовують той самий модуль драйвера ALSA (Intel HDA в цьому випадку)?