⚠️ Pre-release ⚠️
Added
- Software EQ via PulseAudio LADSPA (
mbeq_1197fromswh-plugins): per-channel (media and chat) equaliser with simple (10-band) and advanced (15-band) modes, ±12 dB gain range per band. - EQ presets saved as YAML in
~/.config/arctis_manager/eq_presets/. EQ settings (enabled, mode, preset, per-app rules) saved in~/.config/arctis_manager/eq_settings.yaml. - Per-application EQ overrides: route a specific running application, executable, or Steam game to a custom EQ preset on a chosen channel. The "Add override" dialog shows currently registered audio clients (including paused apps) for stream matching, a file browser for executable selection, and deduplicates Steam games that appear across multiple library folders.
- EQ curve widget: double-clicking a band dot resets its gain to 0 dB (editable presets only).
- LADSPA plugin availability check: if
mbeq_1197is not installed, the EQ panel shows a warning banner with per-distro install instructions and a Retry button; all EQ controls are disabled until the plugin is detected. - GUI daemon availability check on startup: if the background service is not running and
--no-enforce-systemdis not set, the GUI silently enables and starts the systemd unit before opening; if--no-enforce-systemdis set and the daemon is offline, an error dialog is shown and the application exits cleanly. - New dependency:
vdf>=3.4(optional at runtime — Steam game matching is skipped gracefully if not installed). - Daemon exposes a
GetVersionD-Bus method returning the installed package version viaimportlib.metadata. - UI footer (bottom-right) shows the running UI version. On a version mismatch the footer shows
UI: vX | Service: vYwhile the issue is resolved. - Automatic service upgrade: if the service version is older than the UI, or if the service does not expose
GetVersion(pre-feature version), the GUI restarts the service once via systemd, re-writing the unit file so the current binary is used. After restart, the version is re-checked. - If the UI is older than the service, a warning dialog prompts the user to restart the application instead.
Fixed
- Switching EQ presets no longer interrupts audio playback in apps such as Spotify. Previously, unloading the LADSPA module broadcast a PipeWire sink-removal event to all clients, causing them to reset their streams. LADSPA modules are now accumulated and kept idle for the session lifetime, cleaned up only on headset disconnect.
Changed
- Device detection now uses the USB iProduct string (e.g.
Arctis Nova Pro Wireless) as the primary identifier, scoped to the SteelSeries vendor ID. Product IDs remain as a tiebreaker when multiple configurations share the same product name (e.g. Nova 7 Wireless discrete vs. percentage battery variants), and as the sole matching method for configurations that do not declare aproduct_string. This allows firmware updates that change the product ID to still be recognised automatically; unknown PIDs that match by name log a warning suggesting udev rules may need updating.