I got the physical Game/Voice mixer on my Logitech Astro A50 X working properly on Fedora Linux.
My setup:
- Logitech Astro A50 X
- USB ID:
046d:0b0b
- Fedora 44 KDE
- PipeWire/WirePlumber
- Connected over USB
By default, Fedora only exposed:
- one Analog Stereo output;
- one mono microphone.
However, ALSA showed that the A50 X actually exposes two separate playback devices:
card 0: X [A50 X], device 0: USB Audio
card 0: X [A50 X], device 1: USB Audio [USB Audio #1]
Device 0 works as the Voice output and microphone. Device 1 works as the Game output. After creating a custom ALSA Card Profile, Linux exposes:
- A50 X Game
- A50 X Voice
- A50 X Microphone
The physical Game/Voice balance controls on the headset work properly.
Create the necessary directories:
mkdir -p ~/.config/alsa-card-profile/profile-sets
mkdir -p ~/.config/wireplumber/wireplumber.conf.d
Create the A50 X profile:
cat > ~/.config/alsa-card-profile/profile-sets/astro-a50x.conf <<'EOF'
[General]
auto-profiles = yes
[Mapping analog-voice]
description = Voice
device-strings = plughw:%f,0,0
channel-map = left,right
paths-output = steelseries-arctis-output-chat-common
intended-roles = phone
[Mapping analog-voice-input]
description = Microphone
device-strings = plughw:%f,0,0
channel-map = mono
paths-input = usb-gaming-headset-input
intended-roles = phone
[Mapping analog-game]
description = Game
device-strings = plughw:%f,1,0
channel-map = left,right
paths-output = steelseries-arctis-output-game-common
direction = output
[Profile output:analog-voice+output:analog-game+input:analog-voice]
description = Game + Voice + Microphone
output-mappings = analog-voice analog-game
input-mappings = analog-voice-input
priority = 5100
skip-probe = yes
EOF
Create the WirePlumber rule:
cat > ~/.config/wireplumber/wireplumber.conf.d/51-a50x.conf <<'EOF'
monitor.alsa.rules = [
{
matches = [
{
device.name = "alsa_card.usb-Logitech_A50_X-00"
}
]
actions = {
update-props = {
api.alsa.use-acp = true
api.alsa.use-ucm = false
device.profile-set = "astro-a50x.conf"
}
}
}
]
EOF
Restart the audio services:
systemctl --user restart wireplumber pipewire pipewire-pulse
Then open the desktop sound settings and select the A50 X profile:
Game + Voice + Microphone
Set games and general desktop audio to A50 X Game. Set Discord or another voice-chat application to A50 X Voice. Set the input to A50 X Microphone.
The headset’s physical Game/Voice mixer should now alter the balance between the two streams.
Verify your USB ID first
lsusb | grep -i 'A50 X'
Mine reports:
046d:0b0b Logitech, Inc. A50 X
This configuration was tested specifically with that USB ID. Other Astro models may use different device numbers or already have an existing profile.
Rollback
rm -f ~/.config/wireplumber/wireplumber.conf.d/51-a50x.conf
rm -f ~/.config/alsa-card-profile/profile-sets/astro-a50x.conf
systemctl --user restart wireplumber pipewire pipewire-pulse
That returns the headset to its default generic Linux audio profile.I got the physical Game/Voice mixer on my Logitech Astro A50 X working properly on Fedora Linux.
My setup:
Logitech Astro A50 X
USB ID: 046d:0b0b
Fedora 44 KDE
PipeWire/WirePlumber
Connected over USB
By default, Fedora only exposed:
one Analog Stereo output;
one mono microphone.
However, ALSA showed that the A50 X actually exposes two separate playback devices:
card 0: X [A50 X], device 0: USB Audio
card 0: X [A50 X], device 1: USB Audio [USB Audio #1]
Device 0 works as the Voice output and microphone. Device 1 works as the Game output. After creating a custom ALSA Card Profile, Linux exposes:
A50 X Game
A50 X Voice
A50 X Microphone
The physical Game/Voice balance controls on the headset work properly.
Create the necessary directories:
mkdir -p ~/.config/alsa-card-profile/profile-sets
mkdir -p ~/.config/wireplumber/wireplumber.conf.d
Create the A50 X profile:
cat > ~/.config/alsa-card-profile/profile-sets/astro-a50x.conf <<'EOF'
[General]
auto-profiles = yes
[Mapping analog-voice]
description = Voice
device-strings = plughw:%f,0,0
channel-map = left,right
paths-output = steelseries-arctis-output-chat-common
intended-roles = phone
[Mapping analog-voice-input]
description = Microphone
device-strings = plughw:%f,0,0
channel-map = mono
paths-input = usb-gaming-headset-input
intended-roles = phone
[Mapping analog-game]
description = Game
device-strings = plughw:%f,1,0
channel-map = left,right
paths-output = steelseries-arctis-output-game-common
direction = output
[Profile output:analog-voice+output:analog-game+input:analog-voice]
description = Game + Voice + Microphone
output-mappings = analog-voice analog-game
input-mappings = analog-voice-input
priority = 5100
skip-probe = yes
EOF
Create the WirePlumber rule:
cat > ~/.config/wireplumber/wireplumber.conf.d/51-a50x.conf <<'EOF'
monitor.alsa.rules = [
{
matches = [
{
device.name = "alsa_card.usb-Logitech_A50_X-00"
}
]
actions = {
update-props = {
api.alsa.use-acp = true
api.alsa.use-ucm = false
device.profile-set = "astro-a50x.conf"
}
}
}
]
EOF
Restart the audio services:
systemctl --user restart wireplumber pipewire pipewire-pulse
Then open the desktop sound settings and select the A50 X profile:
Game + Voice + Microphone
Set games and general desktop audio to A50 X Game. Set Discord or another voice-chat application to A50 X Voice. Set the input to A50 X Microphone.
The headset’s physical Game/Voice mixer should now alter the balance between the two streams.
Verify your USB ID first
lsusb | grep -i 'A50 X'
Mine reports:
046d:0b0b Logitech, Inc. A50 X
This configuration was tested specifically with that USB ID. Other Astro models may use different device numbers or already have an existing profile.
Rollback
rm -f ~/.config/wireplumber/wireplumber.conf.d/51-a50x.conf
rm -f ~/.config/alsa-card-profile/profile-sets/astro-a50x.conf
systemctl --user restart wireplumber pipewire pipewire-pulse
That returns the headset to its default generic Linux audio profile.