Where Is PipeWire Config Stored on Linux?
PipeWire user overrides, system defaults and drop ins on Linux, and the directory to never edit.
Last updated
PipeWire resolves config by priority: your ~/.config/pipewire files win, then /etc/pipewire host settings, then /usr/share/pipewire distro defaults, first file found as the base. Drop in fragments (*.conf.d/) merge across all three levels, which beats copying whole files for small tweaks.
Never edit /usr/share/pipewire directly; updates overwrite it without asking. Clients read client.conf under the same lookup, and WirePlumber (0.5+) nests its own conf beside them (older releases used a separate wireplumber dir). Env overrides PIPEWIRE_CONFIG_DIR and friends redirect the whole search when debugging.
Where Linux stores this, by platform
~/.config/pipewire/
User overrides: pipewire.conf, client.conf, wireplumber.conf plus matching .conf.d/ fragment dirs ($XDG_CONFIG_HOME respected). System layers in /etc/pipewire and /usr/share/pipewire (never edit the last). WirePlumber pre 0.5 used its own dir.
Frequently asked questions
How do I tweak PipeWire without breaking updates?
Add a fragment under ~/.config/pipewire/pipewire.conf.d/ instead of copying or editing system files. Dicts override and arrays append across levels, so small files win cleanly.
Where is the WirePlumber config?
Under the same pipewire dirs (wireplumber.conf plus .d fragments) since 0.5, with WIREPLUMBER_CONFIG_DIR as override. Older installs may still use a standalone wireplumber folder.
Notice an outdated path? Let us know.