A small desktop app (built with machin/MFL + raylib) that gives non-technical users a simple GUI to check and configure a USB headset-with-mic on Linux/PulseAudio.
Download
curl -LO https://github.com/javimosch/machin-headset-manager/releases/download/v1.0.0/headset-manager-linux-amd64
chmod +x headset-manager-linux-amd64
./headset-manager-linux-amd64The binary is a single 900 kB ELF, statically linked except for libc/libm — runs on any x86-64 Linux with a display and PulseAudio. No install, no dependencies to fetch.
What it does
One-click fixes for the three things that go wrong with USB headsets:
- Restart Daemon — fixes the PulseAudio stuck state (card + profile exist but sink/source never created)
- Set as Default — makes the headset the default output + input
- Enable Auto-Switch — loads
module-switch-on-connectso the headset auto-selects on plug-in
Status auto-refreshes every 5s. Detects any USB audio headset generically (not just one model).
Build from source
git clone https://github.com/javimosch/machin-headset-manager.git
cd machin-headset-manager
./build.sh # vendors raylib 5.0 static, needs machin + cc
./headset-manager