Skip to content

3 Channel Support #20

@Caaruzo

Description

@Caaruzo

I own a SteelSeries Arctis Nova Pro Wireless.

Currently, the ChatMix functionality is limited to Chat and Game, while a third “Media” channel exists but isn’t integrated yet. Perhaps this will be officially supported in the future.

In the meantime, I’m using the following workaround:

pipewire-sound.py:

`
import subprocess
import time

def is_pipewire_running():
try:
result = subprocess.run(["pw-cli", "info"], capture_output=True, text=True)
return result.returncode == 0
except FileNotFoundError:
return False

def is_wireplumber_running():
try:
result = subprocess.run(["wpctl", "status"], capture_output=True, text=True)
return result.returncode == 0
except FileNotFoundError:
return False

def get_module_id(name):
"""Gibt die Module-ID zurück, die den gegebenen Sink-Namen enthält."""
try:
result = subprocess.run(
["pactl", "list", "short", "modules"], capture_output=True, text=True
)
for line in result.stdout.splitlines():
if name in line:
return line.split()[0]
except FileNotFoundError:
return None
return None

while not (is_pipewire_running() and is_wireplumber_running()):
time.sleep(1)

while True:
result = subprocess.run(["wpctl", "status"], capture_output=True, text=True)
if "SteelSeries Arctis Nova Pro Wireless Media" in result.stdout:
break
time.sleep(1)

module_id = get_module_id("Arctis_Media")
if module_id:
subprocess.run(["pactl", "unload-module", module_id])

subprocess.run([
"pactl", "load-module",
"module-null-sink",
"sink_name=Arctis_Media",
"sink_properties='device.description="SteelSeries\ Arctis\ Nova\ Pro\ Wireless\ Game"'"
])

subprocess.run([
"pactl", "load-module",
"module-null-sink",
"sink_name=Arctis_Music",
"sink_properties='device.description="SteelSeries\ Arctis\ Nova\ Pro\ Wireless\ Media"'"
])

subprocess.run([
"pw-link",
"Arctis_Music",
"alsa_output.usb-SteelSeries_Arctis_Nova_Pro_Wireless-00.analog-stereo"
])
`
This setup works for me. I wanted to share it in case it helps others.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions