v3.8 — OPP bin detection rewrite + glmark2 persistent install
v3.8 — 2026-05-23
OPP bin detection rewritten — important reliability fix:
- Fix: DetectOPPBinProp() now uses a three-tier fallback instead of guessing from /proc/device-tree. Previous fallback iterated L0-L3 and took the first bin that existed in the DTB — since all bins are present in the DTB, this always returned L0 regardless of the active bin. New priority order: (1) dmesg (authoritative) -> (2) cache file /etc/r36_tuner_bin (persists across dmesg rotation) -> (3) generic opp-microvolt with abort (safe, no wrong-bin patch).
- Fix: Bin detected from dmesg is now saved to /etc/r36_tuner_bin. A single clean boot populates the cache permanently — future runs use the cache even if dmesg has rotated.
- Fix: If neither dmesg nor cache can provide the bin, all five patching paths (CPU UV, GPU UV, CPU OC, GPU OC, RAM OC) abort with a clear message: "Reboot the device — bin will be detected and cached automatically." Previously, the wrong bin (L0) was silently patched.
- Fix: CPU OC, GPU OC and RAM OC info screens now show the bin-not-detected warning inline. If OC is not active and bin is unknown, dialog shows [OK] instead of [Yes]/[No] — user sees the OC state but cannot patch until reboot.
- Fix: glmark2 legacy binary now installed to /usr/local/bin/ (persistent). Previously extracted to /tmp/ on every session — cleared on each reboot, causing re-extraction delay on first GPU benchmark use after every boot.
Previous releases: v3.7 | v3.5