Fixing the SteelSeries Arctis 7 outputs on Ubuntu 18.04/PulseAudio 11

The SteelSeries Arctis 7 headset works out of the box on linux. Sort of. You get a mono input from the mic and a mono output from the cans.

Mono output? Yup. The reason for this is that the Arctis 7 features two virtual output devices, one mono and one stereo. The headset then mixes these two channels in the hardware according to a conveniently placed mixer knob going from 100% channel 0 (mono) to 100% channel 1 (stereo). When it is working you can have two entirely different streams going to each device and mix them on the go. While there is no reason you cannot use it to have a movie playing in one channel and an opera in the other, the idea is to direct chat and phone applications (discord, Skype, etc.) to use the mono channel while everything else (including games) goes to the stereo channel. This allows you to give audio preference to the in-game footsteps coming up from behind you or idle coop chit-chat. Alas, PulseAudio only recognises the first of these two devices.

The good news is somebody has pushed a fix to the Pulseaudio git repository. The bad news is that it didn’t make it into the 11.x releases of Pulseaudio which is what is included in the spring of 2018 batch of distro releases (e.g. Ubuntu 18.04, Fedora 28).

The patch is tagged 11.99.1 which means that it will in all probability be included in version 12.0. Looking back at Ubuntu LTS releases, however, none of them ever upgraded to a major new version of Pulseaudio during their lifetime. 14.04 stays on 4.0, 16.04 stays on 8.0. So it’s probably a fool’s errand sitting around waiting for 12.0 to arrive on my new bionic install. Time for some DIY.