Bug 21900

Summary: не сохраняется значения уровней каналов в микшере при выключении компа
Product: Sisyphus Reporter: Denis G. Samsonenko <d.g.samsonenko>
Component: pulseaudioAssignee: Sergey Bolshakov <sbolshakov>
Status: CLOSED NOTABUG QA Contact: qa-sisyphus
Severity: minor    
Priority: P3 CC: cas, d.g.samsonenko, kharpost, sbolshakov, shrek, zerg
Version: unstable   
Hardware: all   
OS: Linux   
Bug Depends on:    
Bug Blocks: 19564    
Attachments:
Description Flags
скриншот none

Description Denis G. Samsonenko 2009-10-10 08:39:24 MSD
Не уверен, что виноват kmix, но кто именно не знаю.

Обновился на домашней машине с 4.1/branch на p5/branch, и пересел с
KDE3 на KDE4. После чего обнаружил такую проблему. Почему-то не
сохраняются значения уровней каналов в микшере при выключении компа
или перезагруке. Всё время восстанавливает откуда-то взятые значения,
но никак не последние, что были перед выключением. Установка и снятие галочки "Восстанавливать значения громкости при входе в систему" ни на что не влияет.

Что с этим можно сделать?
Comment 1 Denis G. Samsonenko 2009-10-10 08:54:18 MSD
Даже перезагружаться не надо. Достаточно выйти из KDE4 и снова зайти.

Поведение такое:

1) Перед логином в KDM на первой консоли смотрю уровни в alsamixer. Выставляю Master 90, Headphon 23, PCM 90.

2) Логинюсь в KDM, грузится KDE4. Смотрю в микшер: Master 100, Headphon 100, PCM 74.

3) Меняю на Master 90, Headphon 16, PCM 90. Выхожу из KDE.

4) Проверяю на первой консоли в alsamixer: Master 100, Headphon 16, PCM 81.

5) Снова логинюсь в KDM, попадаю в KDE4, проверяю микшер: Master 100, Headphon 100, PCM 81.

В общем фигня какая-то с сохранением и восстановлением значений уровней громкости в KDE4 (а может не только в нём).
Comment 2 Sergey V Turchin 2009-10-21 15:20:41 MSD
А в kmix включено "восстанавливать уровни" ?
Comment 3 Sergey V Turchin 2009-10-21 15:33:38 MSD
если включено, то проблема скорее всего с конкретным драйвером alsa
пробовать восстановление уровней можно командой
kmixctl --restore

у меня не воспроизводиться
Comment 4 Andrey Cherepanov 2009-10-21 18:50:13 MSD
У меня и на стенде — тоже.
Comment 5 Denis G. Samsonenko 2009-10-22 18:11:58 MSD
(В ответ на комментарий №3)
> если включено, то проблема скорее всего с конкретным драйвером alsa
> пробовать восстановление уровней можно командой
> kmixctl --restore
> 
> у меня не воспроизводиться

$ kmixctl --restore
bash: kmixctl: команда не найдена
Comment 6 Sergey V Turchin 2009-10-22 18:14:19 MSD
> bash: kmixctl: команда не найдена
kmixctrl
Comment 7 Denis G. Samsonenko 2009-10-22 18:23:32 MSD
(В ответ на комментарий №6)
> > bash: kmixctl: команда не найдена
> kmixctrl

По вызову этой команды и устанавливаются те значения, что я выше писал. Но это не те значения, что должны были сохраниться при выходе из KDE и перезагрузке.
Comment 8 Denis G. Samsonenko 2009-10-25 21:01:33 MSK
Кажется я нашёл, кто портит значения микшера при выходе из X-сессии. Если вывести окно микшера, а потом нажать на "Завершить сеанс", то перед тем, как сеанс завершится видно, как ползунки микшера поменяются. Если я задаю для Master и PCM по 90%, то перед выходом эти значения меняются на 100% и 84%.

Посмотрев в файл ~/.kde4/share/config/kmixctrlrc сохранились изменённые параметры: 31 для Master и 25 для PCM (вместо исходных 28 и 28). Если вручную поменять перед входом в KDE значения в ~/.kde4/share/config/kmixctrlrc на нужные мне 28 и 28, то после входа в KDE всё равно получаю в микшере значения 31 для Master и 25 для PCM. Если при этом сделать kmixctrl --restore, то значения поменяются на нужные мне 28 и 28, как это записано в kmixctrlrc. Но при выходе этот файл снова перезаписывается со сзначениями 31 и 25.

В общем выглядит это так, как будто что-то меняет значения для каналов микшера при входе и выходе из KDE помимо kmix и перезаписывает файл ~/.kde4/share/config/kmixctrlrc.

Предположив, что это может pulseaudio так чудить вынес из системы всё, что его касалось, кроме libpulseaudio (его удалить не получается). Вычистил из ~/ всё, что могло относиться к pulseaudio.

После указанной процедуры значения микшера перестали меняться от мною установленного при входе и выходе.

Отсюда возникает вопрос. Почему pulseaudio игнорирует настройки каналов, которые я задал в kmix и всегда пытается восстановить свои значения? Причём совершенно не понятно откуда он взял эти значения и где он их хранит.

В общем это видимо баг в интеграции pulseaudio и KDE4.
Comment 9 Sergey V Turchin 2009-10-26 13:30:34 MSK
Я не знаю, есть ли в pulse что-то, что занимается сохранением уровней.
Надо посмотреть, возможно ли их просто подружить.
А вообще, я тоже у себя везде снес, т.к. звук без него получше будет.
Comment 10 Sergey Bolshakov 2009-10-26 13:45:17 MSK
это не ошибка.
поищите на тему pulseaudio 'flat volume'
Comment 11 Denis G. Samsonenko 2009-10-26 17:24:58 MSK
(В ответ на комментарий №10)
> это не ошибка.
> поищите на тему pulseaudio 'flat volume'

Если это не ошибка, а фича такая, что система игнорирует те настройки значений для каналов, что я от неё требую, то может тогда лучше отключить эту фичу по-умолчанию? А то этот искусственный интеллект только запутывает неискушённого пользователя, создаёт иллюзию, что система живёт своей независимой жизнью.
Comment 12 Denis G. Samsonenko 2009-10-27 14:28:32 MSK
(В ответ на комментарий №10)
> это не ошибка.
> поищите на тему pulseaudio 'flat volume'

Прописал в /etc/pulse/daemon.conf "flat-volumes = no", однако же после перезагрузки всё равно Master и Headphone задираются на максимум.

Просто видно, если при перезагузке оставить открытым окно с микшером, то при попадании снова в KDE микшер сначала показывает те значения, которые я ему назначал, а спустя несколько секунд меняются на другие (Master и Headphone на максимуме, PCM ~80%).

При этом в ~/.kde4/share/config/kmixctrlrc остаются те значения, что я ему указывал.

Т.о., несмотря на отключение flat-volume, что-то от pulseaudio продолжает менять уровни громкости каналов на свои непонятно откуда взятые значения, а не оставляет уровни в тех значениях, что я от него требую. Особенно раздражает задранный уровень Headphone. Приходится наушники отсоединять перед включением компа, а то за и динамики боязно, когда через них орёт стандартная мелодия входа в KDE.

Что надо сделать (кроме полного сноса pulseaudio), чтобы такого своеволия не происходило?
Comment 13 Sergey Bolshakov 2009-10-27 15:03:46 MSK
кроме сноса pulseaudio -- снос kmix'а.
вообще, у меня складывается впечатление, что kmix в kde4,
в отличие от kde3, успевает усесться на /dev/snd/control* раньше pulseaudio.
Comment 14 Sergey V Turchin 2009-10-27 15:28:50 MSK
(В ответ на комментарий №12)
> Что надо сделать (кроме полного сноса pulseaudio), чтобы такого своеволия не
> происходило?
Например, отключить в kmix "восстановление"

По умолчанию никакого pulseaudio устанавливаться при установке дистрибутива вместе с KDE4 не должно. Если заметите -- свистите!
Comment 15 Denis G. Samsonenko 2009-10-27 16:02:17 MSK
(В ответ на комментарий №14)
> > Что надо сделать (кроме полного сноса pulseaudio), чтобы такого своеволия не
> > происходило?
> Например, отключить в kmix "восстановление"

kmix восстанавливает то, что у него прописано в ~/.kde4/share/config/kmixctrlrc, на сколько я понимаю. Уже после этого восстановления что-то меняет уровни каналов.
Comment 16 Denis G. Samsonenko 2009-10-27 16:03:28 MSK
(В ответ на комментарий №13)
> кроме сноса pulseaudio -- снос kmix'а.

И чем регулировать уровни каналов, да так, чтобы после перезагрузки их значения были бы такими, какими я их оставил перед выключением?

> вообще, у меня складывается впечатление, что kmix в kde4,
> в отличие от kde3, успевает усесться на /dev/snd/control* раньше pulseaudio.
Comment 17 Denis G. Samsonenko 2009-10-27 16:13:55 MSK
(В ответ на комментарий №13)
> кроме сноса pulseaudio -- снос kmix'а.

Убрал запуск kmix при старте KDE. Перезагрузился. Запусти alsamixer в konsole, увидел, что там снова Master 100%, Headphone 100%, PCM 81%. Поменял на 90, 16, 90. Перезагрузился. Снова смотрю в alsamixer и опять вижу, что Master 100%, Headphone 100%, PCM 81%.
Comment 18 Sergey Bolshakov 2009-10-27 17:03:51 MSK
alsa-plugins-pulse стоит ?
Comment 19 Denis G. Samsonenko 2009-10-27 17:41:51 MSK
Created attachment 4019 [details]
скриншот

Поставил alsa-plugins-pulse-1.0.21-alt1. После этого alsamixer стал говорить, что у меня карта называется PulseAudio, и у неё есть только 2 канала: Master и Capture. При этом регулировать ни один из этих двух каналов в alsamixer не удаётся.
Comment 20 Sergey Bolshakov 2009-10-27 17:55:19 MSK
вот и замечательно.
Comment 21 Denis G. Samsonenko 2009-10-27 18:11:39 MSK
(В ответ на комментарий №20)
> вот и замечательно.

А что замечательного? Как регулировать громкость? Что сделать, чтобы уровень Headphone не задирался на максимум после каждой перезагрузки? Как вообще добиться того, чтобы каналы оставались выставленными на тех уровнях, что я оставил перед выключением, а не устанавливались в непонятно откуда взятые значения? Неужели только сносом pulseaudio?
Comment 22 Sergey Bolshakov 2009-10-27 18:16:53 MSK
ответы на подобные вопросы следует искать в другом месте.
Comment 23 Denis G. Samsonenko 2009-10-27 18:30:55 MSK
(В ответ на комментарий №22)
> ответы на подобные вопросы следует искать в другом месте.

т.е. всё таки apt-get remove