efenstor.net

Делюсь опытом о пустоте

Прерывающийся звук в Debian 13 с GNOME

admin Linux 4 минуты

В Debian 13 (trixie) с GNOME встречается проблема, особенно заметная при прослушивании музыки одновременно с просмотром Интернета: иногда звук прерывается, "похрюкивает", особенно если перерисовывается весь экран.

Начиная с версии 12 (bookworm) Debian использует для вывода/записи звука PipeWire, вместо более традиционного PulseAudio, а PipeWire, будучи профессиональным аудио-сервером, в отличие от "бытового" PulseAudio, требует для корректной работы полного (full) режима вытесняющей многозадачности (preempt=full), в то время как Debian 13, по умолчанию, использует рекомендательный (voluntary) режим, судя по всему, из соображений стабильности работы системы на серверах.

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

Из терминала с правами root:

Приоритет реального времени

В случае, если вышеописанных действий, по какой-то причине, оказалось недостаточно или, например, вы собираетесь использовать вашу систему для профессиональной аудиозаписи, где важна точность соответствия реальному времени, то дополнительно нужно дать PipeWire повышенный приоритет реального времени. В Debian 13 для этого достаточно добавить пользователя в группу pipewire.

Из терминала с правами root:

Если файла /etc/security/limits.d/25-pw-rlimits.conf по какой-то причине нет, то его можно создать вручную. Вот его содержимое:

@pipewire - rtprio 95
@pipewire - nice -19
@pipewire - memlock 4194304

Альтернативное решение

Чисто теоретически, можно остаться и на voluntary режиме и просто увеличить минимальный размер квантума (default minimum quantum) PipeWire до 256 (по-умолчанию 32).

Из терминала с правами пользователя:

Недостатками такого подхода является то, что нет гарантии, что при каких-то особых случаях буфер опять не кончится и не возникнет "хрюк", а увеличивать параметр default.clock.min-quantum далее до 512 или 1024 - не самое лучшее решение, т.к. чем он больше, тем больше будет отставание звука от событий в системе.


DebianGNOMEнастройкасоветызвукпроблемыPipeWire