Skip to content

v3.0.0-alpha3

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 03 Sep 22:55
· 313 commits to develop since this release

⚠️ Pre-release ⚠️

How to install / upgrade (from v3)

Download linux-arctis-manager and linux-arctis-manager-lang, install both.

For the KDE plasmoid and the GNOME extension, download and install the relative package.

How to install (from version 2)

In a nutshell: uninstall the previous version, then install this one.

Full migration guide in the link.

From alpha 2

  • Fix NC preset always off over D-Bus (drop bad VC-style tri-state, persist preset as-is)
  • Add GNOME Shell 45+ extension mirroring Plasma widget, shared translations package
  • Ship Plasma widget as own installable package (Fedora/Debian/Arch)
  • Add native KDE Plasma 6 widget, D-Bus quick settings
  • Replace Wayland tray panel w/ plain info-only context menu
  • Fix daemon/helper version string (VERSION-derived), sync pyproject.toml at build time

Added

  • AI Voice Changer (RVC): real-time voice conversion with a guided calibration wizard, model management (HuggingFace search/download or local files), and auto-tune.
  • Noise Cancellation panel with presets and full manual control.
  • Hardware EQ support for the Nova Pro family, with a per-channel backend selector (Auto / Software / Hardware).
  • Per-application EQ and Noise Cancellation overrides, including switching by focused window on Hyprland, Sway, and X11.
  • EQ presets (10-band and 15-band) with a curve editor.
  • Audio output can be redirected automatically on headset connect/disconnect.
  • Device settings now persist across daemon restarts.
  • GUI shows the daemon version and upgrades/starts the background service automatically.
  • Rust daemon (v3): rewrite of the background service, with support for the entire device lineup (Nova 5, Arctis 7+, Nova Pro Wired/Wireless/Omni, Nova Elite, Nova 7, Nova 7 Gen2, Nova 3/3X/4/4X, Arctis 7, Arctis 1 Wireless, Arctis 5, Arctis 9, Arctis Pro/Pro Wireless/Pro GameDAC, Arctis GameBuds) — see docs/device_compatibility.md for the full capability matrix.
  • KDE Plasma 6 widget (plasmoid): status and a configurable set of quick-access controls in the Plasma panel, positioned by Plasma itself, plus a button to open the main app window. Ships as its own linux-arctis-manager-plasma-widget package (Fedora subpackage, Debian binary package, Arch split package) across the same build matrix as the main package.
  • GNOME Shell extension (45+): same status + configurable quick settings + open-main-app button, in the top panel. Ships as its own linux-arctis-manager-gnome-extension package, same build matrix as the Plasma widget.

Changed

  • Voice Changer's Enable control is now a tri-state switch (off / on for this session / on, starts with the daemon).
  • The background daemon has been rewritten from Python to Rust; the GUI is unchanged.
  • EQ changes apply live to the running audio graph instead of reloading it.
  • Noise Cancellation now runs as a single audio device instead of one per effect stage.
  • Device detection now matches primarily by product name, falling back to product ID.
  • Side navigation now uses icon buttons instead of text labels.
  • The Voice Changer panel is labelled "(Preview)".
  • README's Supported Devices table rewritten and re-checked against SteelSeries' own device specs.
  • CI now enforces Python code quality (ruff, basedpyright, coverage floor) alongside the existing Rust checks (cargo-deny added).

Removed

  • The old Python daemon and everything only reachable from it, now that the Rust daemon covers its functionality. lam-cli is trimmed to its device-introspection subcommand.

Fixed

  • Byte-order mismatch that corrupted custom EQ gain on Nova Pro Wireless, Nova Pro Wired, Arctis 7+, and Nova 7.
  • GUI's automatic service restart now targets the actual installed v3 systemd units.
  • Noise Cancellation no longer swallows quiet consonants.
  • SetNCSettings no longer force-persists the preset as "off": Noise Cancellation has no autostart/session-only tri-state like Voice Changer — any preset other than "off" is always active and now correctly reported back over D-Bus (was previously always reported as "off", regardless of the selected preset, and lost on daemon restart).
  • EQ preset/gain changes no longer interrupt other apps' playback or leak PipeWire modules.
  • Settings with many options no longer overflow the window; sliders no longer stutter while dragging.
  • lam-hidraw-helper and the daemon's HTTP user agent now report the real project version instead of the crate-internal 0.1.0/CARGO_PKG_VERSION placeholder.
  • pyproject.toml's version is now synced from the shared VERSION file before packaging (make sync-version), so a stale pyproject.toml can no longer ship a mismatched GUI version.