WirePlumber
WirePlumber is a modular session / policy manager for PipeWire, enabling functionality such as saving and restoring session state. More generally, WirePlumber allows one to:
- enable devices;
- configure devices;
- configure client (e.g. application) access control;
- configure PipeWire nodes;
- manage links between PipeWire nodes;
- manage metadata.
Installation
Kernel
Device Drivers ---> <*> Sound card support Search for <code>CONFIG_SOUND</code> to find this item. ---> <*> Advanced Linux Sound Architecture Search for <code>CONFIG_SND</code> to find this item. ---> -*- Sound Proc FS Support Search for <code>CONFIG_SND_PROC_FS</code> to find this item. [*] Verbose procfs contents Search for <code>CONFIG_SND_VERBOSE_PROCFS</code> to find this item.
USE flags
USE flags for media-video/wireplumber Replacement for pipewire-media-session
+doc
Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally
elogind
Enable session tracking via sys-auth/elogind
system-service
Install systemd unit files for running as a system service. Not recommended.
systemd
Enable use of systemd-specific libraries and features like socket activation or session tracking
test
Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently)
Emerge
root #emerge --ask media-video/wireplumberConfiguration
Generally, WirePlumber should work "out of the box", without any need for manual configuration.
Files
If manual configuration is required, a sample WirePlumber configuration file is available at /usr/share/wireplumber/wireplumber.conf; this file can be copied to $XDG_CONFIG_HOME/wireplumber/ and modified as required. The $XDG_CONFIG_HOME/wireplumber/ directory might need to be created manually.
WirePlumber state is stored in $XDG_STATE_HOME/wireplumber/[1] .
By default, XDG_CONFIG_HOME is set to ~/.config/, and XDG_STATE_HOME is set to ~/.local/state/. Refer to XDG/Base_Directories for further information.
Services
systemd
user $systemctl --user enable --now wireplumber.serviceOpenRC
To enable the WirePlumber service:
user $rc-update --user add wireplumber defaultTo start the service without enabling it:
user $rc-service --user wireplumber startUsage
WirePlumber is controlled by wpctl(1) . As of WirePlumber 0.5.15:
user $wpctl -hUsage: wpctl [OPTION...] COMMAND [COMMAND_OPTIONS] - WirePlumber Control CLI Commands: status list [audio|video] [devices|sinks|sources] get-volume ID inspect ID set-default ID set-volume ID VOL[%][-/+] set-mute ID 1|0|toggle set-profile ID INDEX set-route ID INDEX clear-default [ID] settings [KEY] [VAL] set-log-level [ID] LEVEL reset Help Options: -h, --help Show help options Pass -h after a command to see command-specific options
The special identifiers @DEFAULT_SINK@, @DEFAULT_AUDIO_SINK@, @DEFAULT_SOURCE@, @DEFAULT_AUDIO_SOURCE@, and @DEFAULT_VIDEO_SOURCE@ can be used when an ID is required; refer to the wpctl(1) man page for details.
Examples
Get information about current PipeWire state, including node IDs and currently active devices:
user $wpctl statusGet list of available audio sinks:
user $wpctl list audio sinksGet volume of current default sink:
user $wpctl get-volume @DEFAULT_SINK@Set volume of current default sink to 90%:
user $wpctl set-volume @DEFAULT_SINK@ 90%Decrease volume of current default audio sink by 5%:
user $wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-Increase volume of current default audio sink by 5%:
user $wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+Toggle muting of current default audio sink:
user $wpctl set-mute @DEFAULT_AUDIO_SINK@ toggleList details of current WirePlumber settings:
user $wpctl settingsList only the Id and Value fields for current settings:
user $wpctl settings | sed -n '/Id:/p;/Value:/p'Save current settings:
user $wpctl settings --saveTroubleshooting
Refer to the WirePlumber/troubleshooting page.
See also
- PipeWire — low-latency, graph-based, processing engine and server, for interfacing with audio and video devices.
External resources
- WirePlumber, the PipeWire session manager - General introduction to WirePlumber
- WirePlumber - ArchWiki page
- "Well-known features" - List of some of the WirePlumber features that can be enabled or disabled.
- "Well-known settings" - List of WirePlumber settings that can be configured statically or dynamically.
References
- ↑ WirePlumber 0.15.5 documentation: "Location of state files". Retrieved on 2026年08月24日.