A Voicemeeter-style audio mixer for Linux, built on PipeWire.
Weir puts the sound on your computer on a mixing desk. Your microphone, your music, your browser and your game each get a strip with a fader. Your headphones, your speakers and a virtual microphone for Discord or OBS each get a bus. A row of buttons beside every fader decides who hears what.
So you hear the game and your friends. Your stream hears your voice and the music, a little quieter, and never the hum of your fan. And every level is one drag away, in one window.
A weir is a low dam across a river: it sets how high the water stands and lets the rest flow on.
- As many strips and buses as you need. Each virtual strip is a playback device of its own that applications can choose, such as "Music (Weir)", and each virtual bus is a microphone other programs can record from.
- A separate mix for every output. A strip can be louder in your headphones than on your stream, and the faders can switch to show any bus's mix.
- Effects for voices: noise suppression, a noise gate, a compressor, and a 16-band equalizer with a live analyzer behind its curve. Ducking turns the music down while you talk, a safety limiter keeps every output from distorting, and a delay lines up an output that lags, such as a Bluetooth speaker.
- External effects. For anything else, send a strip or bus through another program, such as Carla with your own plugins, and back.
- Surround, up to 7.1, with the standard ways of fitting surround onto stereo and stereo onto surround.
- Hotkeys for anything the mixer does: push to talk, mute, turn the music down, load a scene. They work with the window closed and in full-screen games, and on KDE Plasma they sit in System Settings beside your other shortcuts. A beep or a sound of your own, and the desktop's own volume popup, tell you a key worked, and your stream never hears the beep.
- Recording. Record any strips and buses as you hear them in the mix, each on its own track, in WAV, FLAC, MP3, Opus or Ogg Vorbis: a folder of files ready for an audio editor, or one file holding every track. Start it from the window, the tray or a hotkey.
- Meters you can read, with a dB scale beside them, a number for the level now or the highest peak, and colors of your choosing.
- Setups and scenes. A setup keeps which strips and buses you have, a scene how they sound, and any setup loads with any scene. Rules put applications on the right strip as they start, and can be made for any app Weir has heard, playing or not. Every change can be undone.
- Export and import your scenes, setups, hotkeys and their sounds, meter colors and preferences, to keep them safe or take them to another computer.
- When something goes wrong, a crash report says what happened, ready to send with personal details hidden, and safe mode starts Weir with the likely culprits held back, to bring back one at a time.
- Scriptable.
weirctldoes everything the window does from a terminal or a script, and a documented protocol lets any program, such as a Stream Deck plugin, do the same. - Made for the desktop it runs on. All the mixing happens in a single PipeWire node, adding nothing to PipeWire's own latency. Weir follows your light or dark theme, lives in the tray, and keeps running when its window is closed.
The easiest way. On the latest release, under Assets, download the file for your system and open it: your software center installs it. Or install it from a terminal, in the folder you saved it to:
| System | File | In a terminal |
|---|---|---|
| Fedora, Nobara | the one ending in .x86_64.rpm |
sudo dnf install ./weir-*.rpm |
| Ubuntu 24.04 and newer, Linux Mint 22, Pop!_OS 24.04, Debian 13 | the one ending in _amd64.deb |
sudo apt install ./weir_*.deb |
| Arch Linux, CachyOS, EndeavourOS | the one ending in .pkg.tar.zst |
sudo pacman -U ./weir-*.pkg.tar.zst |
On a 64-bit ARM computer, such as a Raspberry Pi 5, an Apple Silicon Mac
running Fedora Asahi Remix, or an ARM laptop, take the .aarch64.rpm or
the _arm64.deb instead. There is no ready-made ARM package for Arch;
on Arch Linux ARM, build Weir with the Arch steps below. The ARM
packages pass the same automatic tests as the others, but neither they
nor an Arch Linux ARM build have been tried on an ARM computer yet, so if
you try one, please report how it went. On a Raspberry Pi, Weir needs Raspberry Pi OS from late 2025 (based
on Debian 13) or newer.
On any other distribution, or to try Weir without installing it, take
the AppImage: Weir-…-x86_64.AppImage, or Weir-…-aarch64.AppImage on
ARM (like the ARM packages, not yet tried on an ARM computer). Allow it
to run (chmod +x Weir-*.AppImage) and open it. It needs PipeWire with
WirePlumber and a system from 2024 or newer; the
user guide has the rest.
GitHub builds the packages from the code here and signs a record of it.
To check that a download is exactly what GitHub built, use the
GitHub command-line tool, signed in with
gh auth login: gh attestation verify weir_*.deb --repo Mourty/Weir
(or whichever file you downloaded).
A downloaded package does not update itself, but Weir can tell you when a new version is out: it asks the first time it starts, and only ever tells you, never installs anything. Or choose Watch → Custom → Releases at the top of Weir's GitHub page.
After installing a new version, choose Restart Weir in Weir's tray menu, or log out and back in. Until then the old version keeps running, and a mixer window opened in between may not work with it.
To remove Weir, run sudo dnf remove weir, sudo apt remove weir or
sudo pacman -R weir.
For other systems, or the newest changes. It takes five to fifteen minutes, and has been tested on each of the systems below. Open a terminal and follow the steps for yours:
Fedora and Nobara
sudo dnf install git-core cargo rust clang cmake make pipewire-devel pkgconf-pkg-config rpm-build rpmdevtools desktop-file-utils libappstream-glib
git clone https://github.com/Mourty/Weir
cd Weir
make rpm-installThis installs Weir as a package, which dnf updates and removes like any
other.
Ubuntu, Linux Mint, Pop!_OS and Debian
If sudo says you are not in the sudoers file (Debian leaves it off your
account when a root password is chosen during installation), run su - -c "usermod -aG sudo $USER", give the root password, and restart the
computer.
These systems' own Rust is too old to build Weir, so this gets a current
one from rustup, the Rust project's installer, which
keeps it in your home folder. If it says Rust is already installed (the
system's own, from an earlier build), type y and press Enter: pressing
Enter alone cancels. Both can stay installed.
sudo apt update
sudo apt install git curl build-essential clang cmake pkg-config libpipewire-0.3-dev
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh # press Enter to accept the default
. "$HOME/.cargo/env"
git clone https://github.com/Mourty/Weir
cd Weir
make installArch, CachyOS and other Arch-based systems
sudo pacman -Syu --needed base-devel clang cmake rust git
git clone https://github.com/Mourty/Weir
cd Weir
make installOn another system, Weir needs PipeWire 0.3.77 or newer with
WirePlumber. Install Rust 1.95 or newer, clang, a C compiler, make, CMake,
pkg-config and PipeWire's development files, then run make install
from the Weir folder.
After make install, the weirctl command works from your next login.
To update, run git pull in the Weir folder, then the last line you
installed with again, then choose Restart Weir in Weir's tray menu
(the same goes the first time, if an older Weir was already running).
To remove it, sudo dnf remove weir on Fedora and
Nobara, or make uninstall in the Weir folder elsewhere.
Open Weir from your application menu. To have it ready whenever you
log in, tick Start Weir when I log in on the General page of
Preferences, in the … menu at the top right. Your settings stay in
~/.config/weir, even if you remove Weir, until you delete that folder.
A new install has a microphone strip, three strips for applications (Music, Browser, Soundboard), Headset and Speakers buses for what you hear, and a Stream Mic bus for what others hear.
- On the Mic strip, pick your microphone.
- On the Headset bus, pick your headphones or speakers.
- In your applications' sound settings, choose "Music (Weir)" or "Browser (Weir)" as the output, or move them from the Apps menu.
- In Discord, OBS or your browser, choose Stream Mic (Weir) as the microphone.
You now hear everything but yourself, and others hear you with everything you sent them.
| User guide | Everything in the window: routing, effects, surround, setups and scenes, hotkeys, export and import, preferences, and what to do when something is wrong. |
| weirctl | The command line, for scripts and anything else that can run a command. |
| Control protocol | For Stream Deck plugins, scripts and anything else, with examples in the shell, Python and JavaScript. Ready-made clients are in examples. |
| How Weir works | The design, for the curious and for contributors. |
| Contributing | Building, testing without a sound card, and the rules the code follows. |
Weir is inspired by Voicemeeter from VB-Audio and borrows its layout: input strips on the left, output buses on the right, and a column of routing buttons on every strip. The user guide shows where Voicemeeter's bus modes are in Weir. It is an independent project, not affiliated with or endorsed by VB-Audio, and shares no code with Voicemeeter, which is a trademark of VB-Audio Software. On Windows, use Voicemeeter itself; Weir exists because it does not run on Linux.
Weir is stable and in everyday use, and each release is tried on KDE
Plasma before it comes out. There are packages for Fedora and Nobara,
for Ubuntu, Debian, Linux Mint and Pop!_OS, and for Arch, and Weir has
been built and run on Fedora, Nobara, Ubuntu, Linux Mint, Pop!_OS,
Debian and CachyOS. Your settings carry over to every new version: when
one keeps them differently, it updates them the first time it starts,
and keeps a copy of the old ones in ~/.config/weir/backups.
Plasma is where Weir is used most. The mixer itself works the same on any desktop, but hotkeys, their popups and the tray have seen less use elsewhere, and GNOME shows the tray icon only with its AppIndicator extension.
Sound hardware varies endlessly, so reports of how Weir does with yours, good or bad, are very welcome. Report a problem… in Weir's About window, in the … menu, opens a report on GitHub with the details it needs already filled in; see also Contributing.
I want to make it very clear that this entire project was coded by AI. Specifically, Anthropic’s Claude Code using Opus 5.5. None of this code was written by a human. In fact, the only part of this project written by a human is this AI usage notice. I simply wanted a piece of software that could route audio in this way, and I used AI to make that happen.
Weir is released under the MIT license. Its noise suppression
comes from nnnoiseless, a Rust port
of RNNoise, under the BSD 3-clause license. Recordings in MP3 are made
with LAME, built into Weir under the GNU
LGPL, whose license is installed beside Weir's as LAME-COPYING.txt.


