Search
Write a publication
Pull to refresh

Исправляем звук в Linux на Asus ROG Zephyrus Duo

Проблема:
На максимальной громкости звук с динамиков звучит нормально, но при понижении громкости происходит искажение. Так было у автора. В интернетах встречались топики где у автора были похожие симптомы, например: регулирование громкости никак не влияет на звук, пока не опустится до минимума.

Проблема проявлялась на любых дистрибутивах, включая Fedora Workstation 34/35/36, Garuda, Ubuntu, Pop! OS, Manjaro. Как я думал проблема была в железе, мол производитель как-то хитро подключил аудио-входы и теперь нужно ждать когда выйдут совместимые драйверы.

Собственно мое устройство:
Asus ROG Zephyrus Duo GX551QS-HF060T на процессоре Ryzen 9 5900HX

Вот мои аудио контроллеры:

lspci -v | grep Audio

В чем была проблема?

Системный ползунок громкости регулировал Master канал громкости, но неправильно регулировал уровень PCM.
Как это определить?
Открываем alsamixer:

alsamixer

Жмем F6 и выбираем основное аудио-устройство. В моем случае это был HD-Audio Generic.

Кнопками Fn + F2 / F3 меняем громкость и замечаем, что меняется уровень Master, но PCM двигается как-то странно

Если вручную выставить все ползунки на одном уровне, например в районе 30, то громкость аудио понизится и звук будет нормальный.

Из этого мы понимаем что проблема в том, что некорректно регулируются уровни PCM и Master

Что было предпринято для решения проблемы:

Для начала заменил PipeWire на PulseAudio:

systemctl --user --now disable pipewire pipewire-pulse wireplumber
sudo dnf swap pipewire-pulseaudio pulseaudio --allowerasing

После правил конфиг файл /usr/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common:

В моем случае понадобилось добавить пункт [Element Master], так как его не было.

[Element Master]
switch = mute
volume = merge
override-map.1 = all
override-map.2 = all-left,all-right


Вам, возможно, придется поиграть со значениями volume = merge пробуя заменить merge на ignore - зависит от конкретного случая.

После редактиврования конфига перезагружаем pulseaudio:

killall pulseaudio

В моем случае вышеперечисленные действия решили проблему на Fedora 36.

Теперь если открыть alsamixer, то уровни перестанут меняться при регулировке громкости:

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

Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.