Skip to content

Commit

Permalink
alsa-mixer: add support for Steelseries Arctis 7 headset
Browse files Browse the repository at this point in the history
  • Loading branch information
hevanaa authored and tanuk committed Sep 2, 2017
1 parent e84dc8b commit 814419c
Show file tree
Hide file tree
Showing 6 changed files with 126 additions and 0 deletions.
1 change: 1 addition & 0 deletions src/modules/alsa/alsa-mixer.c
Original file line number Diff line number Diff line change
Expand Up @@ -2469,6 +2469,7 @@ static int path_verify(pa_alsa_path *p) {
{ "analog-input-video", N_("Video") },
{ "analog-output", N_("Analog Output") },
{ "analog-output-headphones", N_("Headphones") },
{ "analog-output-headphones-mono", N_("Headphones Mono Output") },
{ "analog-output-lfe-on-mono", N_("LFE on Separate Mono Output") },
{ "analog-output-lineout", N_("Line Out") },
{ "analog-output-mono", N_("Analog Mono Output") },
Expand Down
25 changes: 25 additions & 0 deletions src/modules/alsa/mixer/paths/steelseries-arctis-input.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# This file is part of PulseAudio.
#
# PulseAudio is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as
# published by the Free Software Foundation; either version 2.1 of the
# License, or (at your option) any later version.
#
# PulseAudio is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.

; Steelseries Arctis 7 USB headset microphone path.

[General]
description-key = analog-input-microphone-headset

[Element Headset]
volume = merge
switch = mute
override-map.1 = all
override-map.2 = all-left,all-right
29 changes: 29 additions & 0 deletions src/modules/alsa/mixer/paths/steelseries-arctis-output-mono.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# This file is part of PulseAudio.
#
# PulseAudio is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as
# published by the Free Software Foundation; either version 2.1 of the
# License, or (at your option) any later version.
#
# PulseAudio is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.

; Steelseries Arctis 7 USB headset mono output path. The headset has two
; output devices. The first one is mono, meant for voice audio, and the
; second one is stereo, meant for everything else. The purpose of this
; unusual design is to provide separate volume controls for voice and
; other audio, which can be useful in gaming.

[General]
description-key = analog-output-headphones-mono

[Element PCM]
volume = merge
switch = mute
override-map.1 = all
override-map.2 = all-left,all-right
27 changes: 27 additions & 0 deletions src/modules/alsa/mixer/paths/steelseries-arctis-output-stereo.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# This file is part of PulseAudio.
#
# PulseAudio is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as
# published by the Free Software Foundation; either version 2.1 of the
# License, or (at your option) any later version.
#
# PulseAudio is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.

; Steelseries Arctis 7 USB headset stereo output path. The headset has two
; output devices. The first one is mono, meant for voice audio, and the
; second one is stereo, meant for everything else. The purpose of this
; unusual design is to provide separate volume controls for voice and
; other audio, which can be useful in gaming.
;
; This path doesn't provide hardware volume control, because the stereo
; output is controlled by the PCM element with index 1, and currently
; PulseAudio only supports elements with index 0.

[General]
description-key = analog-output-headphones
1 change: 1 addition & 0 deletions src/modules/alsa/mixer/profile-sets/90-pulseaudio.rules
Original file line number Diff line number Diff line change
Expand Up @@ -99,5 +99,6 @@ ATTRS{idVendor}=="0763", ATTRS{idProduct}=="2012", ENV{PULSE_PROFILE_SET}="maudi
ATTRS{idVendor}=="045e", ATTRS{idProduct}=="02bb", ENV{PULSE_PROFILE_SET}="kinect-audio.conf"
ATTRS{idVendor}=="041e", ATTRS{idProduct}=="322c", ENV{PULSE_PROFILE_SET}="sb-omni-surround-5.1.conf"
ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="4014", ENV{PULSE_PROFILE_SET}="dell-dock-tb16-usb-audio.conf"
ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1260", ENV{PULSE_PROFILE_SET}="steelseries-arctis-usb-audio.conf"

This comment has been minimized.

Copy link
@GregPK

GregPK Feb 11, 2020

This might be outdates already. My 2019-08 production date Arctis Wireless 7 gives a different idProduct (12ad)

> lsusb | grep SteelSeries
Bus 001 Device 006: ID 1038:12ad SteelSeries ApS

This comment has been minimized.

Copy link
@tanuk

tanuk Feb 13, 2020

Contributor

This product ID is already in master, will be released in 14.0.


LABEL="pulseaudio_end"
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# This file is part of PulseAudio.
#
# PulseAudio is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as
# published by the Free Software Foundation; either version 2.1 of the
# License, or (at your option) any later version.
#
# PulseAudio is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.

; Steelseries Arctis 7 USB headset. The headset has a microphone and two output
; devices. The first output device is mono, meant for voice audio, and the
; second one is stereo, meant for everything else. The purpose of this unusual
; design is to provide separate volume controls for voice and other audio,
; which can be useful in gaming.
;
; See default.conf for an explanation on the directives used here.

[General]
auto-profiles = yes

[Mapping analog-mono]
device-strings = hw:%f,0,0
channel-map = mono
paths-output = steelseries-arctis-output-mono
paths-input = steelseries-arctis-input

[Mapping analog-stereo]
device-strings = hw:%f,1,0
channel-map = left,right
paths-output = steelseries-arctis-output-stereo
direction = output

[Profile output:analog-mono+output:analog-stereo+input:analog-mono]
output-mappings = analog-mono analog-stereo
input-mappings = analog-mono
priority = 5100
skip-probe = yes

4 comments on commit 814419c

@guidomedina
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Almost a year now since this commit, why hasn't it been released?

@tanuk
Copy link
Contributor

@tanuk tanuk commented on 814419c May 29, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What can I say? The people who work on preparing releases have other priorities too. Can you find us someone to help with swift releases?

The first release candidate for 12.0 has been published, so the final release isn't very far away.

@ArcticSpaceFox
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this done now

@ford-prefect
Copy link
Contributor

@ford-prefect ford-prefect commented on 814419c Dec 25, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ArcticSpaceFox I believe it is.

Please sign in to comment.