.. _man_wireplumber: wireplumber(1) ============== SYNOPSIS -------- **wireplumber** [**-c**\ \|\ **--config-file**\ =\ *FILE*] [**-p**\ \|\ **--profile**\ =\ *PROFILE*] [**-v**\ \|\ **--version**] DESCRIPTION ----------- **wireplumber** is the WirePlumber daemon, a modular session and policy manager for PipeWire. By itself it does nothing except load the components listed in the selected profile; all the actual management logic — bringing up devices, linking streams, granting permissions to clients — is implemented in those components. It is normally started as a systemd user service rather than by hand: .. code-block:: console $ systemctl --user status wireplumber OPTIONS ------- **-c**, **--config-file**\ =\ *FILE* Use *FILE* as the main configuration file instead of ``wireplumber.conf``. The corresponding ``FILE.d/`` fragment directory is loaded as well. **-p**, **--profile**\ =\ *PROFILE* Load *PROFILE* instead of the default ``main`` profile. This is how a second instance is started with only part of the functionality; see :ref:`daemon_multi_instance`. **-v**, **--version** Print the version and exit. ENVIRONMENT ----------- **WIREPLUMBER_DEBUG** Sets the log level and per-topic log levels. See :ref:`daemon_logging`. **WIREPLUMBER_CONFIG_DIR** Overrides the directory that is searched first for configuration files. **WIREPLUMBER_DATA_DIR** Overrides the directory that is searched first for data files, such as scripts. **WIREPLUMBER_MODULE_DIR** Overrides the directory that is searched first for modules. See :ref:`daemon_file_locations` for the full search order of each of these. FILES ----- Configuration files are looked up in the following directories, listed here from the highest to the lowest priority: *$XDG_CONFIG_HOME*\ ``/wireplumber/`` User configuration; ``~/.config/wireplumber/`` unless *$XDG_CONFIG_HOME* is set. *$XDG_CONFIG_DIRS*\ ``/wireplumber/`` Host-specific configuration; ``/etc/xdg/wireplumber/`` unless *$XDG_CONFIG_DIRS* is set. ``/etc/wireplumber/`` Host-specific configuration, in the compile-time *$sysconfdir*. *$XDG_DATA_DIRS*\ ``/wireplumber/`` Distribution-provided configuration; ``/usr/local/share/wireplumber/`` and ``/usr/share/wireplumber/`` unless *$XDG_DATA_DIRS* is set. ``/usr/share/wireplumber/`` Configuration that ships with WirePlumber, in the compile-time *$datadir*. In each of these directories, ``wireplumber.conf`` is the main configuration file and ``wireplumber.conf.d/*.conf`` are fragments that are merged into it. Only the first ``wireplumber.conf`` that is found is loaded, but fragments are loaded from *all* the directories, in reverse order of priority, so that a fragment in a higher priority directory overrides the ones below it. Scripts and other data files are looked up in a ``scripts`` subdirectory of the following directories, again from the highest to the lowest priority: *$XDG_DATA_HOME*\ ``/wireplumber/`` User-provided scripts; ``~/.local/share/wireplumber/`` unless *$XDG_DATA_HOME* is set. *$XDG_DATA_DIRS*\ ``/wireplumber/`` Host-specific scripts; ``/usr/local/share/wireplumber/`` and ``/usr/share/wireplumber/`` unless *$XDG_DATA_DIRS* is set. ``/usr/share/wireplumber/`` The scripts that ship with WirePlumber, in the compile-time *$datadir*. The remaining locations are not searched in any order: ``/usr/lib/wireplumber-0.5/`` WirePlumber modules, in the compile-time *$libdir*. On multiarch systems this is ``/usr/lib/``\ **\ ``/wireplumber-0.5/``. PipeWire and SPA modules are loaded from PipeWire's own module directories instead. *$XDG_STATE_HOME*\ ``/wireplumber/`` Saved state: default nodes, device profiles and routes, stream properties and settings that were changed at runtime. This is ``~/.local/state/wireplumber/`` unless *$XDG_STATE_HOME* is set. EXIT STATUS ----------- Exit codes follow the conventions of **sysexits.h**\ (3head): **0** (*EX_OK*) Success. **64** (*EX_USAGE*) Command line usage error. **69** (*EX_UNAVAILABLE*) A required service was unavailable; typically WirePlumber could not connect to PipeWire. **70** (*EX_SOFTWARE*) Internal software error. **78** (*EX_CONFIG*) Configuration error. SEE ALSO -------- **wpctl**\ (1), **wpexec**\ (1), **pipewire**\ (1), **pw-cli**\ (1), **pw-dump**\ (1), **sysexits.h**\ (3head) WirePlumber Documentation: https://pipewire.pages.freedesktop.org/wireplumber/