LINUX.ORG.RU

Деградация службы pulseaudio

 , , , ,


0

1

Нород, кроме pipewire есть какое решение, чтобы при трёх-четырёх аудиодевайсах + проброшенные TeamViewr'ом аудио за 3-4 часа либо при уходе в Sleep пульсаудио на микрофоне не превращался в пщщаудио?

Мне коллеги при попытке поговорить с ними в MS Teams говорят, что у меня сильно булькающий мультяшный голос.

Если перезапустить пульсу, MS Teams виснет.

Если есть истории успеха с pipewire (учтём, что у меня в комп ещё воткнута гитара, чтобы периодически побренчать в guitarix/jack)?

★★★★★

кроме pipewire
при уходе в Sleep

У меня плохие новости: эта проблема в RealtimeKit, в PipeWire из-за IPC она проявляется даже сильнее. Но с одним нюансом: в PipeWire вместо rtkit можно использовать ручное задание RLIMIT через привилегированного пользователя.
Т.е. как это всегда делают пользователи JACKd.

Ждущий режим и гибернация замедляют в rtkit непривилегированный поток-канарейку, из-за чего тот считает, что процессы/потоки в режиме реального времени забрали себе вообще всё процессорное время, и дело идёт к полному зависанию системы.
Такой вот изъян, не исправленный в течение десятилетия.

за 3-4 часа

Тут не знаю, на ровном месте проблема проявляться не должна.

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

Есть мнение, что сами приложения не умеют обращаться со звуком. Они даже профиль блюпупа не могут переключить, а ты после слипа чего-то там хочешь.

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

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

а ты после слипа чего-то там хочешь.

А потом вдруг оказывается, что это полно радости:

journalctl -b -u 'rtkit-daemon.service' -g '^The canary thread is apparently starving\. Taking action\.$'

Либо если не journald:

grep 'rtkit-daemon.* The canary thread is apparently starving\. Taking action\.$' '/var/log/syslog'
Darth_Revan ★★★★★
()
Последнее исправление: Darth_Revan (всего исправлений: 3)
Ответ на: комментарий от R_He_Po6oT

Тимс у меня на десктопе не умеет понимать, что микрофон появился

Эта фигня вообще под линуксом как, работает? Мне недавно хотели пропихнуть и я с удивлением узнал что вроде версия под линукс есть.

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

Работает, но с нюансами.

П.с. Рад возвращению..

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

У меня только под линуксом и работает. Под дисяточкой и Skype, и тимс вырубают микрофон на уровне панели управления, и обратно включают только при запуске «устранения проблем».

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

А пульса тоже использует rtkit? Он, вроде, опционален и там и там. У меня пайпваир и рткит стоит только на моём лаптопе, патамучо музыкант. А на остальных пульса и рткита нет. А проблема с микрофонами присутствует. И только в тимс и электроноприложениях некоторых. С удалённым обучением мы прошли много инородных приложений.

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

А пульса тоже использует rtkit?

Леннарт Поттеринг написал rtkit специально для PulseAudio.

Он, вроде, опционален и там и там.

Да, только в PipeWire опциональность заключается в том, что может использоваться прямое задание RLIMIT, а в PulseAudio оно в том, что он может существовать без приоритета вообще.

А на остальных пульса и рткита нет. А проблема с микрофонами присутствует.

rtkit её, наоборот, решать должен, но после suspend ему иногда кажется, что система умирает, и отбирает все приоритеты.
Если у PulseAudio приоритета никогда не было (потому что rtkit нет), то, как бы, и отбирать нечего.

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

А где про эти тонкости почитать?

Хочется как бы решить вопрос.

Например, я же могу как-то без rtkit запускать пульсу с фиксированным приоритетом?

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

Ну я к тому, что у меня Fedora, pipewire и ничего такого после сна, вроде бы, не наблюдается. Хотя вот как пишет комментатор выше:

$ journalctl -b -u 'rtkit-daemon.service' -g '^The canary thread is apparently starving\. Taking action\.$'

Mar 15 09:39:40 fedora rtkit-daemon[1523]: The canary thread is apparently starving. Taking action.
Mar 16 11:07:18 fedora rtkit-daemon[1523]: The canary thread is apparently starving. Taking action.

Для улучшения качества микрофона советую попробовать EasyEffects – потрясная вещь, можно настроить шумодав, сделать буст микрофона и т.д.

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

и ничего такого после сна, вроде бы, не наблюдается

100% воспроизводимости тут нет, но если оно таки случилось, то можно ожидать {пере,недо}полнение буфера (buffer {over,under}run) и самым разным задержкам.
PipeWire от сего больше всего страдает, потому что IPC чувствительно к задержкам.

Если перезапуск PulseAudio после suspend помогает, то это должно быть оно.
Если не оно, то тогда может быть дело в ALSA, и можно попробовать alsactl init.

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

Я же могу захардкодить где-либо запуск от рута с высочайшим приоритетом.

Ну, да, я просто к тому, что сам PulseAudio это делать не умеет, в отличие от PipeWire.
Только руками.

Darth_Revan ★★★★★
()
Последнее исправление: Darth_Revan (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.