Уголок новичка
   2184

Вывод звука не туда [Xonar DGX]

Здравствуйте,

Поставил Manjaro KDE 20.0.3. По умолчанию нет звука из колонок (воткнуты в звуковую карту сзади компа), но есть в наушниках, если их воткнуть в переднюю панель ПК.
В alsamixer могу выбрать свою звуковую карту (Xonar DGX). Далее в столбце «Analog Ouput» изменить «Analog Output [Stereo Headphones FP]» на «Analog Output [Stereo Headphones]» и звук появится на колонках. На наушники система перестанет реагировать: втыкаю вытыкаю, звук в любом случае из колонок, а в наушниках тишина.

Также есть третий вариант в столбце «Analog Ouput» — «Analog Output [Multichannel]». Он аналогичен «Analog Output [Stereo Headphones]», но при его выборе система перестаёт реагировать на програмную настройку громкости: то есть меняю громкость в трее, а она не меняется.

Как мне всё это починить? Нужно, чтобы система понимала, куда выводить звук, а то сейчас Я переключаю сам через alsamixer. В добавок по умолчанию звук наушники, а Я их редко использую, то есть при каждом запуске manjaro приходится руками менять вывод звука на колонки.
alsamixer + xonar dgx

6 комментариев

avatar
В alsa-tools есть hdajackretask. Он позволяет ремапить порты как угодно.
0
avatar
Поставил alsa-tools, открываю hdajackretask, а моей звуковой карты нет…


inxi -Fxz


aplay -l


Как мне добавить свою звуковую карту в hdajackretask, чтобы ремапнуть?
0
avatar
Нюанс.
Нюанс два: я ступил, Вы же с дискреткой работаете, hdajackretask ее не ремапит (там вообще выходы могут такого не уметь).
И нюанс номер три — звук на переднюю панель выводит встройка.
Но, раз Вы можете переключать порт вывода звука в микшере, то это можно заскриптовать.
Два варианта:
  1. Простой как лом — переключать по хоткею. Уши можно воткнуть в соответствующий порт задней панели встройки. Жмем кнопку — меняем выход.
  2. Отлавливать событие смены статуса порта наушников и по нему переключать карточку.
Последний раз редактировалось
0
avatar
И нюанс номер три — звук на переднюю панель выводит встройка.
Не знал про такое, а ведь Я сам переднюю панель подключал к звуковой карте асуса…
+ ещё что-то щёлкает (мб реле) при переключении между задней и передней панелями в альсе.
На винде щелчков нет, но и звук тут переключается на альсой, а автоматически.

Не подскажете, где отлавливать событие втыкания наушников? Колонки 24/7 подключены, а вот наушники то подключаю, то отключаю.
0
avatar
Я сам переднюю панель подключал к звуковой карте асуса
Это меняет дело. Если фронтальная панель подключена к дискретке, то интегряшка, разумеется, остается не при делах и ее вообще можно отрубить в биосе.
Не подскажете, где отлавливать событие втыкания наушников?
acpi_listen 

Также замечу, что если сама фронтальная панель выполнена по стандарту AC97, то у него автодетекта просто нет. При этом разъем совместим.
Тут есть простое, как палка решение. Создаем скрипт вроде приведенного ниже и вешаем его на хоткей. Все.
Сам скрипт

#!/usr/bin/env sh
export LC_ALL=POSIX
CARD=$( pactl list sinks | grep "Name" | cut --delimiter=' ' --fields=2 )
if [ $( pactl list sinks | grep "Active Port" | cut --delimiter=' ' --fields=3 ) = analog-output-lineout ]
    then
        pactl set-sink-port $CARD 'analog-output-headphones'
        notify-send "Audio output" "headphones selected" --icon="audio-headphones"
    else
        pactl set-sink-port $CARD 'analog-output-lineout'    
        notify-send "Audio output" "speakers selected" --icon="audio-speakers"
fi


Последний раз редактировалось
0
avatar
При помощи сохранения настроек alsamixer'a (первый же ответ askubuntu.com/questions/50067/howto-save-alsamixer-settings) звук теперь по умолчанию выводится на колонки. Осталась только проблема с автоматическим переключением звука на наушники, когда они вставляются в переднюю панель. Как настроить автоматическое переключения вывода звука на наушники и обратно? Не заходить же каждый раз в alsamixer, чтобы руками колонки на наушники переключить, а по окончанию использования наушников переключать ещё и обратно.
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.