Skip to content

wrzonance/HonkHonk

Repository files navigation

HonkHonk

A modern, Wayland-native soundboard for Linux.

Play meme sounds, sound effects, and audio clips in Discord, games, and voice chat — with a polished UI and global hotkeys that work on Wayland.

Why HonkHonk?

Linux has lacked a soundboard that feels as polished and easy to use as VoiceMod on Windows. Existing options either don't support Wayland, have dated UIs, or require complex audio routing setup.

HonkHonk is built from the ground up for the modern Linux desktop:

  • Pure Rust — single binary, single cargo build, no Node.js/WebKitGTK
  • Wayland-native — no X11 fallbacks or XWayland hacks
  • PipeWire audio — persistent virtual mic, zero-glitch playback
  • Global hotkeys — via xdg-desktop-portal GlobalShortcuts (works on KDE, GNOME, Hyprland)
  • Polished UI — Iced GUI with custom theming, GPU-rendered
  • Multi-DE support — KDE Plasma 6, GNOME 45+, Hyprland, and more
  • Distro-friendly — packages for Flatpak, AUR, DEB, RPM, Nix, AppImage

Tech Stack

Component Technology
GUI Iced (Rust, Elm architecture, wgpu)
Audio pipewire-rs
Shortcuts ashpd (xdg-desktop-portal)
System Tray tray-icon (StatusNotifierItem)
Audio Decode symphonia

Status

Phase 1 complete. The core soundboard loop is working:

Feature Status
Iced GUI — sound grid, search, categories, volume ✅ Shipped
PipeWire virtual mic (persistent sink + mic passthrough) ✅ Shipped
Play sound → virtual mic + local headset ✅ Shipped
Stop / volume / now-playing bar ✅ Shipped
System tray with quit ✅ Shipped
Settings panel (Audio, Library, Hotkeys, Appearance, About) ✅ Shipped
Theme persistence (Light / Dark / System) ✅ Shipped
Grid density (Compact / Regular / Comfy) ✅ Shipped
Mic passthrough toggle + level slider ✅ Shipped
GPU renderer (wgpu default) / software fallback (tiny-skia) ✅ Shipped
XDG global shortcuts (20 fixed slots) ✅ Shipped
Monitor output device selection ✅ Shipped
In-app shortcut assignment with conflict feedback ✅ Shipped
Persistent shortcut assignments across restarts ✅ Shipped
System-persistent virtual mic (survives app restart/reboot) 🔜 Planned (#49)

See ARCHITECTURE.md for the full design and roadmap.

Installing

Arch Linux (AUR)

yay -S honkhonk        # source build (recommended) — or: paru -S honkhonk

honkhonk is the recommended package: an Arch-native build compiled from the tagged source release, with no foreign-soname workarounds.

Alternatives:

yay -S honkhonk-bin    # pre-built binary re-extracted from the GitHub .deb (Debian base)
yay -S honkhonk-git    # bleeding-edge, tracks main (planned)

See packaging/aur/README.md for maintainer notes and the per-dependency justification.

Building

# Install dependencies (Arch / Manjaro)
sudo pacman -S rust pkg-config pipewire wayland base-devel

# Build and run
cargo run

# Release build
cargo build --release

See CLAUDE.md for build instructions for other distros.

Prior Art

HonkHonk builds on ideas and lessons learned from the Linux audio community. We're grateful to these projects for paving the way:

  • Soundux — pioneered the Linux soundboard space with PipeWire support and a web-based UI
  • PWSP — demonstrated the Rust + PipeWire soundboard architecture
  • venmic — excellent PipeWire virtual device patterns
  • Pipeweaver — modern Rust + web UI for PipeWire routing
  • obs-wayland-hotkeys — proved GlobalShortcuts portal works on KDE6
  • Cosmic DE — large-scale Iced application reference

Icons

HonkHonk's icons are generated from two SVG sources via a small make-driven pipeline. The current art is a placeholder geometric "HH" mark — real Krita-designed artwork lands in a follow-up PR.

See assets/icons/README.md for:

  • The swap-real-art runbook
  • resvg + ImageMagick install hints (Arch / Fedora / Ubuntu)
  • Why the symbolic SVG must use fill="currentColor"

CI enforces icon freshness via .github/workflows/icons.yml: every push that touches assets/icons/ regenerates outputs and fails if the committed PNGs/ICO/SVGs drift from the sources.

License

MIT

About

A modern, Wayland-native soundboard for Linux. Rust + Iced + Pipewire.

Resources

License

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors