Linux DJ
Audio routing configuration on a dark terminal display
PipeWire Tuning·/audio/quality/

WirePlumber Pro Audio Profile Explained: What It Changes, When It Helps, and When It Makes Things Worse (2026)

The WirePlumber pro-audio profile is not a magic switch. This is what it actually changes in PipeWire session management, when it helps, and when it makes audio routing worse.

WirePlumber is the session manager that sits between you and PipeWire. It decides how nodes get linked, which device profile gets activated, how sample rates are negotiated, and what happens when a new client connects. The pro-audio profile changes a specific set of those decisions. It is not a latency fix, not a performance boost, and not something you should enable without understanding what it does.

What WirePlumber actually does

PipeWire is a graph-based media server. It manages nodes (sources, sinks, processing blocks) and the links between them. But PipeWire itself does not make policy decisions - it does not decide that your browser audio should go to your speakers, or that your MIDI keyboard should connect to your DAW. That is WirePlumber's job.

WirePlumber runs Lua scripts organized into profiles that define:

  • How to match new nodes to appropriate sinks and sources
  • Device profile selection (which ALSA profile to activate on a sound card)
  • Sample rate and format negotiation
  • Node priority ordering
  • Device reservation (preventing conflicts between applications)
  • Automatic relinking when devices appear or disappear

The default profile is designed for desktop use. It handles the common case: route browser audio to speakers, route microphone to video calls, handle Bluetooth headsets, deal with HDMI audio on GPU outputs. It is optimized for "things should just work" rather than "things should be predictable and low-latency."

What the pro-audio profile changes

The pro-audio profile modifies WirePlumber's behavior in several concrete ways. Here is what actually changes when you enable it:

Node priority reordering

The default profile assigns higher priority to PulseAudio-compatible nodes (the pipewire-pulse layer) because most desktop applications use PulseAudio APIs. The pro-audio profile elevates JACK-compatible nodes, giving them priority in routing decisions. Applications using the JACK API get first claim on audio devices.

Sample rate locking

Under the default profile, WirePlumber allows PipeWire to switch the hardware sample rate to match whatever application connects first. Play a 44.1 kHz MP3, and the device switches to 44.1 kHz. The pro-audio profile locks the sample rate to whatever you configure, typically 48 kHz or 96 kHz. This prevents unexpected rate changes mid-session that can cause glitches in running audio applications.

The relevant configuration:

-- /etc/wireplumber/wireplumber.conf.d/pro-audio.conf
-- or ~/.config/wireplumber/wireplumber.conf.d/pro-audio.conf
alsa_monitor.rules = {
  {
    matches = {
      {
        { "node.name", "matches", "alsa_output.*" },
      },
    },
    apply_properties = {
      ["audio.rate"] = 48000,
      ["audio.allowed-rates"] = "48000",
    },
  },
}

Device reservation via D-Bus

The pro-audio profile enables stricter device reservation using the org.freedesktop.ReserveDevice1 D-Bus interface. When your DAW claims an audio device, other applications cannot grab it. Under the default profile, reservation is more relaxed - multiple applications can share devices through PipeWire's mixing, but this adds a processing hop.

ALSA profile selection

For multi-channel audio interfaces, the pro-audio profile selects the ALSA profile that exposes all hardware channels rather than the stereo convenience profile. If your interface has 8 inputs and 8 outputs, the pro-audio profile ensures all 16 channels appear as separate PipeWire ports instead of being mixed down to stereo.

alsa_monitor.rules = {
  {
    matches = {
      {
        { "device.name", "matches", "alsa_card.*" },
      },
    },
    apply_properties = {
      ["api.alsa.use-acp"] = false,
      ["device.profile"] = "pro-audio",
    },
  },
}

Setting api.alsa.use-acp to false disables the ALSA Card Profile (ACP) system that automatically selects stereo profiles for desktop convenience.

Automatic linking behavior

The default profile aggressively auto-links new audio nodes to the default sink. The pro-audio profile is less aggressive - it expects applications to request specific connections (as JACK applications typically do) rather than auto-connecting everything to the speakers.

When the pro-audio profile helps

The profile is beneficial when your workflow matches these conditions:

Dedicated audio interface. If you have a multi-channel interface (Focusrite Scarlett, MOTU, RME, Behringer UMC series), the pro-audio profile ensures all channels are exposed and the sample rate stays locked. This is its strongest use case.

JACK-dependent applications. If you run Ardour, Carla, Hydrogen, or other applications that use the JACK API through PipeWire's JACK compatibility layer, the pro-audio profile gives them routing priority and more predictable connection behavior.

Fixed routing sessions. If you set up a specific audio routing graph and need it to stay stable for hours (live performance, long recording sessions), the pro-audio profile's less aggressive auto-linking means fewer surprise reconnections.

Multi-client recording. When multiple applications need simultaneous access to different channels of the same interface, the pro-audio profile's full channel exposure makes this possible without ALSA-level workarounds.

If you are tuning quantum values as described in the PipeWire quantum guide, the pro-audio profile complements that work by preventing WirePlumber from making rate changes that would invalidate your buffer timing.

When the pro-audio profile makes things worse

This is the part most guides skip.

Desktop audio breaks. Enabling the pro-audio profile often breaks audio in Firefox, Chromium, Electron apps, and games. These applications expect PulseAudio-style auto-routing. When the pro-audio profile deprioritizes PulseAudio nodes and changes auto-linking behavior, desktop apps may produce silence or connect to the wrong output.

Bluetooth audio stops working. Bluetooth audio profiles (A2DP, HFP) depend on ACP profile switching. The pro-audio profile disables ACP. Your Bluetooth headphones may stop appearing as usable devices, or they may appear but only in a raw ALSA mode that PulseAudio applications cannot use.

HDMI audio disappears. GPU HDMI/DisplayPort audio outputs use ACP profiles. Disabling ACP can hide these outputs or present them in an unusable configuration.

Automatic volume management stops. Desktop environments like GNOME and KDE expect WirePlumber to manage per-application volume through PulseAudio-compatible controls. The pro-audio profile's different node prioritization can break volume slider integration.

USB microphones get confused. Simple USB microphones (the kind used for video calls) often have a single stereo profile. The pro-audio profile may select a multi-channel profile that the microphone does not actually support, leading to silence or noise.

How to enable it properly

Rather than enabling the full pro-audio profile globally, I recommend a targeted approach. Create a WirePlumber configuration drop-in that applies pro-audio settings only to your audio interface:

-- ~/.config/wireplumber/wireplumber.conf.d/my-interface.conf
alsa_monitor.rules = {
  {
    matches = {
      {
        { "device.name", "equals", "alsa_card.usb-Focusrite_Scarlett_18i20-00" },
      },
    },
    apply_properties = {
      ["api.alsa.use-acp"] = false,
      ["device.profile"] = "pro-audio",
      ["audio.rate"] = 48000,
      ["audio.allowed-rates"] = "48000",
    },
  },
}

Find your device name with:

pw-cli ls Device | grep -A2 "alsa_card"

Or more verbosely:

wpctl status

This way, your Focusrite gets the pro-audio treatment while your laptop speakers, Bluetooth headphones, and HDMI output continue working with default desktop profiles.

How to disable it

If you enabled the full pro-audio profile and things broke, the fix depends on how you enabled it.

If you created a config file in ~/.config/wireplumber/wireplumber.conf.d/:

rm ~/.config/wireplumber/wireplumber.conf.d/pro-audio.conf
systemctl --user restart wireplumber

If your distribution ships a system-level pro-audio profile (Ubuntu Studio, for example), you can override it:

mkdir -p ~/.config/wireplumber/wireplumber.conf.d/

Then create a file there that reverts the settings you want to change. WirePlumber processes user configs after system configs.

For a deeper look at how audio quality is affected by these session management decisions, the audio quality reference covers the signal path side of the picture.

Real configuration file paths

WirePlumber reads configuration from these locations, in order (later overrides earlier):

PriorityPathTypical use
Lowest/usr/share/wireplumber/Distribution defaults
Medium/etc/wireplumber/System-wide admin overrides
Highest~/.config/wireplumber/Per-user configuration

Within each location, the main config is wireplumber.conf and drop-ins go in wireplumber.conf.d/. The Lua scripts that implement profile logic live in the same directory structure.

In WirePlumber 0.5+ (which ships in all major distributions as of early 2026), the configuration format shifted from pure Lua scripts to a JSON-like conf format with Lua embedded where needed. If you are following a guide written for WirePlumber 0.4 and it tells you to edit .lua files directly, the approach still works but the conf.d drop-in method is preferred.

Common misunderstandings

"The pro-audio profile reduces latency." It does not. Latency is determined by the PipeWire quantum, sample rate, and hardware buffer configuration. The pro-audio profile changes routing and policy decisions, not timing. Set your quantum properly - that is the latency control.

"I need the pro-audio profile for PipeWire to work with JACK applications." You do not. PipeWire's JACK compatibility layer works regardless of WirePlumber profile. The pro-audio profile changes how JACK nodes are prioritized in routing, but JACK applications will function without it.

"Enabling pro-audio makes my interface sound better." It does not change the signal path. If it appears to sound better, it may be because sample rate locking prevented an unwanted resample that was degrading quality under the default profile.

"I should enable pro-audio on every Linux audio machine." Only if every machine is a dedicated audio workstation with no desktop audio needs. For a machine that doubles as a desktop, the targeted per-device approach above is far more practical.

FAQ

Can I switch profiles without restarting WirePlumber? Changing the config files requires a WirePlumber restart (systemctl --user restart wireplumber), but this does not require restarting PipeWire. WirePlumber reconnects to the running PipeWire instance.

Does the pro-audio profile work with Wayland compositors? Yes, but screen sharing audio capture through xdg-desktop-portal may behave differently because the portal expects PulseAudio-compatible node routing. Test screen sharing after enabling the profile.

Will Ubuntu Studio 26.04 enable this by default? Ubuntu Studio ships with a customized WirePlumber configuration that includes pro-audio settings for detected audio interfaces while keeping desktop audio functional. It is a more refined version of the targeted approach described above.

Can I use the pro-audio profile for just one application session? Not directly through WirePlumber config. But you can use pw-metadata to change node properties at runtime, or use Carla or Helvum to manage per-session routing without changing the WirePlumber profile.

Conclusion

The WirePlumber pro-audio profile exists for a specific reason: to configure PipeWire's session management for dedicated audio work. It is not a general-purpose improvement. If you have a dedicated audio interface and you use JACK-native applications, apply it to that specific device. If you also use your machine for browsing, video calls, and Bluetooth headphones, keep those devices on the default profile. The targeted approach gives you the benefits without the breakage.

  • WirePlumber
  • PipeWire
  • Pro Audio
  • Session Management
  • Linux Audio
  • 2026

Related Notes

← All notes