Wireplumber-0.5.2

Introduction to Wireplumber

The Wireplumber package contains a session and policy manager for Pipewire.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

Wireplumber Dependencies

Required

elogind-255.4-r2, GLib-2.80.0, and pipewire-1.0.5

Recommended

Optional

Doxygen-1.10.0, lxml-4.9.4, sphinx-7.2.6, sphinx_rtd_theme-2.0.0, and Breathe

Installation of Wireplumber

Install Wireplumber by running the following commands:

mkdir build &&
cd    build &&

meson setup --prefix=/usr --buildtype=release -Dsystem-lua=true .. &&
ninja

To test the results, issue: ninja test.

Now, as the root user:

ninja install

Command Explanations

--buildtype=release: Specify a buildtype suitable for stable releases of the package, as the default may produce unoptimized binaries.

-Dsystem-lua=true: This switch enables using the system version of Lua. Omit this switch if you have not installed Lua, but note that meson will download and install it's own version.

Configuring Wireplumber

Configuration Information

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:

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.

Contents

Installed Programs: wireplumber, wpctl, and wpexec
Installed Libraries: libwireplumber-0.5.so
Installed Directories: /usr/include/wireplumber-0.5, /usr/lib/wireplumber-0.5, and /usr/share/wireplumber

Short Descriptions

wireplumber

is a session and policy manager for Pipewire

wpctl

controls and queries information from Wireplumber

wpexec

executes Wireplumber scripts, which are often written in Lua

libwireplumber-0.5.so

contains functions that allow other programs to control Wireplumber