SteelSeries Arctis 5 on Ubuntu
A while ago, I bought a new gaming headset, the SteelSeries Arctis 5. One of the main reasons I got is, was the "ChatMix Dial", a physical knob which can mix two audio outputs. Turning it to the left gives you more game sound, turning it to the right gives you more voice chat sound.
This works fine on Windows. It recogizes the two audio outputs and you can mix between them. On Ubuntu however, it doesn't. The only output it enables is the voice chat output and the microphone work. The game output stays hidden.
A simple solution
I took some time trying to figure out how to fix this and found out that ALSA recognizes the game output, but pulseaudio does not.
Yesterday I found an article about the Arctis 7 headset on Ubuntu by Johan Heikkilä and decided to try out the solutions he'd come up with. His first solution was using this command:
pacmd load-module module-alsa-sink device=hw:1,1
I've had to change the device address to hw:2,1
for mine to work and this added an extra audio device in my sound settings screen that enabled the game audio output.
The main problem with this approach is that once you reboot or unplug and plug in the device, it no longer comes up and you need to enter the command again for it to show up again.
A better (more sophisticated) solution
The second solution Johan added involved adding a pulseaudio profile file, a udev rule and some configuration to go with it. After putting all these files in place, I needed to change the product id in the udev rule from 1260
to 1250
so it matches the Arctis 5 and enables the profile:
ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1250", ENV{PULSE_PROFILE_SET}="steelseries-arctis-usb-audio.conf"
This did something! The game output was now enabled and the sound overall was a bit louder. However, the voice chat output and microphone input now were no longer working.
After that I figured out that the profile expects a mono output for the voice chat, but the Arctis 5 seems to have stereo. After changing that, everything worked.
The result
I've cleaned up the configuration and pushed it to a repository on github, along with a deb
file for easy installation on Debian, Ubuntu, Linux Mint, etc.
The repository can be found here:
Download the deb:
After installing, and reconnecting the headset, it should enable the game output by default. In apps like Discord, the voice chat output should also be available to be selected as output: