mirror of
https://github.com/0xGingi/nova7wireless-chatmix-linux.git
synced 2026-09-21 11:44:25 -04:00
No description
- Python 90.3%
- Shell 9.7%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| 99-steelseries-nova.rules | ||
| commands.sh | ||
| LICENSE | ||
| nova.py | ||
| README.md | ||
Nova 7 Wireless Headset ChatMix Controller
A Python script to enable ChatMix functionality for SteelSeries Arctis Nova 7 Wireless on Linux, allowing you to control game and chat audio balance using the physical ChatMix dial.
Features
- Enables ChatMix controls on the headset
- Creates virtual audio sinks for Game and Chat audio
- Real-time volume adjustment based on the ChatMix dial position
- Visual feedback of the current Game/Chat balance
- Support for both PulseAudio and PipeWire
- Only the first half of the dial is working, please help me finish this!
Requirements
- Python 3.x
- pyusb library
- PulseAudio or PipeWire
- pw-loopback (part of PipeWire)
- pactl or pw-cli for volume control
Installation
-
Install the required Python package: pip install pyusb
-
Create a udev rule to allow non-root access to the headset. Create a file
/etc/udev/rules.d/99-steelseries-nova.ruleswith:SUBSYSTEM=="usb", ATTRS{idVendor}=="1038", ATTRS{idProduct}=="2202", MODE="0666" -
Reload udev rules:
sudo udevadm control --reload-rules
sudo udevadm trigger
Usage
-
Connect your Arctis Nova 7 Wireless headset
-
Run the script: python nova.py
-
Configure your applications:
- Direct game and system audio to the "NovaGame" output
- Direct chat applications (Discord, etc.) to the "NovaChat" output
-
Use the ChatMix dial on your headset to adjust the balance between game and chat audio
How It Works
The script:
- Detects and connects to the headset via USB
- Creates two virtual audio sinks using PipeWire:
- NovaGame: For game/system audio
- NovaChat: For chat audio
- Monitors the ChatMix dial position
- Adjusts the volume of each sink based on the dial position:
- Turning towards "GAME" increases game audio and decreases chat
- Turning towards "CHAT" increases chat audio and decreases game
Troubleshooting
- If you get permission errors, make sure the udev rule is properly set up
- If the virtual sinks aren't created, ensure PipeWire is running and pw-loopback is available
- If volume control doesn't work with pactl, the script will automatically try pw-cli
Credits
- Thanks to https://github.com/Dymstro/nova-chatmix-linux for the initial implementation