How wozt/blackbeard_void_pro works
Blackbeard VOID PRO is a native Linux control app for the Corsair VOID PRO Wireless headset. The user configures surround processing, equalisation, lighting, and microphone gain in the GTK interface; the app persists settings, applies audio processing through PipeWire, and reads battery state over HID for the interface and tray. The README documents additional hot-plug, headless, and autostart behavior. The graph reflects documented capabilities where source excerpts were incomplete; in particular, the device header cautions that replaying the lighting sequence does not yet reliably illuminate the headset.
Main entry points: main.c GTK application · audio.c Audio chain · tray.c Battery tray · device.c HID control
Components 16
Application control
- GTK application
src/main.c - Settings
src/config.c
Audio processing
- Audio chain
src/audio.c - IR generation 1
filters/v1 - IR generation 2
filters/v2 - IR generation 3
filters/v3 - Microphone gain
src/audio.c
Headset control
- HID control
src/device.c
Desktop integration
- Desktop integration
src/desktop.c - Battery tray
src/tray.c - Icon artwork
src/icons.c
Other components
- User
- PipeWire
- Audio applications
- VOID PRO headset
- Desktop shell
Connections 20
- User → GTK application: configures
- GTK application → Settings: loads and saves
- GTK application → Audio chain: applies settings
- IR generation 1 → Audio chain: provides responses
- IR generation 2 → Audio chain: provides responses
- IR generation 3 → Audio chain: provides responses
- Audio applications → PipeWire: sends audio
- Audio chain → PipeWire: loads processing graph
- PipeWire → VOID PRO headset: outputs audio
- GTK application → HID control: polls and updates
- HID control → VOID PRO headset: reads battery; sends lighting
- GTK application → Microphone gain: sets gain
- Microphone gain → PipeWire: controls capture volume
- GTK application → Battery tray: updates status
- HID control → Battery tray: provides battery status
- Battery tray → Icon artwork: renders absent-device icon
- GTK application → Desktop integration: manages desktop entries
- Desktop integration → Icon artwork: writes app icon
- Desktop integration → Desktop shell: publishes launcher and autostart
- Battery tray → Desktop shell: shows status indicator