Helvum

A GTK4 patchbay for PipeWire that displays audio and video nodes as a visual graph and lets you connect or disconnect ports with a click.

Helvum is a graphical patchbay for the PipeWire multimedia server, written in Rust with GTK4. It renders every active audio and video node — microphones, speakers, applications, virtual devices — as a box in a live node graph, and lets you wire ports together or tear links apart by clicking. As an official part of the PipeWire project it tracks PipeWire's API closely and is the recommended GUI for managing signal routing on modern Linux desktops.

Features

  • Visual node graph — all PipeWire audio and video sources, sinks, and filters appear as labelled nodes with their ports listed
  • Click-to-connect — draw a link between two ports by clicking the source port then the destination port
  • Click-to-disconnect — remove an existing link by clicking it in the graph
  • Real-time updates — nodes and links appear and disappear instantly as devices are plugged in, applications launch, or virtual sinks are created
  • Wayland and X11 — works on both display servers with no special configuration
  • GNOME HIG compliant — clean, minimal interface that fits naturally into a GNOME or any GTK-based desktop
  • Official PipeWire project — maintained alongside PipeWire itself, ensuring API compatibility

Installation

Flatpak is the easiest way to get Helvum on any distribution:

flatpak install flathub org.pipewire.Helvum

Native packages are available in most distribution repositories:

# Debian / Ubuntu
apt install helvum

# Fedora
dnf install helvum

# Arch Linux
pacman -S helvum

# Nix
nix-env -iA nixpkgs.helvum

To build from source you need Rust (stable), meson, and the PipeWire development headers:

git clone https://gitlab.freedesktop.org/pipewire/helvum
cd helvum
meson setup build
ninja -C build
sudo ninja -C build install

Usage

Launch Helvum from your application menu or run:

helvum
# or via Flatpak
flatpak run org.pipewire.Helvum

Once open, the canvas shows every PipeWire node currently active on the system. Each node box lists its available input and output ports.

Connecting ports:

  1. Click an output port on one node — it highlights.
  2. Click an input port on another node — a link line is drawn between them.

Disconnecting ports: Click any existing link line in the graph to remove that connection immediately.

Typical use cases:

# Check which nodes are active before opening Helvum
pw-cli list-objects | grep -i node

# Monitor PipeWire link events in a terminal while adjusting in Helvum
pw-mon

Helvum vs other PipeWire patchbays

ToolLanguageGraph UICLINotes
HelvumRust + GTK4Official PipeWire project
qpwgraphC++ + QtPatchbay + session manager
pw-vizJavaScriptWeb-based, read-only
wpctlCWirePlumber CLI controller

Helvum is the lightest GTK-native option and the natural choice on GNOME desktops. For a richer session-management workflow, qpwgraph adds persistent connection profiles on top of the same patchbay concept.