[PATCH v3 00/18] HID: steelseries: Add support for Arctis headset lineup

Sriman Achanta posted 18 patches 1 month, 2 weeks ago
.../ABI/testing/sysfs-driver-hid-steelseries  |   87 +
drivers/hid/Kconfig                           |    5 +-
drivers/hid/hid-ids.h                         |   35 +-
drivers/hid/hid-quirks.c                      |   27 +
drivers/hid/hid-steelseries.c                 | 2329 ++++++++++++++---
5 files changed, 2184 insertions(+), 299 deletions(-)
create mode 100644 Documentation/ABI/testing/sysfs-driver-hid-steelseries
[PATCH v3 00/18] HID: steelseries: Add support for Arctis headset lineup
Posted by Sriman Achanta 1 month, 2 weeks ago
This patch series adds comprehensive support for the SteelSeries Arctis
wireless gaming headset lineup to the hid-steelseries driver.

The current driver provides only basic battery monitoring for Arctis 1
and Arctis 9. This series extends support to 25+ Arctis models with
full feature control including sidetone, auto-sleep, microphone
controls, volume limiting, and Bluetooth settings.

The driver restructure uses a capability-based device info system to
cleanly handle the varying feature sets across different Arctis
generations while maintaining support for the legacy SRW-S1 racing
wheel.

The driver also sets up future support for async device control which
is currently implemented for the Arctis Nova 7 Gen 2 and Post-January update
Gen 1 devices as implemented.

Tested on Arctis Nova 7 (0x2202) and Arctis Nova 7 (0x22a1). All other
implementation details are based on the reverse engineering done in the
HeadsetControl library (902e9bc).

Changes since v2:
* Expose audio related controls via ALSA mixers
* Implement async inputs from supported devices with known protocols
* Overall code cleanup and improvements to initalization logic
* Fixed several logical and protocol issues for Arctis 7 and 9

Sriman Achanta (18):
  HID: steelseries: Fix ARCTIS_1_X device mislabeling
  HID: hid-ids: Add SteelSeries Arctis headset device IDs
  HID: quirks: Add additional Arctis headset device IDs
  HID: steelseries: Add async support and unify device definitions
  HID: steelseries: Update Kconfig help text for expanded headset
    support
  HID: steelseries: Add ALSA sound card infrastructure
  HID: steelseries: Add ChatMix ALSA mixer controls
  HID: steelseries: Add mic mute ALSA mixer control
  HID: steelseries: Add Bluetooth state sysfs attributes
  HID: steelseries: Add settings poll infrastructure
  HID: steelseries: Add sidetone ALSA mixer control
  HID: steelseries: Add mic volume ALSA mixer control
  HID: steelseries: Add volume limiter ALSA mixer control
  HID: steelseries: Add Bluetooth call audio ducking control
  HID: steelseries: Add inactive time sysfs attribute
  HID: steelseries: Add Bluetooth auto-enable sysfs attribute
  HID: steelseries: Add mic mute LED brightness control
  HID: steelseries: Document sysfs ABI

 .../ABI/testing/sysfs-driver-hid-steelseries  |   87 +
 drivers/hid/Kconfig                           |    5 +-
 drivers/hid/hid-ids.h                         |   35 +-
 drivers/hid/hid-quirks.c                      |   27 +
 drivers/hid/hid-steelseries.c                 | 2329 ++++++++++++++---
 5 files changed, 2184 insertions(+), 299 deletions(-)
 create mode 100644 Documentation/ABI/testing/sysfs-driver-hid-steelseries

-- 
2.53.0
Re: [PATCH v3 00/18] HID: steelseries: Add support for Arctis headset lineup
Posted by Bastien Nocera 1 month, 2 weeks ago
Hey Sriman,

Great work splitting up your original code. I'm afraid that I see some
of the patches as still needing more splitting up to be easily
reviewable, especially "HID: steelseries: Add async support and unify
device definitions".

The code looks good to me from a cursory glance, though we probably
want to get more eyeballs on the sound code.

I won't have time to test this patchset on real hardware for a little
while, but I'll test this version or any updates if there are any when
I have time.

I also don't know what out subsystem maintainers think, but, if you
have the patience, this might be the opportunity to split off the
headset support from the completely unrelated force feedback steering
wheel driver. I'm not going to block your patchset on this but
something to consider for the future.

Cheers

On Fri, 2026-02-27 at 18:50 -0500, Sriman Achanta wrote:
> This patch series adds comprehensive support for the SteelSeries
> Arctis
> wireless gaming headset lineup to the hid-steelseries driver.
> 
> The current driver provides only basic battery monitoring for Arctis
> 1
> and Arctis 9. This series extends support to 25+ Arctis models with
> full feature control including sidetone, auto-sleep, microphone
> controls, volume limiting, and Bluetooth settings.
> 
> The driver restructure uses a capability-based device info system to
> cleanly handle the varying feature sets across different Arctis
> generations while maintaining support for the legacy SRW-S1 racing
> wheel.
> 
> The driver also sets up future support for async device control which
> is currently implemented for the Arctis Nova 7 Gen 2 and Post-January
> update
> Gen 1 devices as implemented.
> 
> Tested on Arctis Nova 7 (0x2202) and Arctis Nova 7 (0x22a1). All
> other
> implementation details are based on the reverse engineering done in
> the
> HeadsetControl library (902e9bc).
> 
> Changes since v2:
> * Expose audio related controls via ALSA mixers
> * Implement async inputs from supported devices with known protocols
> * Overall code cleanup and improvements to initalization logic
> * Fixed several logical and protocol issues for Arctis 7 and 9
> 
> Sriman Achanta (18):
>   HID: steelseries: Fix ARCTIS_1_X device mislabeling
>   HID: hid-ids: Add SteelSeries Arctis headset device IDs
>   HID: quirks: Add additional Arctis headset device IDs
>   HID: steelseries: Add async support and unify device definitions
>   HID: steelseries: Update Kconfig help text for expanded headset
>     support
>   HID: steelseries: Add ALSA sound card infrastructure
>   HID: steelseries: Add ChatMix ALSA mixer controls
>   HID: steelseries: Add mic mute ALSA mixer control
>   HID: steelseries: Add Bluetooth state sysfs attributes
>   HID: steelseries: Add settings poll infrastructure
>   HID: steelseries: Add sidetone ALSA mixer control
>   HID: steelseries: Add mic volume ALSA mixer control
>   HID: steelseries: Add volume limiter ALSA mixer control
>   HID: steelseries: Add Bluetooth call audio ducking control
>   HID: steelseries: Add inactive time sysfs attribute
>   HID: steelseries: Add Bluetooth auto-enable sysfs attribute
>   HID: steelseries: Add mic mute LED brightness control
>   HID: steelseries: Document sysfs ABI
> 
>  .../ABI/testing/sysfs-driver-hid-steelseries  |   87 +
>  drivers/hid/Kconfig                           |    5 +-
>  drivers/hid/hid-ids.h                         |   35 +-
>  drivers/hid/hid-quirks.c                      |   27 +
>  drivers/hid/hid-steelseries.c                 | 2329 ++++++++++++++-
> --
>  5 files changed, 2184 insertions(+), 299 deletions(-)
>  create mode 100644 Documentation/ABI/testing/sysfs-driver-hid-
> steelseries