Version 7 (modified by 15 months ago) ( diff ) | ,
---|
Pipewire
Handy link (thanks archetech on #lfs-support): https://wiki.gentoo.org/wiki/PipeWire
It has some indications for SysV (OpenRC startup).
Wireplumber
Currently Pipewire is only used as a build dependency in the book. To make it really useful, we need to install a session manager. Wireplumber is the recommended session manager.
Wireplumber can be downloaded at https://gitlab.freedesktop.org/pipewire/wireplumber/-/releases.
Required: Glib and Pipewire
Recommended: Lua
Optional dependencies: doxygen, lxml, and gobject-introspection (needed for g-i data), sphinx, and breathe (external, docs)
meson setup --prefix=/usr --buildtype=release -Dsystem-lua=true ninja ninja test sudo ninja install
Pipewire itself must be built with wireplumber support, so use the option
-Dsession-managers=/usr/bin/wireplumber
before building wireplumber (the session manager need not be present when building pipewire).
With Wireplumber we can run Pipewire daemon with:
- On systemd:
sudo systemctl --global enable pipewire systemctl --user start pipewire
- On SysV (solution by Douglas Reno, adapted from Alpine linux):
As root:cat >/usr/bin/pipewire-launcher.sh <<EOF #!/bin/sh exec /usr/bin/pipewire & sleep 1 exec /usr/bin/wireplumber & EOF chmod +x /usr/bin/pipewire-launcher.sh cat >/etc/xdg/autostart/pipewire.desktop <<EOF [Desktop Entry] Version=1.0 Name=Pipewire Comment=Starts the Pipewire daemons Exec=/usr/bin/pipewire-launcher.sh Terminal=false Type=Application EOF
then restart the graphical session.
The screen recorder built in GNOME shell should work now.
Replace Pulseaudio
With Wireplumber, Pipewire can function as a drop-in replacement of Pulseaudio.
sudo systemctl --global enable pipewire-pulse.socket sudo systemctl --global disable pulseaudio
Then logout and login again.
Use Pipewire for ALSA-based applications
If Pipewire is running, it will occupy the sound card device and an ALSA-based application cannot use the card at the same time. To work around the issue, tell alsa-lib to use a virtual device provided by Pipewire:
sudo install -vdm755 /etc/alsa/conf.d sudo ln -sfvr /usr/share/alsa/alsa.conf.d/99-pipewire-default.conf /etc/alsa/conf.d
Bluetooth LDAC support
Install ldacBT before building Pipewire. The link to ldacBT is available on the book page. Installation process of ldacBT:
mkdir build; cd build cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr make # no test suite available sudo make install