Greetings! I am having a persistent audio issue and I wonder if someone else has run into this issue or knows more about possible solutions. The problem is, surround sound channels get mixed up at random moments and I have to manually switch (randomly) between available playback devices and modes to fix it (and then it again randomly breaks).
I am using SteelSeries Arena 9 (USB connection) set to 5.1 audio output. When I play audio - games, videos (both online and offline) - there is a chance the audio will be output from wrong channels, usually like this: FC → FL; FR → RR; FL → RL; RL→ C. It happens when audio begins (e.g. a file is opened and played or a game starts) and also when audio playback is paused and resumed. It is completely random.
When I then go into system settings and switch randomly between different audio devices and output modes (2.1, 4.1, 5.1), the issue disappears (also randomly - sometimes after a single change, sometimes I have to keep switching for a while), but inevitably, the problem reappears randomly again. This happens all the time and is very annoying.
Here’s what wpctl shows:
0. Audio/Sink alsa_output.usb-SteelSeries_SteelSeries_Arena_9-00.analog-surround-51
And aplay:
aplay -L
null
Discard all samples (playback) or generate zero samples (capture)
sysdefault
Default Audio Device
lavrate
Rate Converter Plugin Using Libav/FFmpeg Library
samplerate
Rate Converter Plugin Using Samplerate Library
speexrate
Rate Converter Plugin Using Speex Resampler
jack
JACK Audio Connection Kit
oss
Open Sound System
pipewire
PipeWire Sound Server
pulse
PulseAudio Sound Server
speex
Plugin using Speex DSP (resample, agc, denoise, echo, dereverb)
upmix
Plugin for channel upmix (4,6,8)
vdownmix
Plugin for channel downmix (stereo) with a simple spacialization
default
Default ALSA Output (currently PipeWire Media Server)
sysdefault:CARD=Audio
USB Audio, USB Audio
Default Audio Device
front:CARD=Audio,DEV=0
USB Audio, USB Audio
Front output / input
surround21:CARD=Audio,DEV=0
USB Audio, USB Audio
2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=Audio,DEV=0
USB Audio, USB Audio
4.0 Surround output to Front and Rear speakers
surround41:CARD=Audio,DEV=0
USB Audio, USB Audio
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=Audio,DEV=0
USB Audio, USB Audio
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=Audio,DEV=0
USB Audio, USB Audio
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=Audio,DEV=0
USB Audio, USB Audio
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=Audio,DEV=0
USB Audio, USB Audio
IEC958 (S/PDIF) Digital Audio Output
iec958:CARD=Audio,DEV=1
USB Audio, USB Audio #1
IEC958 (S/PDIF) Digital Audio Output
usbstream:CARD=Audio
USB Audio
USB Stream Output
hdmi:CARD=HDMI,DEV=0
HDA ATI HDMI, EV3237
HDMI Audio Output
hdmi:CARD=HDMI,DEV=1
HDA ATI HDMI, HDMI 1
HDMI Audio Output
hdmi:CARD=HDMI,DEV=2
HDA ATI HDMI, HDMI 2
HDMI Audio Output
hdmi:CARD=HDMI,DEV=3
HDA ATI HDMI, HDMI 3
HDMI Audio Output
usbstream:CARD=HDMI
HDA ATI HDMI
USB Stream Output
hdmi:CARD=Generic_1,DEV=0
HD-Audio Generic, HDMI 0
HDMI Audio Output
hdmi:CARD=Generic_1,DEV=1
HD-Audio Generic, HDMI 1
HDMI Audio Output
hdmi:CARD=Generic_1,DEV=2
HD-Audio Generic, HDMI 2
HDMI Audio Output
hdmi:CARD=Generic_1,DEV=3
HD-Audio Generic, HDMI 3
HDMI Audio Output
usbstream:CARD=Generic_1
HD-Audio Generic
USB Stream Output
front:CARD=Generic
Front output / input
surround21:CARD=Generic
2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=Generic
4.0 Surround output to Front and Rear speakers
surround41:CARD=Generic
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=Generic
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=Generic
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=Generic
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
usbstream:CARD=Generic
HD-Audio Generic
USB Stream Output
sysdefault:CARD=S9
SteelSeries Arena 9, USB Audio
Default Audio Device
front:CARD=S9,DEV=0
SteelSeries Arena 9, USB Audio
Front output / input
surround21:CARD=S9,DEV=0
SteelSeries Arena 9, USB Audio
2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=S9,DEV=0
SteelSeries Arena 9, USB Audio
4.0 Surround output to Front and Rear speakers
surround41:CARD=S9,DEV=0
SteelSeries Arena 9, USB Audio
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=S9,DEV=0
SteelSeries Arena 9, USB Audio
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=S9,DEV=0
SteelSeries Arena 9, USB Audio
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=S9,DEV=0
SteelSeries Arena 9, USB Audio
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=S9,DEV=0
SteelSeries Arena 9, USB Audio
IEC958 (S/PDIF) Digital Audio Output
usbstream:CARD=S9
SteelSeries Arena 9
USB Stream Output
And finally:
inxi -Aax
Audio:
Device-1: Advanced Micro Devices [AMD/ATI] Navi 48 HDMI/DP Audio
driver: snd_hda_intel v: kernel pcie: gen: 5 speed: 32 GT/s lanes: 16
bus-ID: 03:00.1 chip-ID: 1002:ab40 class-ID: 0403
Device-2: Advanced Micro Devices [AMD/ATI] Radeon High Definition Audio
vendor: Micro-Star MSI driver: snd_hda_intel v: kernel pcie: gen: 4
speed: 16 GT/s lanes: 16 bus-ID: 7b:00.1 chip-ID: 1002:1640 class-ID: 0403
Device-3: Advanced Micro Devices [AMD] Ryzen HD Audio
vendor: Micro-Star MSI driver: snd_hda_intel v: kernel pcie: gen: 4
speed: 16 GT/s lanes: 16 bus-ID: 7b:00.6 chip-ID: 1022:15e3 class-ID: 0403
Device-4: Micro Star USB Audio driver: hid-generic,snd-usb-audio,usbhid
type: USB rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 3-10:6
chip-ID: 0db0:0b58 class-ID: 0300
Device-5: SteelSeries ApS Arena 9 driver: hid-generic,snd-usb-audio,usbhid
type: USB rev: 2.0 speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 3-3.1:10
chip-ID: 1038:1a05 class-ID: 0300
API: ALSA v: k6.18.3-2-cachyos status: kernel-api
tools: alsactl,alsamixer,amixer
Server-1: JACK v: 1.9.22 status: off tools: N/A
Server-2: PipeWire v: 1.4.9 status: active with: 1: pipewire-pulse
status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
tools: pactl,pw-cat,pw-cli,wpctl
This audio issue has been going on ever since I switched to Linux in July and is a complete mystery to me. I had it on Kubuntu, which I used first for a few days after switching from Windows, then on PopOS and then on CachyOS.
Since it persists across various distributions, it may not be directly related to CachyOS per se, but rather to how audio works in Linux, but maybe someone knowledgeable here will know more. I have searched across various forums, but to no avail…
Edit: just to add a bit more device info, as the wpctl one-liner above was a bit short:
wpctl inspect 63
id 63, type PipeWire:Interface:Node
alsa.card = "0"
alsa.card_name = "SteelSeries Arena 9"
alsa.class = "generic"
alsa.components = "USB1038:1a05"
alsa.device = "0"
alsa.driver_name = "snd_usb_audio"
alsa.id = "S9"
alsa.long_card_name = "SteelSeries SteelSeries Arena 9 at usb-0000:15:00.0-3.1, full speed"
alsa.mixer_name = "USB Mixer"
alsa.name = "USB Audio"
alsa.resolution_bits = "16"
alsa.subclass = "generic-mix"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.sync.id = "00000000:00000000:00000000:00000000"
api.alsa.card.longname = "SteelSeries SteelSeries Arena 9 at usb-0000:15:00.0-3.1, full speed"
api.alsa.card.name = "SteelSeries Arena 9"
api.alsa.path = "surround51:0"
api.alsa.pcm.card = "0"
api.alsa.pcm.stream = "playback"
audio.channels = "6"
audio.position = "FL,FR,RL,RR,FC,LFE"
card.profile.device = "7"
* client.id = "41"
clock.quantum-limit = "8192"
device.api = "alsa"
device.bus = "usb"
device.class = "sound"
device.icon-name = "audio-card-analog"
* device.id = "50"
device.profile.description = "Analog Surround 5.1"
device.profile.name = "analog-surround-51"
device.routes = "1"
* factory.id = "19"
factory.name = "api.alsa.pcm.sink"
library.name = "audioconvert/libspa-audioconvert"
* media.class = "Audio/Sink"
* node.description = "SteelSeries Arena 9 Analog Surround 5.1"
node.driver = "true"
node.loop.name = "data-loop.0"
* node.name = "alsa_output.usb-SteelSeries_SteelSeries_Arena_9-00.analog-surround-51"
* node.nick = "SteelSeries Arena 9"
node.pause-on-idle = "false"
* object.path = "alsa:acp:S9:7:playback"
* object.serial = "68"
port.group = "playback"
* priority.driver = "1109"
* priority.session = "1109"