Repository navigation
What's New
Thermal Monitoring Fixes
- Fixed temperature readings — All temperatures were showing 0°C due to the IEEE float decoder using big-endian byte order instead of little-endian. Apple Silicon SMC stores
fltvalues in native LE format. CPU, GPU, SSD, and ambient temperatures now display correctly. - Fixed power draw readings — System, CPU, and GPU wattage were showing garbage values (e.g. 111111254122451) or fluctuating wildly for the same byte-order reason. Power now reads stable, accurate values.
- Fixed fan RPM readings — Fan speeds were showing 0 RPM due to the same float decoding issue. Now displays correct RPM values.
Stability Improvements
- Memoized sensor discovery — Temperature sensors are discovered once on first poll and cached, preventing the sensor list from cycling/re-rendering on every update.
- Cached last-known-good values — Temperature and power readings use a cache that only updates on valid reads, preventing flickering when a sensor temporarily fails to respond.
- Fan RPM chart fix — Resolved a Release build type-check timeout by simplifying the chart expression.
- Live history updates — Thermal history charts now poll every second instead of updating only once.
Fan Control
- Privilege detection — Fan control writes require root privileges on Apple Silicon. The app now detects this at startup and shows an informational message instead of non-functional sliders.
- Correct write encoding — Fan target writes now match the SMC's actual data type (
flton Apple Silicon,fpe2on Intel) instead of always usingfpe2.
Full Changelog: v1.2.5...v1.3.0