Skip to content

Releases: claygorman/aw5d-linux

v1.1.2 — code-audit fixes

Choose a tag to compare

@claygorman claygorman released this 07 Jul 23:19

Bug fixes from a full code audit (all backward-compatible):

  • --once no longer hangs when the cooler isn't found — it makes one attempt and exits.
  • A transient sensor read error no longer crashes the daemon (e.g. hwmon renumbering on suspend/resume) — the frame is skipped and it continues.
  • self-update reports failure instead of falsely claiming success if the service restart fails.
  • install.sh: AW5D_BIN_DIR to a system dir now sudo-writes the launcher; a missing systemd --user session fails early with a clear message; --uninstall cleans up config + the bootstrap checkout; sed metachars in the Python path are escaped.
  • just set-interval edits only the interval line instead of overwriting the whole config file.
  • Clean shutdown (no traceback on an ill-timed SIGTERM), plus regression tests for --once.

v1.1.1 — installer fix

Choose a tag to compare

@claygorman claygorman released this 07 Jul 19:26

Patch: the installer now actually works.

install.sh's shell function was named install, which shadowed the coreutils install command it uses to copy files — so it recursed into itself instead of installing (a latent bug in v1.0.0 and v1.1.0). Renamed to do_install.

If you tried the one-liner before and it spun forever printing installing driver…, that's this — please update and retry:

curl -fsSL https://raw.githubusercontent.com/claygorman/aw5d-linux/main/bootstrap.sh | bash

Also added a CI installer smoke test (sandbox run with stubbed sudo/systemctl) so this can't regress.

v1.1.0 — friendlier & self-serviceable

Choose a tag to compare

@claygorman claygorman released this 07 Jul 17:49

Quality-of-life release. Everything since v1.0.0, all backward-compatible.

New

  • aw5d-lcd command on your PATHaw5d-lcd doctor, list, --help (installed to ~/.local/bin; override with AW5D_BIN_DIR).
  • doctor — diagnoses a dark screen: device present? hidraw writable? sensors? Python version? service? aw5d-lcd on PATH? — each with a fix hint.
  • aw5d-lcd self-update — a manual updater (fetch + reinstall + restart). Nothing auto-updates.
  • One-line install: curl -fsSL https://raw.githubusercontent.com/claygorman/aw5d-linux/main/bootstrap.sh | bash — no reboot, no rpm-ostree layering on Bazzite/atomic.
  • Configurable update interval via AW5D_INTERVAL (~/.config/aw5d-lcd.env), with a too-low warning + safe clamp.
  • Installer preflight detects a Python 3.8+ interpreter and renders the launcher + systemd unit with it.
  • Unit tests + CIbuild_packet asserted byte-for-byte against the captured golden packet; a required check on PRs.
  • A Justfile (just install/doctor/test/logs/...).

See the CHANGELOG. Authored by Claude (AI) with the author; tested on real hardware. Use at your own risk.

v1.0.0 — first light

Choose a tag to compare

@claygorman claygorman released this 07 Jul 16:15

First public release: drive the iBUYPOWER AW5/AW5D AIO cooler's round LCD natively from Linux — no Windows, no vendor software.

Highlights

  • Dependency-free Python driver (aw5d_lcd.py, stdlib only); auto-detects the HID device and reads k10temp / /proc/stat / cpufreq.
  • Stock CPU gauge over HID report 0x10 (~1 Hz): usage, exact MHz, temperature — validated against HWiNFO and the on-screen numbers. No handshake.
  • systemd user service (linger) + udev rule + installer; configurable update interval (AW5D_INTERVAL).
  • Full clean-room reverse-engineering writeup in RESEARCH.md.

See the README for install + the protocol table. Code and docs authored by Claude (AI) with the author; tested on real hardware. Use at your own risk.