88
99 .. _sound :
1010
11- **********************
12- Низкие задержки звука
13- **********************
11+ *******************
12+ Настройка PipeWire
13+ *******************
1414
15- .. index :: installation, lowlatency, audio, pipewire
15+ .. index :: installation, audio, pipewire, about
1616.. _pipewire :
1717
18- ========
19- PipeWire
20- ========
18+ ====================
19+ Что такое PipeWire?
20+ ====================
2121
2222`PipeWire <https://wiki.archlinux.org/title/PipeWire_(Русский) >`__ -
23- это новая альтернатива PulseAudio, которая призвана избавить от
24- проблем своего предшественника, уменьшить задержки звука, снизить
25- потребление памяти и улучшить безопасность. PipeWire поставляется по
26- умолчанию в Arch Linux в качестве звукового сервера, требуемого для
27- клиентов libpulse [# ]_, так что никаких команд для его установки
28- прописывать не нужно. Однако несмотря на это рекомендуется установить
29- дополнительные компоненты и явно включить пользовательские службы для
30- уменьшения задержки их запуска через активацию путем сокетов, которая
31- используется по умолчанию для запуска PipeWire::
23+ это новая альтернатива PulseAudio, которая призвана избавить
24+ пользователей от проблем своего предшественника, уменьшить задержки
25+ звука и снизить потребление памяти, а также улучшить безопасность.
3226
33- sudo pacman -S pipewire-jack gst-plugin-pipewire
34- systemctl --user enable --now pipewire pipewire-pulse wireplumber
27+ С недавних пор PipeWire поставляется в Arch Linux и ряде других
28+ дистрибутивов Linux в качестве звукового сервера по умолчанию,
29+ требуемого для клиентов libpulse [# ]_, так что никаких команд для его
30+ установки прописывать не нужно.
3531
36- Для непосредственно уменьшения самих задержек установим дополнительный
37- пакет ``realtime-privileges `` и добавим пользователя в группу
38- ``realtime ``::
32+ .. [# ] https://gitlab.archlinux.org/archlinux/packaging/packages/pipewire/-/commit/14614b08f6f8cf8e50b4cbb78a141e82066e7f80
3933
40- sudo pacman -S realtime-privileges rtkit
41- sudo usermod -aG realtime "$USER"
34+ .. index :: installation, lowlatency, audio, pipewire
35+ .. _ pipewire_lowlatency_setup :
4236
43- Дополнительно советуем установить реализацию Jack API. См. раздел
44- ниже.
37+ ==========================
38+ Уменьшение задержки звука
39+ ==========================
4540
46- .. [# ] https://gitlab.archlinux.org/archlinux/packaging/packages/pipewire/-/commit/14614b08f6f8cf8e50b4cbb78a141e82066e7f80
41+ Для понижения задержек звука нужно изменить алгоритм планирования
42+ процессов PipeWire, сделав обработку звука первоочередной задачей для
43+ системы. Сделать это можно при помощи уже упомянутой ранее службы
44+ ``ananicy-cpp `` путём создания дополнительного набора правил, который
45+ позволит автоматически изменять используемую политику планирования и
46+ повышать приоритет в отношении данных процессов:
47+
48+ .. code-block :: shell
49+ :caption: ` ` /etc/ananicy.d/pipewire.rules` `
50+
51+ { " name" : " pipewire" , " sched" : " rr" , " rtprio" : 20 }
52+ { " name" : " pipewire-pulse" , " sched" : " rr" , " rtprio" : 20 }
53+ { " name" : " wireplumber" , " sched" : " rr" , " rtprio" : 10 }
54+
55+ После сохранения файла следует перезапустить службу::
56+
57+ sudo systemctl restart ananicy-cpp
58+
59+ Использование данных правил также может помочь избавиться от
60+ неприятного потрескивания при воспроизведении звука в ситуациях
61+ повышенной нагрузки на систему. Однако это не единственная мера,
62+ которая может помочь справится со звуковыми искажениями. Подробнее
63+ смотрите следующие разделы.
4764
4865.. index:: pipewire, lowlatency, audio, sound
4966.. _pipewire_setup:
5067
51- --------------------
52- Настройка PipeWire
53- --------------------
68+ =================================
69+ Настройка частоты дискретизации
70+ =================================
5471
5572Несмотря на то, что настройки по умолчанию могут работать достаточно
5673хорошо для большинства оборудования, имеет смысл выполнить
@@ -120,9 +137,9 @@ PipeWire так же считает оптимальные задержки дл
120137.. index:: pipewire, upmix, 5.1, sound
121138.. _upmixing-5.1:
122139
123- ^^^^^^^^^^^^^^^^^^^^^^^^^^^
140+ --------------------------
124141Микширование стерео в 5.1
125- ^^^^^^^^^^^^^^^^^^^^^^^^^^^
142+ --------------------------
126143
127144PipeWire так же как и PulseAuido позволяет микшировать звук в 5.1.
128145Эта возможность отключена по умолчанию, но для неё существует заранее
@@ -136,19 +153,20 @@ PipeWire так же как и PulseAuido позволяет микширова
136153.. index:: pipewire, choppy, high-load, cpu, sound
137154.. _choppy-audio:
138155
139- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
140- Исправление хрипов под нагрузкой
141- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
156+ ================================================
157+ Исправление " потрескивания " звука под нагрузкой
158+ ================================================
142159
143160Некоторые пользователи после перехода на PipeWire могут столкнуться с
144- появлением "хрипов" во время произведения звука, если система находится
145- под высокой нагрузкой (например, фоновой компиляцией или во время игры).
146- Это происходит потому, что PipeWire старается осуществлять вывод с
147- звука с наименьшими задержками, что сложно гарантировать когда
148- система нагружена даже с установленными ``realtime-privileges ``.
161+ появлением " хрипов" или так называемого " потрескивания" во время
162+ произведения звука, если система находится под высокой нагрузкой
163+ (например, фоновой компиляцией или во время игры). Это происходит
164+ потому, что PipeWire старается осуществлять вывод с звука с
165+ наименьшими задержками, что сложно гарантировать даже тогда, когда
166+ система настроена на приоритизацию процессов по выводу звука.
149167
150- Для их исправления создадим новый конфигурационный файл и изменим
151- следующие значения для размера буфера по умолчанию :
168+ Для решения данной проблемы следует создать новый конфигурационный
169+ файл с указанием измененных значений для минимального размера буфера:
152170
153171.. code-block:: shell
154172 :caption: ` ` ~/.config/pipewire/pipewire.conf.d/10-sound.conf` `
@@ -163,11 +181,12 @@ PipeWire так же как и PulseAuido позволяет микширова
163181` ` min-quantum` ` на два и проверить снова до тех пор пока проблема не
164182перестанет воспроизводится.
165183
166- .. jack:
184+ .. index:: pipewire, lowlatency, audio, jack
185+ .. _pipewire_jack:
167186
168- ----
169- JACK
170- ----
187+ ===============
188+ Поддержка JACK
189+ ===============
171190
172191JACK - это ещё один альтернативный звуковой сервер с одноименной
173192библиотекой API, цель которого состоит выведение звука с минимальной
@@ -181,6 +200,8 @@ PipeWire, так как актуальная реализация JACK - `jack2
181200библиотеки API лучше всего установить пакет ` ` pipewire-jack` ` , который
182201предоставляет совместимость между такими приложениями со звуковым
183202сервером PipeWire, что позволяет всем изменениям проделенным выше для
184- его настройки распространяться и на приложения, использующие JACK.
203+ его настройки распространяться и на приложения, использующие JACK:
204+
205+ sudo pacman -S pipewire-jack
185206
186207.. vim:set textwidth=70:
0 commit comments