Skip to content

About

Native Linux control for the Corsair VOID PRO Wireless headset, with virtual surround, 10-band EQ, battery monitoring, RGB lighting, microphone gain and PipeWire integration.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

17 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Blackbeard VOID PRO

Native Linux control for the Corsair VOID PRO Wireless headset — no iCUE, no Windows VM, no Wine.

Feature Notes
Virtual surround ("Dolby") Reproduced by convolution from measurements of the real USB stream; two generations to pick from
10-band equaliser + preamp With a live curve display
Battery level and charge state Read over HID, matches iCUE's reading
LED colour and brightness Full lighting protocol
Microphone gain Drives the headset's hardware capture volume
Tray icon, hot-plug, autostart Single instance, headless mode available

Install

./install.sh

It checks dependencies, builds, and then asks — separately — whether to install the udev rule, copy the binary into ~/.local, add a menu entry and enable autostart. Nothing happens without a yes.

Build dependencies on Debian/Ubuntu:

sudo apt install libgtk-3-dev libayatana-appindicator3-dev libhidapi-dev

PipeWire is required at runtime.

How the surround works

The headset's "Dolby" mode is not a switch on the device: Windows applies the processing host-side, inside audiodg.exe. Playing logarithmic sweeps and deconvolving the captured USB stream showed a binaural crossfeed — each channel fed into the opposite ear 0.19 ms later (the interaural delay) through a head-shadow filter, −0.1 dB at 60 Hz but −15.6 dB at 16 kHz.

filters/ holds the measured 2×2 impulse-response matrix, in three generations. The first two come from sweeps. The third is identified from real programme material — music, rain, gunfire, crowds, sixteen clips — by least squares against what Windows actually sent over USB, and on a clip it has never seen it leaves 5.6 dB less error than the sweep-derived ones. It is nonetheless not offered in the interface: 2.0 is the one that sounds right, and listening wins over the residual. The filters, the audio path and the tests stay; BVP_MODES_OFFERED in src/main.c puts it back.

That last campaign also showed where the copy stops: the processing is reproducible, level-independent and stable in time, yet the best linear fit depends on what is playing. Something upstream of the crossfeed steers on the signal, the way a Pro Logic II upmix does, so no fixed convolution gets much below −11 dB of residual — longer filters were tried and only learn the training clip.

The microphone is mono in hardware — its USB descriptor declares a single channel, so Windows receives the same stream.

Layout

src/          the application (C, GTK 3, hidapi)
filters/v1/   measured impulse responses, first generation (one sweep)
filters/v2/   second generation: several sweeps averaged, band-limited
filters/v3/   third: identified from programme material, not offered in the UI
tests/        test battery -- `make test`
install.sh    interactive installer

make test checks the build, the HID link (battery reading), that all three convolution generations actually output sound, the settings file, the desktop integration, single-instance behaviour and that no ghost sink is left after a kill -9. Audio tests route the chain into a null sink, so nothing is played into the headset.

Settings

~/.config/blackbeard_void_pro/config, one key = value per line. Delete it to restore defaults.

License

Blackbeard VOID PRO is licensed under the GNU General Public License v3.0. See LICENSE for details.

About

Native Linux control for the Corsair VOID PRO Wireless headset, with virtual surround, 10-band EQ, battery monitoring, RGB lighting, microphone gain and PipeWire integration.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages