Skip to content

Sidetone support for Logitech G930, G533, G633, G933 SteelSeries Arctis 7/PRO 2019 and Corsair VOID (Pro) in Linux and MacOSX

License

Notifications You must be signed in to change notification settings

wdcocq/HeadsetControl

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Summary

Want to use your Headset under Linux or Mac OS X, but you shout while talking because there is no support for sidetone? With sidetone, sometimes also called loopback, you can hear your own voice while talking. This differs from a simple loopback via PulseAudio as you won't have any disturbing latency.

Supported Headsets

  • Corsair Void (Every version*, regardless wether Pro or Wired)
    • Sidetone, Battery (for Wireless), LED on/off, Notification Sound
  • Logitech G430
    • No support in current version (Last working on macOS in commit 41be99379f)
  • Logitech G533
    • Sidetone, Battery (for Wireless)
  • Logitech G930
    • Sidetone
  • Logitech G633 / G933 / G935
    • Sidetone, Battery (for Wireless), LED on/off
  • SteelSeries Arctis (7 and Pro)
    • Sidetone, Battery

For non-supported headsets on Linux: There is a chance that you can set the sidetone via AlsaMixer

* If your Corsair headset is not recognized, see Adding a corsair device

For more features or other headsets, the protocol of the respective headset must be analyzed further. This can be done by capturing the USB traffic and analyzing it with WireShark or USBlyzer. Basically in few sentences: You can set up an Windows Virtual Machine, passthrough your headset, install the Windows drivers. Then capture traffic with USBlyzer or other software, while you are changing things in the driver control interface. You will have then look for packets which could correspond the feature you are looking for.

Building

Prerequisites

You will need hidapi, c compilers and cmake. All usually installable via package managers.

Debian / Ubuntu

apt-get install build-essential git cmake libhidapi-dev

CentOS / RHEL (RedHat based)

RHEL and CentOS also require the epel-repository: yum install epel-release. Please inform yourself about the consequences of activating the epel-repository.

yum groupinstall "Development tools"
yum install git cmake hidapi-devel

Sabayon

equo i hidapi cmake

Arch Linux

pacman -S git cmake hidapi

FreeBSD

pkg install hidapi cmake

Mac OS X

I recommend using Homebrew.

You can automatically compile and install the latest version of the software, by using
brew install sapd/headsetcontrol/headsetcontrol --HEAD.

If you wish to compile it manually, you can install the dependencies with brew install hidapi cmake.

Also you have to download Xcode via the Mac App Store for the compilers.

Windows

Windows support is a bit experimental and might not work in all cases. You can find binaries in the releases page, or compile instructions via MSYS2/MinGW in the wiki.

Compiling

git clone https://github.com/Sapd/HeadsetControl && cd HeadsetControl
mkdir build && cd build
cmake ..
make

If you want to be able to call HeadsetControl from every folder type:

make install

This will copy the binary to a folder globally accessable via path.

Also in Linux, you need udev rules if you don't want to start the application with root. Those rules reside in the udev folder of this repository. Typing make install on Linux copies them automatically to /etc/udev/rules.d/.

Usage

Type headsetcontrol -h to get all available options.
(Don't forget to prefix it with ./ when the application resides in the current folder)

headsetcontrol -s 128 sets the sidetone to 128 (REAL loud). You can silence it with 0. I recommend a loudness of 16.

Following options don't work on all devices yet:

headsetcontrol -b check battery level. Returns a value from 0 to 100 or loading.

headsetcontrol -n 0|1 sends a notification sound, made by the headset. 0 or 1 are currently supported as values.

headsetcontrol -l 0|1 switches LED off/on (off almost doubles battery lifetime!).

headsetcontrol -c cut unnecessary output, for reading by other scripts or applications.

Development

Look at the wiki if you want to contribute and implement another device or improve the software.

Notice

HeadsetControl is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

License

Released under GPL v3.

Like it?

If you like my software please star the repository.

About

Sidetone support for Logitech G930, G533, G633, G933 SteelSeries Arctis 7/PRO 2019 and Corsair VOID (Pro) in Linux and MacOSX

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 75.1%
  • CMake 15.4%
  • C++ 9.5%