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.
- 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...
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
Note
coppwr does not self-update.
Debian and RPM packages are available from the releases.
- Rust and Cargo version
1.76.0
or later - https://www.rust-lang.org/tools/install - bindgen requirements
- PipeWire library headers/PipeWire development packages
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
- Allows connecting to PipeWire remotes opened by the Camera and Screencast XDG Desktop Portals.persistence
(On by default) - Store application data like window info, graph node positions etc. on disk
In the repository's root directory
cargo build --release
See the Cargo reference for info on how to use any of the above features
coppwr
is available from the AUR
git clone https://aur.archlinux.org/coppwr.git
cd coppwr
makepkg
Debian and RPM packages can be created using cargo-deb and cargo-generate-rpm respectively. See their usage instructions.
- egui+eframe - Immediate mode GUI for Rust and its desktop/web framework
- egui_dock - Docking support for egui
- (A fork of) egui_node_graph - A helper library to create interactive node graphs using egui
- (A fork of) pipewire-rs - Rust bindings to libpipewire
- ashpd - XDG Desktop Portals wrapper
- pollster - Simple async executor