LINUX.ORG.RU

В пакете PulseAudio для Fedora 24 отключат Flat Volumes по умолчанию

 , ,


2

4

Flat Volumes — это внедренная семь лет тому назад логика управления громкостью отдельных приложений в PulseAudio. В рамках этой логики, громкость каждого отдельного звукового потока (в процентах) исчисляется относительно аппаратного максимума, а не относительно «громкости звуковой карты». «Громкость звуковой карты» равна максимальной громкости проигрываемых потоков, т.е. не является независимой переменной, а скорее удобной «ручкой» для увеличения или уменьшения громкости всех приложений одновременно.

До недавнего времени логика Flat Volumes была включена по умолчанию во всех дистрибутивах, кроме Ubuntu. Начиная с выпуска 24, Fedora собирается отказаться от этой схемы, так как, несмотря на прошедшие семь лет, разработчики так и не научились писать совместимые с этой логикой приложения. Наиболее распространенный баг — выставление громкости на 100% без явного указания от пользователя. Багу подвержены такие важные библиотеки и приложения, как WebKit-GTK, Firefox и GNASH.

Поскольку выставление громкости на 100% (с возможными последствиями в виде сгоревших динамиков) без вмешательства пользователя происходит в том числе через браузеры (демо: https://jsfiddle.net/bteam/FbkGD/ , открывать с осторожностью), такое поведение является уязвимостью. Вину за уязвимость разработчики PulseAudio и веб-движков долго сваливали друг на друга, а прогресса ни с той, ни с другой стороны не было.

>>> Подробности

★★★★★

Проверено: JB ()

Зачем писать программы, совместимые с марсианской логикой?

Mystra_x64 ★★★★★ ()

До недавнего времени логика Flat Volumes была включена по умолчанию во всех дистрибутивах, кроме Ubuntu

I-Love-Ubuntu

I-Love-Microsoft ★★★★★ ()

В пакете PulseAudio для Fedora 24 отключат Flat Volumes по умолчанию

Учитывая то, что это RedHat, они не планируют там в апстриме (т.е. самой пульсе) Flat Volumes выпилить?

ChALkeR ★★★★★ ()

Это камень брошенный в сторону Потного-гринго?

anonymous ()

Не прошлои десяти лет. А потом кто-то ещё рассуждает про линукс на десктопе.

Yossarian ()
Ответ на: комментарий от ChALkeR

Учитывая то, что это RedHat, они не планируют там в апстриме (т.е. самой пульсе) Flat Volumes выпилить?

В апстриме ситуация такая.

Arun Raghavan против выпиливания, но признает, что проблема есть. Выслал серию патчей, которые вводят новое API: https://lists.freedesktop.org/archives/pulseaudio-discuss/2015-December/02508... . Проблему в существующих клиентах эти патчи не решают.

Tanu Kaskinen больше за выпиливание, но готов рассмотреть и другие патчи, исправляющие уязвимость.

David Henningsson по теме не высказывался, но является мейнтейнером PulseAudio в Ubuntu, где flat-folumes = no.

Я (Alexander E. Patrakov) безусловно за выпиливание.

Wim Taymans ранее пытался выслать патчи, исправляющие логику, но ему показали, что они эквивалентны выпиливанию Flat Volumes. Сейчас он высказался за выпиливание.

Lennart Poettering уже давно не в проекте.

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

Еще забыл сказать, что Allan Day (главный юзабилист GNOME) высказался против раздельной регулировки громкости для каждого приложения. Его мысли более подробно изложены тут: https://wiki.gnome.org/Design/SystemSettings/Sound

AEP ★★★★★ ()

У меня вообще громкость пожизненно в 100%, а регулирую я реостатом в наушниках.

По описанию идея flat volumes мне кажется глупой. Если я снизил мастер-громкость, то это потому что я хочу сделать тише, а не потому что мне нечего делать.

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

Идея flat-volumes - это вброс со стороны Microsoft, который они сами реализовали только в своем апплете-микшере на уровне отрисовки.

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

Согласен. Следующий шаг - закопать vim.

anonymous ()
Ответ на: комментарий от AEP

Не понятен наезд на регулировку баланса выходов. Use-case бывают самые разные - от дефектов слуха конкретного человека (одно ухо плохо слышит) до дефектов аудиосистемы. Сам лично с таким сталкивался на своём примере - у меня были проблемы с одним ухом (воспаление или что-то такое, уже не помню) и я возвращал удовольствие от прослушивания путём регулировки баланса звука. Затем я ухо вылечил и вернул настройки на место. А ведь есть люди-инвалиды, у которых это не лечится. Им что, отказаться от наушников вообще? Тем более что эта опция должна достаточно легко реализовываться в коде и никому не мешает, если её не трогать.

Также я часто использую раздельную регулировку громкости. Например, какое-то приложение издаёт нафиг ненужные звуки и я могу их отключить, не копаясь в настройках этого самого приложения (и это ещё если такие настройки есть). Раз уж они так хотят данных фич, то почему бы просто не ввести приложениям теги (приложения и так сообщают различную информацию о себе звуковой подсистеме - как минимум название и значок)? И сделать в микшере регулировку не только по одному приложению, но и по тегам (изменить звук всех приложений с данным тегом, для которых не задана громкость вручную).

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

Еще забыл сказать, что Allan Day (главный юзабилист GNOME) высказался против раздельной регулировки громкости для каждого приложения.

И зачем тогда пульса нужна?

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

И зачем тогда пульса нужна?

1. Чтобы перемещать звук с одной звуковой карты на другую без перезапуска приложения

2. Для поддержки BlueTooth и RAOP - для этих протоколов нет ALSA-плугинов

3. Для кодирования в DTS на лету (нужно для SPDIF, если звук изначально в PCM, как это бывает в играх)

4. Для эхоподавления

AEP ★★★★★ ()

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

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

Чтобы гонять звук по сети. Тут пульса - единственное рабочее решение.

entefeed ★★ ()

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

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

И зачем тогда пульса нужна?

1. Чтобы перемещать звук с одной звуковой карты на другую без перезапуска приложения
2. Для поддержки BlueTooth и RAOP - для этих протоколов нет ALSA-плугинов
3. Для кодирования в DTS на лету (нужно для SPDIF, если звук изначально в PCM, как это бывает в играх)
4. Для эхоподавления

5. Для срачей.

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

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

да с вами все ясно, так и передай «Неосиоляторы», осиляторы обоев

anonymous ()
Ответ на: комментарий от AEP

Allan Day (главный юзабилист GNOME) высказался против раздельной регулировки громкости для каждого приложения

Правильно, пусть с срачах alsa/pa у защитников pa вообще аргументов не останется.

anonymous ()

(с возможными последствиями в виде сгоревших динамиков)

Т.е. последствия в виде отложенных кирпичей никого не волнует? :)

По теме: давно пора.

Sectoid ★★★★★ ()

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

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

Чтобы гонять звук по сети. Тут пульса - единственное рабочее решение.

Наглое 4.2, особенно про «рабочее».

nezamudich ★★ ()

В дэбичке-понечке по-умолчанию отключено.

*мимопроходил*

anonymous ()

офигеть новость, в самой пульсе с 7-й версии этот параметр отключен

amorpher ★★★★★ ()

Вину за уязвимость разработчики PulseAudio и веб-движков долго сваливали друг на друга, а прогресса ни с той, ни с другой стороны не было.

Pshhhaudio такое pshhhh.

Skullnet ()
Ответ на: комментарий от entefeed

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

До рабочего сценария «вышел из комнаты с ноутбуком - звук на встроенные динамики; зашел обратно- на полноценные АС» пульсе ещё как до луны.

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

В апстриме ситуация такая.
Lennart Poettering уже давно не в проекте.

tailgunner за переписывание на Rust, так как это безусловно решает все проблемы системного ПО

anonymous ()
Ответ на: комментарий от AEP

2. Для поддержки BlueTooth и RAOP - для этих протоколов нет ALSA-плугинов

Для BT была поддержка ALSA, только её закопали давным давно.

3. Для кодирования в DTS на лету (нужно для SPDIF, если звук изначально в PCM, как это бывает в играх)

У меня как раз колонки через SPDIF подключены и PA в системе нет. Полёт нормальный.

hateyoufeel ★★★★ ()

давно пора.
хоть поправить конфиг и не долго, но дефолт должен адекватен и подходить большинству

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

«вышел из комнаты с ноутбуком - звук на встроенные динамики; зашел обратно- на полноценные АС»

Это где такое есть ? И как оно реализовано ? Мне действительно интересно.

Dred ★★★★ ()

В ненужно для ненужно отключат ненужно по умолчанию.

anonymous ()

Ужасы какие-то. Сгоревшие динамики по умолчанию. Эти люди явно чем-то не тем заняты.

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

На счет сгоревших динамиков не знаю, но вот пример:
у меня в усилителе отсутствует регулировка громкости, т.е. всегда максимум. громкость регулируется только с компьютера и обычно составляет не более 14-16%, ну пусть 20. И тут какое-то системное уведомление внезапно воспроизводится со 100% громкостью.
1) это очень громко
2) ведь при этом может и еще где-то звук воспроизводиться и, внезапно, стать очень громким

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

Зачем писать программы, совместимые с марсианской логикой?

Хмм. Если выставить громкость на 100%, то громкость будет на 100% - это марсианская логика?

anonymous ()

демо: https://jsfiddle.net/bteam/FbkGD/ , открывать с осторожностью

Сраная федорка 23 с гномом и фаерфоксом по умолчанию. С громкостью всё впорядке, ничего не скачет на 100%. О чём новость вообще?

anonymous ()

То есть я не смогу одним движением руки сделать в игре звук потише пока говорю по хэнгауту? А настройки отдельных приложений и так не могут быть выше системного канала. Или все не так понял и отдельные каналы останутся?

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

Почитай про Flat volumes.

Уже почитал сверху. Ради тебя ещё прочитал плач какого-то чувака в интернетах. Вопрос остался тот же.

Если приложение выставляет громкость на 100% и звук проигрывается на 100% - в каком месте тут марсианская логика?

anonymous ()

Следующим шагом предлагаю выпилить саму Pulseaudio.

DiGital ()

В принципе и нафиг не надо, но вот например системные уведомления к примеру, я слушаю музыку на 70% и тут динь-динь в ухо о приходе новой почты, тоже ведь не гуд. И что мешает принудительно для приложений выставлять звук равный общему системному, а пользователь подкрутит если уж вздумается (теже системные звуковые уведомления и всякие пуки pidgin`ов), это будет лучше чем просто выпилить.

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

Тут пульса - единственное рабочее решение.

Рабочее, но через одно место рабочее, увы.

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

В соседней теме как раз с этим разбирался. Вывод такой. Если на сервере и клиенте организованно автоматическое поднятие тунеля, то всё работает через пятую точку. Когда же тунель прописан жёстко, то всё работает корректно. Из минусов - если пульс сервер выключен, то для поднятия тунеля надо подгрузить вручную, читай скриптом, необходимые модули.

P.S. хороший туториал.

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

Еще забыл сказать, что Allan Day (главный юзабилист GNOME) высказался против раздельной регулировки громкости для каждого приложения.

И чем же это мешает? Удобная же фича, только ради неё и юзаю пульсы.

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

Это же гном. Фичи - слишком сложно, надо выпиливать.

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