Как установить и настроить PipeWire в Linux

Появившись на сцене в 2017 году, PipeWire стремился заменить PulseAudio, но у него еще было много проблем со стабильностью. Теперь, когда он стал надежным аудиосервисом для Linux, пользователи начинают задумываться, стоит ли обновление до PipeWire. В этой статье мы предоставим вам актуальную информацию о достоинствах PipeWire по сравнению с PulseAudio и покажем, как правильно его установить в вашу систему, если вы решите это сделать.
Содержание
- Что такое PipeWire?
- Как установить PipeWire
- Часто задаваемые вопросы
Что такое PipeWire?
Аудио в Linux всегда имело многослойную структуру: вы устанавливаете драйвер, он заставляет устройство работать, но приложения по-прежнему хотят общаться с ним по-своему. Для этого сервер выступает в качестве посредника в пользовательском пространстве, чтобы «общаться» с ядром, которое затем общается с аппаратным обеспечением компьютера.

Advanced Linux Sound Architecture (ALSA) служит хорошим, простым посредником между вашими приложениями и ядром, но если вам нужно больше sophistication, вам нужен аудиосервер.

Как PulseAudio, так и PipeWire добавляют уровень поверх того, что делает ваше ядро, чтобы ввести ряд функций. Они позволяют нескольким приложениям одновременно транслировать аудио, обеспечивают детальный контроль над микшированием и даже позволяют постобработку аудиопотоков на лету такими способами, которые соперничают или даже превосходят возможности набора приложений, которые предоставляют коммерческие операционные системы.
Разница между ними заключается в том, что уровень PipeWire добавляет другие функции, такие как управление потоковой передачей видео, избавляясь от некоторых проблем, которые делали работу с PulseAudio неприятной для новых пользователей.
С момента своего появления в 2017 году проблемы со стабильностью PipeWire постепенно исчезли. Теперь он является стандартным звуковым сервером для различных дистрибутивов, включая Fedora, основанные на Arch Manjaro, EndeavourOS, Garuda, и даже был введен в Ubuntu 22.10.

Для большинства пользователей переход был настолько плавным, что они лишь ощущали рост своих возможностей в использовании аудио на своих системах, что свидетельствует о его установленной репутации как мощного сервиса, который является прямым обновлением устаревшей структуры PulseAudio.
Хотя может показаться, что обновление до PipeWire — это очевидный выбор, давайте немного остановимся и исследуем нюансы этого решения, чтобы вы могли получить более ясное представление о том, на что вы подписываетесь, если сделаете этот шаг:
Плюсы
- PipeWire поддерживает широкий спектр Bluetooth аудиоустройств, которые ранее не работали должным образом под PulseAudio. Если ваше Bluetooth-устройство не работает правильно с вашим дистрибутивом, переход может помочь.
- Многие дистрибутивы уже начали включать PipeWire в качестве стандартного аудиосервиса, получая большую поддержку в официальных репозиториях практически всего, с чем вы столкнетесь.
- PipeWire обрабатывает задержки гораздо более эффективно, когда одновременно транслирует аудио на несколько устройств.
- Постобработчики, такие как EasyEffects (ранее PulseEffects), убрали поддержку PulseAudio в своих выпусках или собираются сделать это в ближайшее время, что делает необходимым переход на PipeWire, чтобы сохранить гибкость, которую эти приложения предлагают вам.
- Функции более удобны для людей, желающих заняться более профессиональными аудиоустановками и приложениями.
- Он поддерживает трубопровод для видеопотоков, позволяя приложениям для совместного использования экранов наслаждаться более надежной и безопасной средой.
- Пакет службы PipeWire включает
pipewire-pulse, расширяя поддержку для приложений, использующих API и управление аудио PulseAudio. - Он менее подвержен треску при высокой загрузке процессора.
Минусы
- Настройки не всегда напрямую переносятся из PulseAudio. Вам придется изучить совершенно новую схему конфигурации.
- У PipeWire нет интуитивной логики соединения, что означает, что требуется другая служба, которая будет слушать аудиовыход и правильно их направлять. Это не обязательно является недостатком, но может быть неудобно, поскольку требует, чтобы вы также изучили, как настраивать менеджер сессий для проведения сложной настройки.
- Хотя это меняется по мере написания этой статьи, документация и поддержка сообществ все еще не так широко распространены для PipeWire, как для PulseAudio.
Подсказка: Узнайте, как вы можете передавать аудио на другое устройство с помощью PulseAudio.
Как установить PipeWire
Если вы хотите установить PipeWire в свою систему, сначала убедитесь, что он уже не запущен!
Введите pactl info в терминале и посмотрите, что он выдаст вам под «Имя сервера». Если он выдает вам «on PipeWire» в скобках, вы уже используете PipeWire.

Если терминал показывает только «PulseAudio» без каких-либо дополнений, ваша система не использует PipeWire.
1. Сделайте резервную копию вашей системы

Убедитесь, что у вас есть путь обратно, если что-то пойдет не так! Если у вас еще нет резервной копии вашей системы, создайте ее сейчас, прежде чем продолжить. Самый простой способ сделать это — использовать Timeshift, но вы можете использовать любую другую утилиту, с которой вы знакомы и которая создает полную резервную копию ваших системных файлов.
2. Установка сервиса
Каждая установка PipeWire начинается с базового сервиса. Существует вероятность, что он уже был установлен вместе с вашим дистрибутивом, но на всякий случай, если нет, вы можете установить его с помощью следующих команд.
На системах на основе Arch:
sudo pacman -S pipewire pipewire-alsaНа системах Ubuntu/Debian:
sudo apt install pipewireХорошо знать: Узнайте все, что вам нужно знать о командах APT.
3. Установка менеджера сессий
PipeWire не имеет своей собственной логики соединения, поэтому вам нужно установить менеджер сессий. WirePlumber является одним из менеджеров, который предлагает более детальную настройку, а также дополнительные плагины, которые могут улучшить ваше взаимодействие:
На системах на основе Arch:
sudo pacman -S wireplumberНа системах Ubuntu/Debian:
sudo apt install wireplumberЕсли вы предпочитаете более простую версию или в официальных репозиториях вашего дистрибутива нет WirePlumber, вы можете установить PipeWire Media Session:
На системах на основе Arch:
sudo pacman -S pipewire-media-sessionНа системах Ubuntu/Debian:
sudo apt install pipewire-media-session4. Установка демона PulseAudio
Поскольку большая часть приложений вашей системы все еще обращается к PulseAudio, если вы хотите, чтобы ваше аудио работало правильно, вам нужно установить демон PipeWire, который слушает события PulseAudio.
На системах на основе Arch:
sudo pacman -S pipewire-pulseНа системах Ubuntu/Debian:
sudo apt install pipewire-pulse5. Удаление следов PulseAudio
Если вам пришлось подтвердить удаление PulseAudio из-за конфликта с чем-то еще, что вы устанавливали в процессе (обычно pipewire-pulse), тогда вы можете пропустить этот шаг.
В противном случае важно сейчас удалить PulseAudio из вашей системы, чтобы он не пытался его запрашивать.
На системах на основе Arch:
sudo pacman -Rns pulseaudioНа системах Ubuntu/Debian:
sudo apt remove pulseaudio6. Подготовка сервисов
С учетом всех пакетов, которые вы установили и удалили, пора запустить PipeWire.
Сначала удалите остатки служб pulseaudio:
systemctl --user --now disable pulseaudio.service pulseaudio.socket
systemctl --user mask pulseaudioВключите службы PipeWire. Если вы установили WirePlumber:
systemctl --user --now enable pipewire pipewire-pulse wireplumberЕсли вы установили PipeWire Media Session, используйте:
systemctl --user --now enable pipewire pipewire-pulse pipewire-media-sessionТеперь PipeWire должен работать идеально после перезагрузки вашей системы!
Подсказка: Если у вас нет звука в вашей системе Linux, вот как вы можете это исправить.
Часто задаваемые вопросы
Могу ли я использовать только ALSA?
Вы можете вполне обойтись без PulseAudio на вашей системе (особенно если вы используете оконный менеджер вместо рабочей среды), но, вероятно, вам это не понравится. ALSA может воспроизводить только один аудиопоток за раз. Хотя это не звучит плохо, это означает, что ваша система может вести себя непредсказуемо, когда звуковое уведомление пытается воспроизводиться во время просмотра видео. Использование звукового сервера поверх ALSA более удобно, но определенно требует немного большей памяти.
Можно ли установить PipeWire в Linux Mint Cinnamon?
Абсолютно! У Cinnamon есть момент, когда он не показывает вам виджет аудио после завершения правильной установки PipeWire, но он снова появится, как только вы перезагрузитесь, если вы следовали этим инструкциям. Просто убедитесь, что вы удалили остатки PulseAudio, как мы описали в инструкциях, и все будет в порядке!
Как решить проблемы со звуком после сна?
Если аудио вашего компьютера перестает работать, когда вы пробуждаете его из сна, вероятно, это связано с тем, что ALSA не удалось правильно инициализироваться, что время от времени происходит. В таких случаях просто вручную запустите ALSA с: alsactl init
После этого все ваши звуковые проблемы должны исчезнуть!