С PulseAudio на PipeWire: различия между версиями
Дым (обсуждение | вклад) |
Дым (обсуждение | вклад) (→Опции) |
||
(не показано 16 промежуточных версий 2 участников) | |||
Строка 1: | Строка 1: | ||
Первый раз делал по [https://trendoceans.com/enable-pipewire-and-disable-pulseaudio-in-ubuntu/ этой] инструкции. Ниже излагаю с коррективами под Альта. | Первый раз делал по [https://trendoceans.com/enable-pipewire-and-disable-pulseaudio-in-ubuntu/ этой] инструкции. Ниже излагаю с коррективами под Альта. | ||
= | =Переход= | ||
Поглядим от пользователя, чем обслуживается звуковая подсистема: | Поглядим от пользователя, чем обслуживается звуковая подсистема: | ||
<source lang=bash> | <source lang=bash> | ||
Строка 6: | Строка 6: | ||
Имя сервера: pulseaudio | Имя сервера: pulseaudio | ||
</source> | </source> | ||
Ни слова о PipeWire | Ни слова о PipeWire — будем исправлять. | ||
#Для начала удостоверимся, установлен ли, собственно, PipeWire (если чего-то из списка нет, нужно доустановить): | #Для начала удостоверимся, установлен ли, собственно, PipeWire (если чего-то из списка нет, нужно доустановить): | ||
#:<source lang=bash> | #:<source lang=bash> | ||
$ rpm -qa * | $ rpm -qa *pipewire* --qf "%{name}\n" | sort -r | ||
plasma5-kpipewire-common | plasma5-kpipewire-common | ||
plasma5-kpipewire | plasma5-kpipewire | ||
pipewire-libs | pipewire-libs | ||
pipewire | pipewire | ||
libkpipewirerecord5 | libkpipewirerecord5 | ||
libkpipewiredmabuf5 | libkpipewiredmabuf5 | ||
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{ | #:{{cmd|$ for ACT in disable mask; do systemctl --user $ACT --now pulseaudio{,.socket,-x11}; done}} | ||
#:<source lang=bash> | #:<source lang=bash> | ||
Removed /home/admin/.config/systemd/user/default.target.wants/pulseaudio.service. | Removed /home/admin/.config/systemd/user/default.target.wants/pulseaudio.service. | ||
Строка 31: | Строка 29: | ||
</source> | </source> | ||
#Запустим для пользователя PipeWire и WirePlumber: | #Запустим для пользователя PipeWire и WirePlumber: | ||
#:{{cmd|$ systemctl --user enable --now pipewire{,-pulse}. | #:{{cmd|$ systemctl --user enable --now pipewire{,-pulse}{,.socket} wireplumber}} | ||
#:<source lang=bash> | #:<source lang=bash> | ||
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/sockets.target.wants/pipewire.socket → /usr/lib/systemd/user/pipewire.socket. | ||
Строка 40: | Строка 38: | ||
Created symlink /home/admin/.config/systemd/user/pipewire.service.wants/wireplumber.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. | ||
</source> | </source> | ||
#Проверим сервер звука: | #Проверим сервер звука снова: | ||
#:<source lang=bash> | #:<source lang=bash> | ||
$ pactl info | grep -i pulsea | $ pactl info | grep -i pulsea | ||
Строка 49: | Строка 47: | ||
=Опции= | =Опции= | ||
[[Файл:PipeWire-combined.png|мини]] | [[Файл:PipeWire-combined.png|мини]] | ||
Если пользователю требуется одновременный вывод на несколько устройств (сразу и на колонки, и на наушники, к примеру), в PulseAudio обеспечивавшийся ползунком '''<code>Simultaneous output | Если пользователю требуется одновременный вывод на несколько устройств (сразу и на колонки, и на наушники, к примеру), в PulseAudio обеспечивавшийся ползунком '''<code>Simultaneous output</code>''', нужно: | ||
< | *для текущего сеанса выполнить {{cmd|$ pactl load-module module-combine-sink}} | ||
*для последующих скопировать к себе конфиг: | |||
*:{{cmd|$ mkdir ~/.config/pipewire && cp /usr/share/pipewire/pipewire-pulse.conf ~/.config/pipewire/}} | |||
* и уже в нём добавить в секцию '''<code>context.exec</code>''' такую строчку: | |||
*:<source lang=ini> | |||
context.exec = [ | |||
{ path = "pactl" args = "load-module module-combine-sink" } | |||
... | |||
] | |||
</source> | |||
В звуковых регуляторах станет доступен ползунок '''<code>combined</code>''' ''(см. фото)'' с тем же функционалом. | |||
=Ссылки= | =Ссылки= | ||
[[ | [[Решение проблем PulseAudio и PipeWire]] | ||
=Обратная связь= | =Обратная связь= | ||
*[https://t.me/gbIMoBou Личка] | *[https://t.me/gbIMoBou Личка] | ||
*[[Участник:Дым#Заметки|Другие статьи]] | *[[Участник:Дым#Заметки|Другие статьи]] |
Текущая версия от 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