Need help to set up my USB DTS headset in Fedora/KDE Plasma/Pipewire(?)

Hi every1, I need help.

I’m trying to switch from Windows to Linux, and so far it’s been far less of a headache than I thought =)
However, you’ll put up with quite some noob here…

Anyway, I can’t get my USB DTS headset “HyperX Cloud Stinger2 Wireless Pro” to play anything but stereo.

First, I had the same issue with my Creative SoundblasterX AE-5 Plus’ TOSLINK/SPDIF - turned out I only had to install alsa-plugins-a52 to get a new selectable output mode “Digital Surround 5.1 (IEC958/AC3)” in Plasmas audio control, which works… good enough.
I have the very same option for my headset as well now, just won’t work though (plays only white noise).

Remarkably, a CLI command “aplay -L”, which I found online, shows several sinks?/nodes? for multichannel audio on my headset:

sysdefault:CARD=Wireless
    HyperX Cloud Stinger 2 Wireless, USB Audio
    Default Audio Device
front:CARD=Wireless,DEV=0
    HyperX Cloud Stinger 2 Wireless, USB Audio
    Front output / input
surround21:CARD=Wireless,DEV=0
    HyperX Cloud Stinger 2 Wireless, USB Audio
    2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=Wireless,DEV=0
    HyperX Cloud Stinger 2 Wireless, USB Audio
    4.0 Surround output to Front and Rear speakers
surround41:CARD=Wireless,DEV=0
    HyperX Cloud Stinger 2 Wireless, USB Audio
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=Wireless,DEV=0
    HyperX Cloud Stinger 2 Wireless, USB Audio
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=Wireless,DEV=0
    HyperX Cloud Stinger 2 Wireless, USB Audio
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=Wireless,DEV=0
    HyperX Cloud Stinger 2 Wireless, USB Audio
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=Wireless,DEV=0
    HyperX Cloud Stinger 2 Wireless, USB Audio
    IEC958 (S/PDIF) Digital Audio Output

However, in Plasmas audio control center I can only choose from analog/digital stereo, or 5.1 AC3 (which doesn’t work).

Please help!

I’m a gamer, so any suggestions regarding video codecs/players and their configurations (as seen in countless forums) won’t help me much.

Thanks in advance

Are you able to switch using pactl set-card-profile?

oh great, replies notifications go straight to my junk mail =/

I assume you mean pactl set-card-profile - and this MIGHT work, but needs another parameter, and I don’t really dare to try … These are my options:

pactl set-card-profile 
51                                                          alsa_card.pci-0000_00_1f.3
52                                                          alsa_card.pci-0000_01_00.1
53                                                          alsa_card.pci-0000_06_00.0
54                                                          alsa_card.usb-HP__Inc_HyperX_Cloud_Stinger_2_Wireless_0-00

thanks a lot, and sorry for the delayed reaction – i’ve whitelisted fedora now ^^

… by “assuming” I mean, that the suggested command doesn’t seem to exist:

sudo pactl -h
pactl [Optionen] stat
pactl [Optionen] info
pactl [Optionen] list [short] [TYP]
pactl [Optionen] exit
pactl [Optionen] upload-sample DATEINAME [NAME]
pactl [Optionen] play-sample  NAME [ZIEL]
pactl [Optionen] remove-sample  NAME
pactl [Optionen] load-module  NAME [ARGUMENTE …]
pactl [Optionen] unload-module  NAME|#N
pactl [Optionen] move-(sink-input|source-output) #N ZIEL|QUELLE
pactl [Optionen] suspend-(sink|source) NAME|#N 1|0
pactl [Optionen] set-card-profile  KARTENPROFIL
pactl [Optionen] get-default-(sink|source)
pactl [Optionen] set-default-(sink|source) NAME
pactl [Optionen] set-(sink|source)-port NAME|#N PORT
pactl [Optionen] get-(sink|source)-volume NAME|#N
pactl [Optionen] get-(sink|source)-mute NAME|#N
pactl [Optionen] set-(sink|source)-volume NAME|#N LAUTSTÄRKE [LAUTSTÄRKE …]
pactl [Optionen] set-(sink-input|source-output)-volume #N LAUTSTÄRKE [LAUTSTÄRKE …]
pactl [Optionen] set-(sink|source)-mute NAME|#N 1|0|toggle
pactl [Optionen] set-(sink-input|source-output)-mute #N 1|0|toggle
pactl [Optionen] set-sink-formats #N FORMATE
pactl [Optionen] set-port-latency-offset KARTENNAME|KARTEN-#N PORT POSITION
pactl [Optionen] send-message RECIPIENT MESSAGE [MESSAGE_PARAMETERS]
pactl [Optionen] subscribe

Die speziellen Bezeichnungen @DEFAULT_SINK@, @DEFAULT_SOURCE@ und @DEFAULT_MONITOR@
können zur Angabe des Standard-Ziels, der Standard-Quelle und der Standard-Überwachung verwendet werden.

  -h, --help                            Show this help
      --version                         Show version

  -f, --format=FORMAT                   The format of the output. Either "normal" or "json"
  -s, --server=SERVER                   The name of the server to connect to
  -n, --client-name=NAME                How to call this client on the server

I guess though, this might also be due to missing libs, again…
Therefore:

admin@TUF-B660:~$ dnf ls --installed alsa*
Installierte Pakete
alsa-lib.i686            1.2.13-3.fc41  updates
alsa-lib.x86_64          1.2.13-3.fc41  updates
alsa-plugins-a52.x86_64  1.2.12-3.fc41  fedora
alsa-sof-firmware.noarch 2025.01-1.fc41 updates
alsa-ucm.noarch          1.2.13-3.fc41  updates
alsa-utils.x86_64        1.2.13-2.fc41  updates
admin@TUF-B660:~$ dnf ls --installed pulsea*
Installierte Pakete
pulseaudio-libs.i686         17.0-2.fc41  fedora
pulseaudio-libs.x86_64       17.0-2.fc41  anaconda
pulseaudio-libs-glib2.x86_64 17.0-2.fc41  anaconda
pulseaudio-qt-qt6.x86_64     1.7.0-1.fc41 updates
pulseaudio-utils.x86_64      17.0-2.fc41  anaconda
admin@TUF-B660:~$ dnf ls --installed pipewire*
Installierte Pakete
pipewire.i686                                  1.2.7-7.fc41 updates
pipewire.x86_64                                1.2.7-7.fc41 updates
pipewire-alsa.i686                             1.2.7-7.fc41 updates
pipewire-alsa.x86_64                           1.2.7-7.fc41 updates
pipewire-gstreamer.x86_64                      1.2.7-7.fc41 updates
pipewire-jack-audio-connection-kit.x86_64      1.2.7-7.fc41 updates
pipewire-jack-audio-connection-kit-libs.x86_64 1.2.7-7.fc41 updates
pipewire-libs.i686                             1.2.7-7.fc41 updates
pipewire-libs.x86_64                           1.2.7-7.fc41 updates
pipewire-plugin-libcamera.x86_64               1.2.7-7.fc41 updates
pipewire-pulseaudio.x86_64                     1.2.7-7.fc41 updates
pipewire-utils.x86_64                          1.2.7-7.fc41 updates

I meant set-card-profile, I fixed my post. Sorry about that.
should be set-card-profile profile …
You should be able to put a number in and hit tab to see what the profiles are.

You can also get the available profiles with
pactl list cards

OK, now pactl list cards identifies my headset as card #52
Available profiles listed equal (only) those i see in Plasmas GUI though…
Tabbing after pactl set-card-profile 52 doesn’t suggest anything either…
When I try to switch profiles by copy/paste with via pactl though it does work!
Changed profile also displays in my Plasma GUI!
Still missing the 7.1 profiles though:

Karte #52
        Name: alsa_card.usb-HP__Inc_HyperX_Cloud_Stinger_2_Wireless_0-00
        Treiber: alsa
        Owner-Modul: k. A.
        Eigenschaften:
                api.acp.auto-port = "false"
                api.acp.auto-profile = "false"
                api.alsa.card = "3"
                api.alsa.card.longname = "HP, Inc HyperX Cloud Stinger 2 Wireless at usb-0000:00:14.0-9.3, full speed"
                api.alsa.card.name = "HyperX Cloud Stinger 2 Wireless"
                api.alsa.path = "hw:3"
                api.alsa.split-enable = "true"
                api.alsa.use-acp = "true"
                api.dbus.ReserveDevice1 = "Audio3"
                api.dbus.ReserveDevice1.Priority = "-20"
                device.api = "alsa"
                device.bus = "usb"
                device.bus-id = "usb-HP__Inc_HyperX_Cloud_Stinger_2_Wireless_0-00"
                device.bus_path = "pci-0000:00:14.0-usb-0:9.3:1.0"
                device.description = "HyperX Cloud Stinger 2 Wireless"
                device.enum.api = "udev"
                device.icon_name = "audio-card-analog-usb"
                device.name = "alsa_card.usb-HP__Inc_HyperX_Cloud_Stinger_2_Wireless_0-00"
                device.nick = "HyperX Cloud Stinger 2 Wireless"
                device.plugged.usec = "4944582"
                device.product.id = "0x0d93"
                device.product.name = "HyperX Cloud Stinger 2 Wireless"
                device.serial = "HP__Inc_HyperX_Cloud_Stinger_2_Wireless_0"
                device.subsystem = "sound"
                sysfs.path = "/devices/pci0000:00/0000:00:14.0/usb1/1-9/1-9.3/1-9.3:1.0/sound/card3"
                device.vendor.id = "0x03f0"
                device.vendor.name = "HP, Inc"
                media.class = "Audio/Device"
                spa.object.id = "8"
                factory.id = "15"
                client.id = "49"
                object.id = "52"
                object.serial = "52"
                object.path = "alsa:acp:Wireless"
                alsa.card = "3"
                alsa.card_name = "HyperX Cloud Stinger 2 Wireless"
                alsa.long_card_name = "HP, Inc HyperX Cloud Stinger 2 Wireless at usb-0000:00:14.0-9.3, full speed"
                alsa.driver_name = "snd_usb_audio"
                alsa.mixer_name = "USB Mixer"
                alsa.components = "USB03f0:0d93"
                alsa.id = "Wireless"
                device.string = "3"
        Profile:
                off: Aus (Ziele: 0, Quellen: 0, Priorität: 0, verfügbar: ja)
                output:analog-stereo+input:mono-fallback: Analog Stereo-Ausgabe + Mono-Eingang (Ziele: 1, Quellen: 1, Priorität: 6501, verfügbar: ja)
                output:analog-stereo: Analog Stereo-Ausgabe (Ziele: 1, Quellen: 0, Priorität: 6500, verfügbar: ja)
                output:iec958-stereo+input:mono-fallback: Digital Stereo (IEC958)-Ausgabe + Mono-Eingang (Ziele: 1, Quellen: 1, Priorität: 5501, verfügbar: ja)
                output:iec958-stereo: Digital Stereo (IEC958)-Ausgabe (Ziele: 1, Quellen: 0, Priorität: 5500, verfügbar: ja)
                output:iec958-ac3-surround-51+input:mono-fallback: Digital Surround 5.1 (IEC958/AC3)-Ausgabe + Mono-Eingang (Ziele: 1, Quellen: 1, Priorität: 301, verfügbar: ja)
                output:iec958-ac3-surround-51: Digital Surround 5.1 (IEC958/AC3)-Ausgabe (Ziele: 1, Quellen: 0, Priorität: 300, verfügbar: ja)
                pro-audio: Pro Audio (Ziele: 1, Quellen: 1, Priorität: 1, verfügbar: ja)
                input:mono-fallback: Mono-Eingang (Ziele: 0, Quellen: 1, Priorität: 1, verfügbar: ja)
        Aktives Profil: pro-audio
        Ports:
                analog-input-mic: Mikrofon (Typ: Mikro, Priorität: 8700, Latenzversatz: 0 usec, Verfügbarkeit unbekannt)
                        Eigenschaften:
                                port.type = "mic"
                                device.icon_name = "audio-input-microphone"
                                card.profile.port = "0"
                        Teil der/des Profil(s): input:mono-fallback, output:analog-stereo+input:mono-fallback, output:iec958-stereo+input:mono-fallback, output:iec958-ac3-surround-51+input:mono-fallback
                analog-output: Analoge Ausgabe (Typ: Analog, Priorität: 9900, Latenzversatz: 0 usec, Verfügbarkeit unbekannt)
                        Eigenschaften:
                                port.type = "analog"
                                card.profile.port = "1"
                        Teil der/des Profil(s): output:analog-stereo, output:analog-stereo+input:mono-fallback
                iec958-stereo-output: Digitalausgang (S/PDIF) (Typ: SPDIF, Priorität: 0, Latenzversatz: 0 usec, Verfügbarkeit unbekannt)
                        Eigenschaften:
                                port.type = "spdif"
                                card.profile.port = "2"
                        Teil der/des Profil(s): output:iec958-stereo, output:iec958-stereo+input:mono-fallback

Sorry for the german, I hope it’s readable anyways…

Also, I just noticed:
pactl list cards identifies my headset as card #52.
When I tab pactl set-card-profile though, 52 is some PCI device, and the headsets description is listed as 54 for what it’s worth…