SteelSeries GameDAC does not use 24-bit audio streams
When playing audio on a SteelSeries GameDAC hardware device, the audio stream going into the hardware is always 16-bit even though it supports 24-bit audio. This can be seen on the device itself; it reports the audio stream it's currently playing.
Hardware stream info from /proc/asound/card#/stream0
(I can report more info if needed):
SteelSeries SteelSeries GameDAC at usb-0000:00:14.0-9.2, full speed : USB Audio
Playback:
Status: Running
Interface = 2
Altset = 1
Packet Size = 288
Momentary freq = 48000 Hz (0x30.0000)
Interface 2
Altset 1
Format: S16_LE
Channels: 2
Endpoint: 1 OUT (ADAPTIVE)
Rates: 44100, 48000, 96000
Bits: 16
Channel map: FL FR
Interface 2
Altset 2
Format: S24_3LE
Channels: 2
Endpoint: 1 OUT (ADAPTIVE)
Rates: 44100, 48000, 96000
Bits: 24
Channel map: FL FR
Capture:
Status: Stop
Interface 1
Altset 1
Format: S16_LE
Channels: 1
Endpoint: 1 IN (ADAPTIVE)
Rates: 96000
Bits: 16
Channel map: MONO
This setup worked before in Pulseaudio by configuring it to use s24le
audio.