Автовыбор звуковой карты (Ищу решение)

Интегрированный звук, звуковые карточки, выносные устройства

Модератор: Модераторы разделов

Kai SD
Сообщения: 622
Статус: линуксоид-сектант
ОС: gentoo 2008.0 x86_64

Автовыбор звуковой карты

Сообщение Kai SD »

Всем привет.

Возник вопрос, но в результате поисков в гугле не нашел ни одного намека на то где искать ответ.

Есть компьютер с Gentoo Linux на борту (хотя это не важно). В качестве десктопа KDE. Хотя это тоже не особо важно.

В компьютере 3 звуковые карты:
  • PCI Creative Audigy.
  • Размазанная по материнке AC97.
  • Встроенная в видеокарту AC97.

И есть две задачи.

Задача минимум:
В обычном режиме выводить весь звук на первую звуковую карту.
При подключении телевизора через HDMI автоматически переводить весь вывод звука с первой на третью карту.

Задача максимум:
В обычном режиме выводить весь звук на первую звуковую карту.
При включении наушников в гнездо выхода второй звуковой карты автоматически переводить весь звук с первой на вторую.
При подключении телевизора через HDMI автоматически переводить весь вывод звука с первой или второй на третью карту.

Обнаружил что седьмая винда это делает практически сама, так что верю что получить подобное поведение в линуксе должно быть возможно.

Есть идеи как настроить?
С уважением
Kai SD
Спасибо сказали:

sumth13f
Сообщения: 1
ОС: Gentoo

Re: Автовыбор звуковой карты

Сообщение sumth13f »

Kai SD писал(а):
29.03.2012 22:24
Возник вопрос, но в результате поисков в гугле не нашел ни одного намека на то где искать ответ.
Есть идеи как настроить?

Была такая проблема, когда был ноутбук. Насчет автоматического переключения - не скажу(возможно стоит смотреть в сторону udev).
Оперировать операционными карточками можно в файле /etc/modprobe.d/sound.conf. Он должен быть примерно следующего содержания:

Код: Выделить всё

alias snd_slot_0 name1
alias sound_card_0 name1
alias snd_slot_1 name2
alias sound_card_1 name2
...
options name3 index=0
options name2 index=1
options name1 index=2

Где name можно взять из cat /proc/asound/cards, ну или lsmod | grep snd*
Спасибо сказали: