Chapter 3 of 5

Audio that does what you mean

7 min read · Last reviewed 12 September 2026

This is the chapter that makes the whole switch worth it.

On Windows, routing individual applications to different destinations means buying a virtual cable product and wiring it up. On Linux, PipeWire does it natively, and once you understand the model you can build things that are simply not available elsewhere.

The model, in one paragraph

PipeWire thinks of audio as a graph. Every source of sound — a microphone, a game, your browser, a music player — is a node. Every destination is a node too. Sound flows along links between them, and anything can link to anything. There is no fixed notion of "the speakers" or "the microphone" that everything must pass through.

That is the whole idea. Volume sliders are just a view of it.

Install qpwgraph and look at your own graph once while music is playing. It takes two minutes and it will permanently change how you think about your setup, because you will see the actual wires for the first time.

What this lets you build

The thing every streamer wants and most cannot have:

  • Music in your headphones, not in the stream.
  • Voice chat recorded on its own track, so you can remove it from a VOD.
  • Game audio duckable independently of everything else.
  • A separate mix for your recording than the one going out live.
  • Alerts audible to viewers but not deafening you.

All of it is just links in a graph. No purchase, no driver, no reboot.

The manual way

If you like doing it by hand, the building block is a loopback: a virtual device that appears as an output for applications to play into and as an input for OBS to capture. pw-loopback creates one, and qpwgraph lets you draw the connections and save them.

This works, it is free, and it is genuinely fiddly to maintain: the names of nodes change, applications reconnect to the wrong place, and a saved patchbay needs re-saving whenever your hardware changes. Plenty of people run exactly this setup happily for years.

The built-for-this way

Gleem Crossfade exists because most people do not want to maintain a patchbay by hand. It is a native PipeWire and GTK4 application, free and MIT licensed, and it gives you a mixing desk instead of a graph:

  • Up to eight channels — microphone, game, music, voice chat, whatever you define — each with independent Monitor and Stream faders. Music loud in your headphones, quiet or absent for the audience, one slider each.
  • A VOD Mix, optionally, as a third mix with its own virtual microphone. Record that as a separate track in OBS and music stays live on stream while never reaching the VOD — which is the exact problem the music path spends a chapter on.
  • Channels capture three ways: directly from a device, by following an application by name so its audio is pulled in automatically, or by appearing system-wide as an output device called Crossfade: <channel> that you point any app at.
  • The stream mix appears as an ordinary microphone named "Crossfade Stream Mix". OBS, Discord and Zoom just see a microphone. No plugins.
  • VST and LV2 plugins per channel — noise suppression, gate, compressor, EQ — running out of process, so a plugin crash does not take your audio down.
  • MIDI control. Right-click a fader, move a knob, done. An APC mini or Launchpad becomes a desk, with LED feedback and fader pickup, and bindings survive replugging.
  • D-Bus control, so a cough button or a mute toggle is one shell command, bindable to a key or a Stream Deck.

Installation is a package on Fedora (COPR) or Arch (AUR), or a build from source; all it needs is PipeWire with pipewire-pulse, which is the default on most current distributions. The source is on GitHub.

Either way, do these

  • Give every sound its own node. The failure mode is one giant "desktop audio" source you cannot separate afterwards.
  • Record multiple tracks in OBS. Track 1 everything, track 2 without music, track 3 without voice chat. Storage is cheap and past-you cannot go back and split them.
  • Check the recording, not the preview. Record two minutes and listen to each track individually. The failure here is silent.
  • Write down your routing. One paragraph in a text file: what goes where and why. In six months, when you rebuild, this saves an evening.

The reward

Once this is set up, it stays set up, and it does things your Windows friends pay for. It is the strongest single argument for streaming on Linux, and it is the reason a lot of people who tried it never went back.

Next: encoding, and the one check that tells you whether your GPU is doing the work.

Gleem Academy articles are general information and are no substitute for legal or tax advice. Legal disclaimer