Поиск по сайту:

Как использовать PipeWire для замены PulseAudio в Ubuntu 22.04

В Ubuntu 22.04 улучшена поддержка мультимедийной платформы PipeWire с малой задержкой. Вот как настроить его для вывода PulseAudio, ALSA, JACK и Bluetooth.

Во-первых, Pipewire предварительно установлен «из коробки» и автоматически запускается в фоновом режиме. Вы можете проверить это, выполнив команду ниже в терминале:

systemctl --user status pipewire pipewire-session-manager

PipeWire устанавливается «из коробки»

ВАЖНО: Ubuntu официально это НЕ поддерживает. Он по-прежнему может не работать на некоторых устройствах. Не делайте этого на промышленной машине!

Шаг 1: установите клиентские библиотеки

Хотя он доступен «из коробки», по умолчанию он не используется для вывода звука. Чтобы начать, сначала нажмите Ctrl+Alt+T на клавиатуре, чтобы открыть терминал, и выполните команду для установки клиентских библиотек:

sudo apt install pipewire-audio-client-libraries libspa-0.2-bluetooth libspa-0.2-jack

Шаг 2. Установите Wireplumber вместо Pipewire-media-session.

Сопровождающий проекта теперь рекомендует более продвинутый менеджер сеансов «wireplumber» при использовании Pipewire в качестве системного звукового сервера.

Чтобы установить пакет и удалить «pipewire-media-session», выполните в терминале команду ниже:

sudo apt install wireplumber pipewire-media-session-

ПРИМЕЧАНИЕ: знак «-» в конце команды указывает на необходимость удаления пакета. Команда также автоматически установит необходимый Pipewire-pulse.

Шаг 3. Скопируйте файлы конфигурации:

Wireplumber упрощает задачу! Если вы просто хотите заменить PulseAudio на Pipewire, включите службу мультимедийных сеансов и перезапустите, и все!

Чтобы клиенты ALSA были настроены для вывода через PipeWire, выполните команду, чтобы скопировать файл конфигурации:

sudo cp /usr/share/doc/pipewire/examples/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d/

Для клиента JACK выполните команду:

sudo cp /usr/share/doc/pipewire/examples/ld.so.conf.d/pipewire-jack-*.conf /etc/ld.so.conf.d/

А затем sudo ldconfig.

Для Bluetooth просто удалите пакетpulseaudio-module-bluetooth с помощью команды:

sudo apt remove pulseaudio-module-bluetooth

И, наконец, включите медиа-сеанс, выполнив команду:

systemctl --user --now enable wireplumber.service

Шаг 4: Проверьте

После перезапуска Ubuntu 22.04 выполните приведенную ниже команду в терминале.

pactl info

Он должен выводить звуковой сервер: PulseAudio (на PipeWire x.x.x) указывает, что Pipewire используется для вывода звука.

Как восстановить:

Чтобы отменить изменения, сначала удалите клиентские библиотеки с помощью команды:

sudo apt remove pipewire-audio-client-libraries libspa-0.2-bluetooth libspa-0.2-jack

Удалите Wireplumber и установите обратно предыдущий пакет медиа-сессии (в конце также есть «-»):

sudo apt install pipewire-media-session wireplumber-

Наконец, повторно включите службу pipewire-media-session, выполнив команды:

rm -f ~/.config/systemd/user/pipewire-session-manager.service
systemctl --user --now enable pipewire-media-session

Благодаря @lestcape, если звук по-прежнему не работает, попробуйте отключить службы Pipewire-Pulse с помощью команды:

systemctl --user --now disable pipewire-pulse.service pipewire-pulse.socket

Если вы пытались включить его глобально, отключите его также с помощью команды:

sudo systemctl --global --now disable pipewire-pulse.service pipewire-pulse.socket

И снова включите исходную службу PulseAudio с помощью команды:

systemctl --user --now reenable pulseaudio.service pulseaudio.socket
sudo systemctl --global --now reenable pulseaudio.service pulseaudio.socket

Статьи по данной тематике