The Wireplumber package contains a session and policy manager for Pipewire.
elogind-255.5, GLib-2.82.2, and pipewire-1.2.6
Install Wireplumber by running the following commands:
mkdir build && cd build && meson setup --prefix=/usr --buildtype=release .. && ninja
To test the results, issue: ninja test.
Now, as the root
user:
ninja install
--buildtype=release
:
Specify a buildtype suitable for stable releases of the package, as
the default may produce unoptimized binaries.
In order for Wireplumber to be used by Pipewire, Wireplumber must be configured to start when a desktop environment is started.
First, create a shell script that will start Wireplumber and
Pipewire in the correct order as the root
user:
cat > /usr/bin/pipewire-launcher.sh << "EOF"
#!/bin/sh
# Begin /usr/bin/pipewire-launcher.sh
# Start Pipewire first.
exec /usr/bin/pipewire &
# Wait for a second for Pipewire to launch.
sleep 1
# Start Wireplumber now that Pipewire has been started.
exec /usr/bin/wireplumber &
# End /usr/bin/pipewire-launcher.sh
EOF
Next, make this shell script executable as the root
user:
chmod +x /usr/bin/pipewire-launcher.sh
Finally, create an XDG Autostart file that will run /usr/bin/pipewire-launcher.sh
when a desktop environment is started, as the root
user:
mkdir -pv /etc/xdg/autostart/ &&
cat > /etc/xdg/autostart/pipewire.desktop << "EOF"
[Desktop Entry]
Version=1.0
Name=Pipewire
Comment=Starts the Pipewire and Wireplumber daemons
Exec=/usr/bin/pipewire-launcher.sh
Terminal=false
Type=Application
EOF
Now that Wireplumber is configured to start when a desktop environment is started, it is recommended that you log out of your session and log back in again.