LINUX.ORG.RU

При отключении зарядного устройства уровень звука меняется на максимум

 , ,


1

1

А также при появлении некоторых системных уведомлений. Доставляет неудобства, особенно ночью или в наушниках. Проблема только в KDE, но на другой DE я переходить не собираюсь. Буду благодарен за помощь. Debian Jessie, Realtek

root@DEB-2DBQ4SPK0R0:/home/andrew# pulseaudio -vvv
W: [pulseaudio] main.c: Эта программа не предназначена для запуска с привилегиями администратора (кроме случая, когда указан ключ «--system»).
D: [pulseaudio] core-rtclock.c: Timer slack is set to 50 us.
D: [pulseaudio] core-util.c: setpriority() worked.
I: [pulseaudio] core-util.c: Successfully gained nice level -11.
I: [pulseaudio] main.c: PulseAudio 5.0
D: [pulseaudio] main.c: Скомпилирован на хосте: x86_64-pc-linux-gnu
D: [pulseaudio] main.c: CFLAGS при компиляции: -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wall -W -Wextra -pipe -Wno-long-long -Wno-overlength-strings -Wunsafe-loop-optimizations -Wundef -Wformat=2 -Wlogical-op -Wsign-compare -Wformat-security -Wmissing-include-dirs -Wformat-nonliteral -Wpointer-arith -Winit-self -Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes -Wredundant-decls -Wmissing-declarations -Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-align -Wstrict-aliasing -Wwrite-strings -Wno-unused-parameter -ffast-math -fno-common -fdiagnostics-show-option
D: [pulseaudio] main.c: Запущен на хосте: Linux x86_64
3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1 (2015-05-24)
D: [pulseaudio] main.c: Найдено процессоров: 4.
I: [pulseaudio] main.c: Размер страницы: 4096 байт
D: [pulseaudio] main.c: Скомпилировано с поддержкой Valgrind: нет
D: [pulseaudio] main.c: Запущен в режиме Valgrind: no
D: [pulseaudio] main.c: Запущен в виртуальной машине: no
D: [pulseaudio] main.c: Оптимизированная сборка: да
D: [pulseaudio] main.c: FASTPATH задан, включены только быстрые проверки «fast path».
I: [pulseaudio] main.c: Идентификатор компьютера: 68c3edf551f14cfc9c5d5cdb91e98363.
I: [pulseaudio] main.c: Идентификатор сеанса: 1.
I: [pulseaudio] main.c: Используется рабочий каталог /run/user/1000/pulse.
I: [pulseaudio] main.c: Используется каталог хранения состояний /root/.config/pulse.
I: [pulseaudio] main.c: Используется каталог модулей /usr/lib/pulse-5.0/modules.
I: [pulseaudio] main.c: Запущен в общесистемном режиме: no
E: [pulseaudio] pid.c: Daemon already running.
E: [pulseaudio] main.c: Произошла ошибка при выполнении pa_pid_file_create().



Последнее исправление: cetjs2 (всего исправлений: 1)

Открой /etc/pulse/daemon.conf, найди строку про flat-volumes и преврати её в такую:

flat-volumes = no

После этого надо перезапустить демона PulseAudio и проблема исчезнет.

Это типа фича такая - чтобы общий уровень громкости определялся по максимальному уровню громкости приложений, которые выводят звук в данный момент. Но на практике это выглядит скорее как баг и очень не удобно, поэтому мне кажется странным, почему этот функционал не отключают по дефолту.

KivApple ★★★★★
()
Последнее исправление: KivApple (всего исправлений: 1)

Была аналогичная проблема. Решил так: Параметры системы - Уведомления - Системные уведомления - Параметры проигрывателя - Выключить звук. Там же можно установить уровень громкости (по умолчанию он на максимуме). В дополнение, откройте файл /etc/pulse/daemon.conf, найдите строку flat-volumes = yes, поставьте no и уберите точку с запятой в начале. Сохраните и перезапустите пульс pulseaudio -k

Sunderland93 ★★★★★
()
Ответ на: комментарий от Sunderland93

Правки конфига полностью достаточно для решения данной проблемы, лезть в параметры системы не нужно, иначе звуки уведомлений по логике могут стать тише, чем всё остальное.

Причина проблемы:

В PulseAudio каждое приложение имеет свою собственную настройку громкости + общесистемный регулятор. При flat-volumes = no всё нормально - сначала к звуку от каждого приложения применяют его личный уровень громкости, затем результат суммируется и применяется уже общесистемный уровень громкости. Если не нужны какие-то хитрые схемы (типа тихо в фоне играет плеер, а звонок в Skype имеет полную громкость), то наоборот надо выставить всем приложениями уровень громкости 100%, а регулировать громкость общесистемным ползунком.

При flat-volumes = yes PulseAudio пытается следовать какому-то хитрому алгоритму и подстраивать общесистемный уровень громкости под уровни громкости приложений. Я не знаю, что хотели авторы, но на практике это сильно глючит и приводит к выставлению громкости в 100% в некоторых случаях. Поскольку профит от данной опции сомнителен, её лучше просто отключить и использовать классический вариант описанный выше.

KivApple ★★★★★
()
Последнее исправление: KivApple (всего исправлений: 1)
Ответ на: комментарий от KivApple

Аж стыдно... flat-volumes = no я выставил еще раньше, а вот ";" убрать забыл и думаю, почему не помогает. Спасибо за помощь.

mad_engineer
() автор топика
Ответ на: комментарий от Sunderland93

Ну чисто теоретически любое другое приложение может устроить такое, к тому же регулировка громкости работает кривовато в этом режиме, так что это лечение симптомов, а не болезни, по-хорошему, flat volumes тоже выставить надо

KivApple ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.