С PulseAudio на PipeWire: различия между версиями
Дым (обсуждение | вклад) (→Опции) |
Дым (обсуждение | вклад) (→Опции) |
||
(не показаны 2 промежуточные версии 2 участников) | |||
Строка 18: | Строка 18: | ||
libkpipewire5 | libkpipewire5 | ||
</source> | </source> | ||
#Добавим и прочее недостающее: {{cmd|# apt-get install -y kde5-volume-control | #Добавим и прочее недостающее: {{cmd|# apt-get install -y kde5-volume-control-pipewire}} | ||
#Отключим и заблокируем загрузку пульс-служб: | #Отключим и заблокируем загрузку пульс-служб: | ||
#:{{cmd|$ for ACT in disable mask; do systemctl --user $ACT --now pulseaudio{,.socket,-x11}; done}} | #:{{cmd|$ for ACT in disable mask; do systemctl --user $ACT --now pulseaudio{,.socket,-x11}; done}} | ||
Строка 47: | Строка 47: | ||
=Опции= | =Опции= | ||
[[Файл:PipeWire-combined.png|мини]] | [[Файл:PipeWire-combined.png|мини]] | ||
Если пользователю требуется одновременный вывод на несколько устройств (сразу и на колонки, и на наушники, к примеру), в PulseAudio обеспечивавшийся ползунком '''<code>Simultaneous output | Если пользователю требуется одновременный вывод на несколько устройств (сразу и на колонки, и на наушники, к примеру), в PulseAudio обеспечивавшийся ползунком '''<code>Simultaneous output</code>''', нужно: | ||
*для текущего сеанса выполнить {{cmd|$ pactl load-module module-combine-sink}} | *для текущего сеанса выполнить {{cmd|$ pactl load-module module-combine-sink}} | ||
*для последующих скопировать к себе конфиг: | *для последующих скопировать к себе конфиг: | ||
Строка 54: | Строка 54: | ||
*:<source lang=ini> | *:<source lang=ini> | ||
context.exec = [ | context.exec = [ | ||
{ path = "pactl" | { path = "pactl" args = "load-module module-combine-sink" } | ||
... | ... | ||
] | ] |
Текущая версия от 03:47, 5 августа 2024
Первый раз делал по этой инструкции. Ниже излагаю с коррективами под Альта.
Переход
Поглядим от пользователя, чем обслуживается звуковая подсистема:
$ pactl info | grep -i pulsea
Имя сервера: pulseaudio
Ни слова о PipeWire — будем исправлять.
- Для начала удостоверимся, установлен ли, собственно, PipeWire (если чего-то из списка нет, нужно доустановить):
$ rpm -qa *pipewire* --qf "%{name}\n" | sort -r plasma5-kpipewire-common plasma5-kpipewire pipewire-libs pipewire libkpipewirerecord5 libkpipewiredmabuf5 libkpipewire5
- Добавим и прочее недостающее: # apt-get install -y kde5-volume-control-pipewire
- Отключим и заблокируем загрузку пульс-служб:
- $ for ACT in disable mask; do systemctl --user $ACT --now pulseaudio{,.socket,-x11}; done
Removed /home/admin/.config/systemd/user/default.target.wants/pulseaudio.service. Removed /home/admin/.config/systemd/user/sockets.target.wants/pulseaudio.socket. Created symlink /home/admin/.config/systemd/user/pulseaudio.service → /dev/null. Created symlink /home/admin/.config/systemd/user/pulseaudio.socket → /dev/null. Created symlink /home/admin/.config/systemd/user/pulseaudio-x11.service → /dev/null.
- Запустим для пользователя PipeWire и WirePlumber:
- $ systemctl --user enable --now pipewire{,-pulse}{,.socket} wireplumber
Created symlink /home/admin/.config/systemd/user/sockets.target.wants/pipewire.socket → /usr/lib/systemd/user/pipewire.socket. Created symlink /home/admin/.config/systemd/user/default.target.wants/pipewire.service → /usr/lib/systemd/user/pipewire.service. Created symlink /home/admin/.config/systemd/user/sockets.target.wants/pipewire-pulse.socket → /usr/lib/systemd/user/pipewire-pulse.socket. Created symlink /home/admin/.config/systemd/user/default.target.wants/pipewire-pulse.service → /usr/lib/systemd/user/pipewire-pulse.service. Created symlink /home/admin/.config/systemd/user/pipewire-session-manager.service → /usr/lib/systemd/user/wireplumber.service. Created symlink /home/admin/.config/systemd/user/pipewire.service.wants/wireplumber.service → /usr/lib/systemd/user/wireplumber.service.
- Проверим сервер звука снова:
$ pactl info | grep -i pulsea Имя сервера: PulseAudio (on PipeWire 0.3.71)
- Перезайдя в ДЕ, удостоверимся командой выше с тем же выхлопом, что PipeWire на посту.
Опции
Если пользователю требуется одновременный вывод на несколько устройств (сразу и на колонки, и на наушники, к примеру), в PulseAudio обеспечивавшийся ползунком Simultaneous output
, нужно:
- для текущего сеанса выполнить $ pactl load-module module-combine-sink
- для последующих скопировать к себе конфиг:
- $ mkdir ~/.config/pipewire && cp /usr/share/pipewire/pipewire-pulse.conf ~/.config/pipewire/
- и уже в нём добавить в секцию
context.exec
такую строчку:context.exec = [ { path = "pactl" args = "load-module module-combine-sink" } ... ]
В звуковых регуляторах станет доступен ползунок combined
(см. фото) с тем же функционалом.
Ссылки
Решение проблем PulseAudio и PipeWire