Repository navigation
SysMon 2.2.2
A compact system monitor for AMD-GPU Linux desktops — and a system
state API you can script against. One Rust binary: the window, the
engine, the CLI, the socket.
v2.2.2 is the "refix everything" round: the two v2.2.0 visuals
that were diagnosed instead of fixed are now fixed in code, the app
can never again be mysteriously slow, the sensors walk found
everything it was missing, and the icon finally got its redraw.
v2.2.1 → v2.2.2, honestly
| v2.2.1 | v2.2.2 | |
|---|---|---|
| pin button, selected | glyph recolored toward the accent while the face tinted toward the accent — converged, washed out in every theme | the glyph never chases the accent (phosphor's rule): ink glyph on the accent-eased carved face; readable in all ten rooms |
| scrollbars | stone-colored handles a few shades from their rail — camouflage | text-grade handles (ink idle → accent while dragged), 11 px wide; readable in all ten rooms by construction |
| a slow window | silent | disclosed: the GUI names its render adapter at startup; a CPU-rasterizer fallback (no usable Vulkan driver) warns on stderr with the fix, toasts in-window, and ctl status carries renderer + renderer_hint |
| sensors | temps + fans, and a channel-numbering assumption that silently dropped readings (k10temp's Tccd1) | the walk honors hwmon index gaps (new accuracy identity pins it), and adds voltage rails, power draw vs cap, fan rated max, and drive temps with the drive named (sda · KINGSTON…) via drivetemp/nvme — with a gentle in-card hint naming modprobe drivetemp when drives are temp-less |
| icon | the v1-era placeholder | phosphor-language redraw: two glow traces on a monitor, ice-blue magnifying glass showing them magnified |
| tests | 41 green | 44 green (sensor census vs sysfs, icon render chain, + the standing suites) |
Idle self-cost, re-measured on software rendering (the worst
case — Xvfb/llvmpipe): 7.9% of one core at a 2 s cadence, repaints
strictly event-driven (zero work between samples). On real hardware
the paint cost lives on the GPU.
Removed, honestly
Nothing removed. The wire format only grew (all additions optional:
voltages, power, max_rpm, device, device_model on sensor
chips; renderer/renderer_hint on a GUI's status) — existing
consumers keep parsing.
Install
# Debian / Ubuntu / Mint
sudo apt install ./sysmon_2.2.2_amd64.deb
# Fedora / RHEL (built on Mint, rpm --test verified — reports welcome)
sudo dnf install ./sysmon-2.2.2-1.x86_64.rpm
# from source
sudo apt install build-essential curl git # apt
sudo dnf install gcc make curl git # dnf
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
git clone https://github.com/RamenFast/sysmon && cd sysmon
cargo build --release && sudo install -m755 target/release/sysmon /usr/local/bin/Verify: sysmon --version → sysmon 2.2.2 (v2).
SHA256SUMS covers every asset above.
Built by Ben with Claude Code
(Claude Fable 5).