У меня нетбук Acer Aspire One 522 с звуковой картой Intel HDA на базе чипсета Conexant CX20584. Хотя KDE выводит звук при запуске, Flash и, возможно, многие другие приложения, которые ищут /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)?