Featured image of post Arctis Sound Manager: versions 1.4.22 and 1.4.23 released

Arctis Sound Manager: versions 1.4.22 and 1.4.23 released

Arctis Sound Manager has been released in version 1.4.22, followed shortly after by version 1.4.23 adding a user interface for the new feature.

Version 1.4.22 brings back the headset’s hardware auto-off timer that had been removed in version 1.4.21 - this time as an opt-in feature, disabled by default, without the channel dependencies that previously caused dropouts and crashes. The update also fixes a possible segfault in PipeWire’s convolver when restarting the filter chain. Version 1.4.23 then makes the feature reachable directly in the app via an Auto Power Off slider.

Changes in version 1.4.22:

Fixed

  • filter-chain.service restart storm could segfault PipeWire’s convolver (#233). Only one call site parked the filter-chain graph (quiesce_filter_chain) before restarting it - every other one (EQ apply, tray actions, device-init repair) restarted it directly, racing PipeWire’s realtime thread against the graph it was mid-teardown/rebuild on. Centralized in service_control.restart(): every “filter-chain” restart now quiesces first, and a standalone restart is additionally coalesced across processes (a burst of near-simultaneous calls - e.g. the GUI and the daemon reacting to the same preset/surround change - now reaches the service manager exactly once, not once per call). Verified live: a 10-call concurrent burst that previously would have produced 10 stop/start cycles now produces exactly one, with no coredump.
  • Raised api.alsa.period-size to 128 in the physical-sink no-suspend WirePlumber quirk (pw_quirks.py): keeping that sink permanently open (#223/#230 class) had it issuing USB isochronous transfers continuously, which measurably delayed a DualSense/DS5Dongle gamepad’s HID reports on a shared USB controller. Doubling the period halves this sink’s USB transfer frequency and frees bus time for the gamepad’s polling.

Added

  • The headset’s hardware auto-off timer works again (#180), without reintroducing #223/#230 - opt-in, disabled by default. A new whole-graph activity observer (idle_detect.py) watches every channel for a genuinely playing (not paused/corked) stream - including Discord and browser tabs, deliberately not built on the existing native-stream helper, which excludes pipewire-pulse clients and would repeat the #223 mistake of treating an app ASM cannot see as “not there”. Once the whole graph has been idle long enough, ASM itself releases the last hop into the headset’s own physical output - never by marking a node node.passive again - and restores it the instant any channel becomes active. New setting headset_idle_off_minutes (0 = disabled, the previous behaviour; no GUI control yet). Verified live against real usage: idle, Discord calls, paused vs. playing video, a game routed to an external output, and the full cut/restore cycle.

Changes in version 1.4.23:

Added

  • The auto power-off feature added in 1.4.22 (#180) is now reachable from the app: it follows the headset’s own Auto Power Off slider (renamed from the unclear “PM Shutdown”) instead of requiring the settings file to be edited by hand. Setting it to a delay also tells ASM to stop feeding the device after that much silence, so the hardware timer can actually fire; setting it to “Never” disables both. Existing installs: touch the slider once (reselecting the same value works) to pick this up - it is not applied retroactively at startup.

Arctis Sound Manager

Source: GitHub

PlayingTux – Playing Games on Linux - since 1995.