Страница 1 из 1

Установка PipeWire в качестве звукового сервера по умолчанию в Arch – замена для PulseAudio

Добавлено: 21 июл 2021, 07:55
sheridan
Предыстория

Пару дней назад я случайно заметил, что в Аrch пакет pulseeffects не работает, если у вас до сих пор pulseaudio используется в качестве звукового сервера.

Узнал про это случайно – слушал композицию, котороя в дефолтных настройках звучит не так шикарно, как с верно настроенным эквалайзером, решил переслушать, включив нужный пресет у эквалайзера, в итоге обнаружил, что pulseeffects запускается, но нужные эффекты на звук не накладываются.

Оказалось, что сопровождающий пакета pulseeffects стал собирать его с pipewire вместо pulseaudio.

Пруф:
ldd /usr/bin/pulseeffects|grep pipewire
libpipewire-0.3.so.0 => /usr/lib/libpipewire-0.3.so.0 (0x00007f10ed03b000)

Стал изучать зависимости пакета, когда запустил pulseeffects, а он внезапно не смог наложить эффекты на звук, транслируемый pulseaudio.

Глянул в трекер гитхаб проекта, так и есть — они перешли на pipewire, согласно https://github.com/wwmm/pulseeffects/issues/397

Вот так, внезапно, в дверь к прогрессивным любителям Linux Arch постучало будущее в лице pipewire.\
Решение проблемы
Замена PulseAudio и ALSA на PipeWire
Установка PipeWire

Для решения проблемы с не работающим pulseeffects в Arch выполняем

sudo pacman -Sy pipewire pipewire-alsa pipewire-pulse gst-plugin-pipewire
После ввода pacman предупредит что будет удалён pulseaudio server (y/n)
После чего перезагрузить ПК.

!!! info ‘Забавный факт’
Если у нас установлен pipewire-alsa – bluetooth должен запускаться автомататически. C pulseaudio это было не так, там звук через bluetooth добавлялся модулем из отдельного пакета.

Внимание! В процессе будет удалён pulseaudio и pulseaudio-bluetooth. Если для вас важны особенности кастомной настройки pulseaudio, а без них pipewire с pipewire-pulseaudio будет работать не так хорошо, как старый-добрый pulseaudio с кастомными настройками – вам лучше откатиться назад на pulseaudio.
Проверка получившей конфигурации

Проверяем, что получилось
pactl info

видим выхлоп вида со строками вида
Server Name: PulseAudio (on PipeWire 0.3.21)
Server Version: 14.0.0

После произведённого перехода на pipewire pulseeffects стал работать корректно.

Заодно, вместо pipewire и pulseaudio у меня теперь стоит только pipewire с модулями. Что удобно, так как один сервис лучше двух, а pipewire уже присутствует в системе у пользователей Gnome(и некоторых других DE), так как он используется для захвата видео при создании скринкастов и для организации расшаривания экрана в google meet, skype и OBS, и для с мультимедиа приложений из-под sanbox изоляции(faltpack).

Если после перехода на PipeWire у вас возникли задержки звука и искажения, необходимо открыть файл

vim /etc/pipewire/pipewire.conf
и привести параметры
default.clock.quantum = 64
default.clock.min-quantum = 32
default.clock.max-quantum = 512
к указанным выше значениям. Если не поможет, можно ещё уменьшить, при этом желательно указываться числа,
кратные 8.
Кстати, разработчики PipeWire починили корректную работу переключения профилей для Bluetooth. И добавили возможность выбора кодека при выборе профиля для Bluetooth-гарнитуры, что очень круто. Лично у меня переключение профиля не работало на PulseAudio уже очень давно, даже с установленными дополнительными сервисами, вроде oFono.

На этом повествование можно было бы и закончить, но некоторые, познакомившись с возможностями pulseeffects, захотят чего-то большего. Таким пользователям я рекомендую ознакомиться с такими вещами, как JACK Audio, и реализация его API поверх PipeWire в пакете pipewire-jack. Пост о pipewire-jack опубликую скоро в рамках продолжения данной темы будет опубликован отдельным постом, ввиду его объёма.
Андрей Гуцу

Установка PipeWire в качестве звукового сервера по умолчанию в Arch – замена для PulseAudio

Добавлено: 21 июл 2021, 08:23
sheridan
Изначально автор предлагает ввести команду в терминале
pacman -Sy --combinedupgrade pipewire pipewire-alsa pipewire-pulse gst-plugin-pipewire
но при вводе pacman не распознает параметра
pacman: не распознанный параметр «--combinedupgrade»
поэтому ввел без параметра перезагрузился всё получилось,
да ещё папки и файла по этому пути (/etc/piperwire/piperwire.conf) не оказалось,
она находилась по пути (/usr/share/pipewire/)поэтому пришлось скопировать
root # cp -r /usr/share/pipewire/ /etc/

Примечание.
Хотя PipeWire, похоже, не использует его за пределами файла cookie, может быть хорошей идеей удалить или переименовать каталог существующей пользовательской конфигурации PulseAudio, который обычно находится в ~/.config/pulse/.

Установка PipeWire в качестве звукового сервера по умолчанию в Arch – замена для PulseAudio

Добавлено: 21 июл 2021, 11:45
slant
Manjaro с весны там же. К ней тоже относится. Это просто для справки.

Установка PipeWire в качестве звукового сервера по умолчанию в Arch – замена для PulseAudio

Добавлено: 21 июл 2021, 11:47
rogoznik
sheridan писал(а):
21 июл 2021, 07:55
Проверяем, что получилось
pactl info
у меня на Manjaro так

Код: Выделить всё

Имя сервера: pulseaudio
Версия сервера: 14.2
Возможно есть смысл руками переезд сделать?

Установка PipeWire в качестве звукового сервера по умолчанию в Arch – замена для PulseAudio

Добавлено: 21 июл 2021, 12:04
sheridan
rogoznik, Значит у тебя pipewire через pulseaudio server
должно быть
Server Name: PulseAudio (on PipeWire 0.3.21)
Server Version: 14.0.0

Установка PipeWire в качестве звукового сервера по умолчанию в Arch – замена для PulseAudio

Добавлено: 21 июл 2021, 12:20
slant
rogoznik писал(а):
21 июл 2021, 11:47
у меня на Manjaro так
Если установка старая - может до сих пор пульса остаться. pipewire по зависимостям строго сейчас идет к KDE(и gnome кажись, но его я не использую), но не к xfce и mate, не говоря уже об остальных десктопах.

Установка PipeWire в качестве звукового сервера по умолчанию в Arch – замена для PulseAudio

Добавлено: 21 июл 2021, 12:35
rogoznik
slant писал(а):
21 июл 2021, 12:20
Если установка старая - может до сих пор пульса остаться. pipewire по зависимостям строго сейчас идет к KDE
Ставил месяца 2 назад

Код: Выделить всё

System:    Kernel: 5.13.1-3-MANJARO x86_64 bits: 64 compiler: gcc v: 11.1.0 Desktop: KDE Plasma 5.22.3 Distro: Manjaro Linux 
           base: Arch Linux
sheridan, вот что pacman говорит при поиске по pipewire

Код: Выделить всё

sudo pacman -Ss "pipewire*"
extra/gst-plugin-pipewire 1:0.3.31-1
    Multimedia graph framework - pipewire plugin
extra/libpipewire02 0.2.7-1
    User space API to deal with multimedia pipelines (0.2)
extra/pipewire 1:0.3.31-1 [установлен]
    Low-latency audio/video router and processor
extra/pipewire-alsa 1:0.3.31-1
    Low-latency audio/video router and processor - ALSA configuration
extra/pipewire-docs 1:0.3.31-1
    Low-latency audio/video router and processor - documentation
extra/pipewire-jack 1:0.3.31-1
    Low-latency audio/video router and processor - JACK support
extra/pipewire-media-session 1:0.3.31-1
    Low-latency audio/video router and processor - Session manager
extra/pipewire-pulse 1:0.3.31-1
    Low-latency audio/video router and processor - PulseAudio replacement
extra/pipewire-zeroconf 1:0.3.31-1
    Low-latency audio/video router and processor - Zeroconf support
community/easyeffects 6.0.2-1
    Audio Effects for Pipewire applications
community/manjaro-pipewire 20210425-2
    Meta package for pipewire support.
community/wireplumber 0.4.1-2
    Session / policy manager implementation for PipeWire
community/wireplumber-docs 0.4.1-2
    Session / policy manager implementation for PipeWire (documentation)
multilib/lib32-pipewire 1:0.3.31-2
    Low-latency audio/video router and processor - 32-bit client library
multilib/lib32-pipewire-jack 1:0.3.31-2
    Low-latency audio/video router and processor - 32-bit client library - JACK support

Установка PipeWire в качестве звукового сервера по умолчанию в Arch – замена для PulseAudio

Добавлено: 21 июл 2021, 13:07
rogoznik
sheridan писал(а):
21 июл 2021, 08:23
о при вводе pacman не распознает параметра
pacman: не распознанный параметр «--combinedupgrade»
Потому что это от yay https://github.com/Jguer/yay#yay-is-not ... em-upgrade

Установка PipeWire в качестве звукового сервера по умолчанию в Arch – замена для PulseAudio

Добавлено: 21 июл 2021, 14:41
sheridan
Вот как показывает inxi в Arch linux до установки pipewire и после

Установка PipeWire в качестве звукового сервера по умолчанию в Arch – замена для PulseAudio

Добавлено: 21 июл 2021, 18:55
sheridan
rogoznik, pacman в Arch поиск pipewire

Код: Выделить всё

[sheridan@archlinux ~]$ sudo pacman -Ss "pipewire*"
[sudo] пароль для sheridan: 
extra/gst-plugin-pipewire 1:0.3.32-1 [установлен]
    Multimedia graph framework - pipewire plugin
extra/libpipewire02 0.2.7-1
    User space API to deal with multimedia pipelines (0.2)
extra/pipewire 1:0.3.32-1 [установлен]
    Low-latency audio/video router and processor
extra/pipewire-alsa 1:0.3.32-1 [установлен]
    Low-latency audio/video router and processor - ALSA configuration
extra/pipewire-docs 1:0.3.32-1
    Low-latency audio/video router and processor - documentation
extra/pipewire-jack 1:0.3.32-1
    Low-latency audio/video router and processor - JACK support
extra/pipewire-media-session 1:0.3.32-1 [установлен]
    Low-latency audio/video router and processor - Session manager
extra/pipewire-pulse 1:0.3.32-1 [установлен]
    Low-latency audio/video router and processor - PulseAudio replacement
extra/pipewire-zeroconf 1:0.3.32-1
    Low-latency audio/video router and processor - Zeroconf support
community/easyeffects 6.0.3-1
    Audio Effects for Pipewire applications
community/wireplumber 0.4.1-2
    Session / policy manager implementation for PipeWire
community/wireplumber-docs 0.4.1-2
    Session / policy manager implementation for PipeWire (documentation)
[sheridan@archlinux ~]$ 

Установка PipeWire в качестве звукового сервера по умолчанию в Arch – замена для PulseAudio

Добавлено: 21 июл 2021, 21:04
rogoznik
sheridan писал(а):
21 июл 2021, 14:41
Вот как показывает inxi в Arch linux до установки pipewire и после

Код: Выделить всё

▶ inxi -A                 
Audio:     Device-1: AMD Ellesmere HDMI Audio [Radeon RX 470/480 / 570/580/590] driver: snd_hda_intel 
           Device-2: Advanced Micro Devices [AMD] Family 17h HD Audio driver: snd_hda_intel 
           Device-3: Logitech G430 Surround Sound Gaming Headset type: USB driver: hid-generic,snd-usb-audio,usbhid 
           Sound Server-1: ALSA v: k5.13.1-3-MANJARO running: yes 
           Sound Server-2: PulseAudio v: 14.2 running: yes 
           Sound Server-3: PipeWire v: 0.3.31 running: yes
И это я еще ничего не устанавливал :-D

Установка PipeWire в качестве звукового сервера по умолчанию в Arch – замена для PulseAudio

Добавлено: 22 июл 2021, 01:19
slant
Дело в том что они сами по себе не конфликтуют и могут работать одновременно. Но чтобы приложения написанные под пульсу могли вместо нее работать с pipewire - есть пакет pipewire-pulse. И вот он то как раз с пульсой конфликутет - перед его установкой пульса убирается. А все что работало с пульсой начинает прозрачным образом работать через pipewire.

Установка PipeWire в качестве звукового сервера по умолчанию в Arch – замена для PulseAudio

Добавлено: 15 июл 2022, 03:38
Photon
Я, конечно, понимаю, что занимаюсь раскопками древностей, но у меня вопрос: что на форуме по Linux Mint делает тема про Arch?

Установка PipeWire в качестве звукового сервера по умолчанию в Arch – замена для PulseAudio

Добавлено: 15 июл 2022, 06:32
hellonet
Photon писал(а):
15 июл 2022, 03:38
какого хрена на форуме по Linux Mint делает тема про Arch?
Пипл схавает?

Установка PipeWire в качестве звукового сервера по умолчанию в Arch – замена для PulseAudio

Добавлено: 15 июл 2022, 11:26
rogoznik
Photon, потому что тут люди интересуются не только LinuxMint

Установка PipeWire в качестве звукового сервера по умолчанию в Arch – замена для PulseAudio

Добавлено: 15 июл 2022, 11:30
Whowka
Photon писал(а):
15 июл 2022, 03:38
на форуме по Linux Mint делает тема про Arch?
Потому что на форуме предусмотрен соответствующийРаздел