Skip to content

Installation

22Pizzas edited this page Oct 3, 2026 · 2 revisions

There are no packages, AppImages or release downloads for Rostrum yet, so it installs from source into your home folder. This page covers what you need, how to build and install, and how to update or remove Rostrum later.

About the AppImage. The project can build an AppImage for each release (Rostrum-<version>-x86_64.AppImage, published on the GitHub releases page), but no release has been published yet. When one is, it will need a system as new as Ubuntu 26.04 (glibc 2.43 or newer) on x86_64, and it will update itself. Until then, build from source as below.

Requirements

Component Version
Linux with PipeWire 1.0 or newer
WirePlumber 0.5 or newer
Qt 6.5 or newer, with Qt WebSockets
KDE Frameworks 6.8 or newer: Kirigami, Kirigami Addons, GlobalAccel, StatusNotifierItem, CoreAddons, I18n, DBusAddons
toml++ 3
CMake 3.22 or newer, plus a C++20 compiler

PulseAudio is not used or required. Rostrum talks to PipeWire directly; the pipewire-pulse package provides the PulseAudio compatibility that apps like Discord, browsers and most games use.

Rostrum was smoke-tested on Kubuntu 26.04 LTS with KDE Plasma 6 on Wayland, PipeWire 1.6.2, WirePlumber 0.5.13, Qt 6.10 and KDE Frameworks 6.24.

Build and install on Kubuntu 26.04

Get the source:

git clone https://github.com/rostrum-audio/rostrum.git
cd rostrum

Install the build dependencies:

sudo apt install build-essential cmake ninja-build pkg-config extra-cmake-modules \
  libpipewire-0.3-dev libtomlplusplus-dev qt6-base-dev qt6-declarative-dev qt6-websockets-dev \
  libkirigami-dev kirigami-addons-dev libkf6coreaddons-dev libkf6dbusaddons-dev \
  libkf6i18n-dev libkf6globalaccel-dev libkf6statusnotifieritem-dev \
  qml6-module-org-kde-kirigami qml6-module-org-kde-kquickcontrols qml6-module-org-kde-desktop \
  qml6-module-org-kde-kirigamiaddons-formcard qml6-module-org-kde-kitemmodels \
  qml6-module-qtquick-dialogs qml6-module-qtcore qt6-svg-plugins

Build and install into ~/.local:

cmake -S . -B build -G Ninja
cmake --build build
cmake --install build --prefix ~/.local

Installing into ~/.local adds the app menu entry, the icon, and the entry Plasma uses to list Rostrum's shortcuts in System Settings. It also puts the rostrum command in ~/.local/bin, which you can use from scripts (see Command Line and D-Bus). Nothing is installed system-wide and you never need root to run Rostrum.

Other distributions

These are the base packages. You also need your distribution's packages for the KDE Frameworks and Kirigami modules listed under Requirements. The repository lists exact names for those only on Kubuntu, Debian and Ubuntu (the command above).

Distro Base packages
Debian, Ubuntu, Kubuntu build-essential pipewire pipewire-pulse wireplumber qt6-base-dev qt6-websockets-dev libpipewire-0.3-dev libtomlplusplus-dev cmake ninja-build pkg-config
Fedora pipewire pipewire-pulseaudio wireplumber qt6-qtbase-devel qt6-qtwebsockets-devel pipewire-devel tomlplusplus-devel gcc-c++ cmake ninja-build pkgconf-pkg-config
Arch pipewire pipewire-pulse wireplumber qt6-base qt6-websockets tomlplusplus gcc cmake ninja pkgconf

The project's CI builds the full app on Ubuntu 26.04, but only the engine and tools (not the Kirigami app) on Fedora and Arch, so the full app has only been built and tried on Kubuntu and Ubuntu 26.04.

Start Rostrum

Open Rostrum from your app menu, or run ~/.local/bin/rostrum. Only one copy runs at a time: starting it again brings the running window to the front. Running rostrum with an option such as --toggle-mic controls the running copy instead; see Command Line and D-Bus.

On first start, Rostrum opens first-time setup. Continue with Getting Started.

No audio server? If Rostrum shows "Rostrum can't reach PipeWire", see Troubleshooting.

Update

Rostrum checks once a day whether a new version is out (you can turn this off; see Privacy and Crash Reports). For a copy built from source it only tells you; it never replaces your build. To update:

cd rostrum
git pull
cmake --build build
cmake --install build --prefix ~/.local

Then choose Restart Rostrum from the tray menu or in Settings → General. Rostrum quits and starts the newly installed build. Your mix keeps playing meanwhile, and a copy restarted from the tray while its window was hidden stays in the tray.

Package installs, once there are any, are updated by your package manager. An AppImage, once published, downloads and installs new versions by itself; see Privacy and Crash Reports.

Uninstall

  1. Quit Rostrum.

  2. Delete the installed files: ~/.local/bin/rostrum, ~/.local/bin/rostrum-probe, ~/.local/share/applications/dev.getrostrum.Rostrum.desktop, ~/.local/share/metainfo/dev.getrostrum.Rostrum.metainfo.xml, ~/.local/share/dbus-1/interfaces/dev.getrostrum.Rostrum1.xml, the dev.getrostrum.Rostrum.svg icons under ~/.local/share/icons/hicolor/, and ~/.local/share/doc/rostrum/.

  3. Delete Rostrum's settings, state and rule files, listed in Files and Folders.

  4. Run this to remove Rostrum's virtual devices from PipeWire:

    systemctl --user restart pipewire pipewire-pulse wireplumber

Building for development

Developers can run Rostrum straight from the build folder with ./build/src/app/rostrum and run the unit tests with ctest --test-dir build. Build options, test instructions and code style are in CONTRIBUTING.md.

Clone this wiki locally