#### Beyond Linux® From Scratch (systemd Edition) - Version r13.0-491

### Chapter 42. Multimedia Libraries and Drivers

- Prev

  v4l-utils-1.32.0

- Next

  x264-20250815

- Up
- Home

# Wireplumber-0.5.14

## Introduction to Wireplumber

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

### 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

- Download (HTTP): https://gitlab.freedesktop.org/pipewire/wireplumber/-/archive/0.5.14/wireplumber-0.5.14.tar.bz2

- Download MD5 sum: 7f56b55fe9add83f8456600d2a030563

- Download size: 448 KB

- Estimated disk space required: 101 MB (with tests)

- Estimated build time: 0.3 SBU (with tests)

### Wireplumber Dependencies

#### Required

GLib-2.88.0, pipewire-1.6.4, and Systemd-260.1 (runtime, rebuilt with Linux-PAM-1.7.2)

#### Recommended

Lua-5.4.8

#### Optional

Doxygen-1.17.0, lxml-6.1.0, sphinx-9.1.0, sphinx_rtd_theme-3.1.0, and Breathe

## Installation of Wireplumber

Install Wireplumber by running the following commands:

    mkdir build &&
    cd    build &&

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

To test the results, issue: ninja test.

Now, as the `root` user:

    ninja install

Finally, rename the documentation directory to a versioned directory as the `root` user:

    mv -v /usr/share/doc/wireplumber{,-0.5.14}

## Command Explanations

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

`-D system-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 and Pipewire must be configured to start when a desktop environment is started.

Pipewire now provides it's own Pulseaudio server implementation, which causes runtime conflicts with the server provided by Pulseaudio itself. This generally presents itself by applications hanging or malfunctioning when trying to play or record audio and video. First, prevent Pulseaudio from starting it's own server implementation by running the following commands as the `root` user:

    rm -vf /etc/xdg/autostart/pulseaudio.desktop         &&
    rm -vf /etc/xdg/Xwayland-session.d/00-pulseaudio-x11 &&
    sed -e '$a autospawn = no' -i /etc/pulse/client.conf

Next, configure Wireplumber to start when a desktop environment is started. Run the following commands as the `root` user to enable the systemd user units:

    systemctl enable --global pipewire.socket       &&
    systemctl enable --global pipewire-pulse.socket &&
    systemctl enable --global wireplumber

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, /usr/share/wireplumber, and /usr/share/doc/wireplumber-0.5.14

### 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

- Prev

  v4l-utils-1.32.0

- Next

  x264-20250815

- Up
- Home