Bug 28648

Summary: неудобный приоритет звуковых карт в alsa
Product: Sisyphus Reporter: LugumanovAlexandr <sasalug>
Component: alsa-pluginsAssignee: Michael Shigorin <mike>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P3 CC: mike, rider, shrek
Version: unstable   
Hardware: x86   
OS: Linux   

Description LugumanovAlexandr 2013-03-09 04:41:58 MSK
При наличии звуковой карты на видеокарте - она получает в alsa приоритет перед основной звуковой картой, используемой в системе.
Что, видимо, не правильно, потому как я не использую встроенное аудио видеокарты :) (может кто-то и использует?)
Если нет графической утилиты для настройки приоритета модулей alsa (например в lxde) - необходимо править конфигурационный файл /etc/modprobe.d/alsa-modindex.conf, что не очень удобно и не всем по силам.
На форуме предложили такое решение: добавить в вышеупомянутый конфиг строки:

options snd-usb-audio index=0
options snd-hda-intel index=1
options snd-hda-intel index=2  id="NVidia"

что сделает самыми приоритетными usb-устройства, для горячего подключения, затем обычную аудиокарту, а nvidi-евский чип отодвинет в самый конец.

Вот обсуждение:
http://194.107.17.160/index.php/topic,28619.msg199188.html#msg199188
Comment 1 Michael Shigorin 2013-03-09 18:16:55 MSK
По результатам огугливания и проверки на USB-гарнитуре:

- если прибить индексы гвоздями, по умолчанию звука может не быть (т.к. в 0);
- некоторым как раз _не_ нужен звук по умолчанию в гарнитуру;
- некоторым как раз нужен звук в HDMI.

Так что alsa-modindex.conf можно только поправить в плане комментариев:

## spare index=0 for a hotplug soundcard (if any)
#options snd-usb-audio index=0

## offset HDMI output compared to onboard audio (#28648)
#options snd_hda_intel index=2,3

#options snd_intel8x0 index=2
#options snd_via82xx index=2
#options snd-bt87x index=3
#options snd_intel8x0m index=4
#options snd-atiixp-modem index=4
#options snd-via82xx-modem index=4

## get PC speaker out of the way
options snd_pcsp index=10

Для более цивильного конфигурирования вручную надо написать модуль alterator -- см. тж. bug #7347; для переконфигурирования на лету следует применять pulseaudio или jack.

Вот правило udev для переключения умолчания при подключении звукочипа:

https://wiki.archlinux.org/index.php/Advanced_Linux_Sound_Architecture#Hot-plugging_a_USB_Sound_Card
Comment 2 Repository Robot 2013-03-09 19:59:02 MSK
libalsa-1:1.0.26-alt3 -> sisyphus:

* Sat Mar 09 2013 Michael Shigorin <mike@altlinux> 1:1.0.26-alt3
- alsa-modindex.conf: promote USB audio, demote HDMI audio example
  (closes: #28648)
Comment 3 Michael Shigorin 2016-05-27 13:24:00 MSK
Как ещё один вариант, может пригодиться:

options snd_hda_intel index=1,0

(на случай, когда по умолчанию звук ушёл в HDMI, а не в набортное ноута)
Comment 4 Michael Shigorin 2022-09-30 14:23:05 MSK
Для архива: посмотреть текущее соответствие модулей и индексов можно так:

$ cat /proc/asound/modules
 0 snd_hda_intel
 1 snd_hda_intel
 2 snd_usb_audio

Спасибо Speccyfighter за http://forum.altlinux.org/index.php?topic=32855.0