GitHunt
FA

faxm0dem/coppwr

Low level control GUI for the PipeWire multimedia server

Icon

coppwr

Low level control GUI for PipeWire
Screenshot

Description

coppwr displays and provides control over many aspects of PipeWire as directly as possible
in an organized and visual way. It can help with debugging and diagnosing a PipeWire setup or with developing software that interacts with PipeWire.
End-users of PipeWire that want to configure it should look into simpler tools
recommended by the PipeWire devs.
If you want to learn the inner workings of PipeWire check out the docs page on its internals and its wiki.

Features

  • Node graph editing
  • Object inspection, creation & destruction
  • Process monitoring & profiler statistics
  • Metadata editing
  • Module loading
  • Connecting to XDG Desktop Portal remotes
    More to be added...

Installing

Flatpak

io.github.dimtpap.coppwr is available on Flathub.

Download on Flathub

Arch Linux

coppwr AUR version
coppwr-bin AUR version
coppwr-bin is available from the AUR (use coppwr for the non-prebuilt package).
Use your AUR helper of choice or install it manually

git clone https://aur.archlinux.org/coppwr-bin.git
cd coppwr-bin
makepkg -i

Debian, RPM

Note

coppwr does not self-update.

Debian and RPM packages are available from the releases.

Building

Requirements

Available Cargo features

  • pw_v0_3_77 - Used for the Link permission on PipeWire globals. Enable this if you're building with libpipewire 0.3.77 or later.
  • xdg_desktop_portals - (On by default) Used for dark/light theme detection and opening PipeWire remotes with the Camera
    and Screencast portals.
  • persistence (On by default) - Store application data like window info, graph node positions etc. on disk

Build

In the repository's root directory

cargo build --release

See the Cargo reference for info on how to use any of the above features

Arch Linux

coppwr is available from the AUR

git clone https://aur.archlinux.org/coppwr.git
cd coppwr
makepkg

Debian, RPM

Debian and RPM packages can be created using cargo-deb
and cargo-generate-rpm respectively.
See their usage instructions.

Credits

Languages

Rust100.0%

Contributors

GNU General Public License v3.0
Created June 18, 2025
Updated June 18, 2025