github Lexonight1/thermalright-trcc-linux v9.6.3

latest release: v9.6.4
3 hours ago

Daemon-mode metrics fix + cross-OS metric-source hygiene. Internal correctness release — no user-visible feature changes.

Daemon-mode crash (latent regression in v9.6.2)

TRCC_DAEMON=1 users would crash on every metrics-touching command after the 2026-05-14 chain migration (trcc info, trcc led test, theme overlay loops, /system/metrics). TrccProxy had no os facade. Fixed with OSFacadeProxy + new _meta.metrics IPC route + HardwareMetrics wire serialization. Verified by dev/smoke_daemon_metrics.py.

Capability probe-once at construction

LinuxPlatform.__init__ now resolves subprocess tools (sensors, dmidecode, lshw, smartctl) via shutil.which() once at startup. Read paths consult the cached map. Dev / minimal-install boxes used to spam "lshw not installed — mem_clock lshw probe unavailable" every metrics tick — now ONE INFO line at startup naming what's available and what's absent, then silence.

NVML probe-at-discovery (sysctl-style)

Each NVIDIA card's supported metric set is frozen at _discover_nvidia time. _poll_nvidia is a flat loop over what each card answers. No per-tick try/except for "NVML_ERROR_NOT_SUPPORTED" cases on cards lacking fan/power/mem-info.

Cross-OS log hygiene

Same "no failure wording for normal absence" pass across Windows, macOS, BSD adapters. 18 noisy log lines neutralized.

Smoke harnesses

  • dev/smoke_metrics_chain.py — 9 checks pinning every former svc.all_metrics call site.
  • dev/smoke_l1_unification.py — verifies GUI panel + LCD overlay + LED engine observe the same HardwareMetrics record.
  • dev/smoke_daemon_metrics.py — boots a daemon subprocess, drives TrccProxy.os.metrics over IPC.

Lambda audit

69 lambdas eliminated from src/trcc (119 → 50). Every callable in the runtime is now a named class method, function, or operator.itemgetter-style accessor. Qt signal slots use setProperty + self.sender().property(key) for variable-cardinality button bindings.

See doc/CHANGELOG.md for full detail.

Don't miss a new thermalright-trcc-linux release

NewReleases is sending notifications on new releases.