Changes
- Migrated the X3/X4 hardware stack from legacy
community-sdktofreeink-sdka485dc46, retaining the vCodex reader, Lyra themes, statistics, highlights, SD fonts, RTC/IMU integration, controls, web tools, and release flow. - Added boot-time X3/X4 fingerprinting and panel-controller detection before SPI initialization. One firmware now selects the original X3 UC8253 or newer UC8279d driver at runtime, addressing the 30-second display timeouts reported in #193.
- Moved battery, USB-wake, GPIO wake, and deep-sleep handling onto runtime
BoardConfigprofiles. X4 retains its GPIO13 battery-latch shutdown and passed local sleep/wake and page-turn testing; X3 retains its fuel-gauge/RTC power behavior. - Restored upstream
5717374eUP + POWERboot recovery. USB-locked X3 devices can enter the SD BIN picker without navigating an invisible UI; the exact blind-recovery sequence and its separateConfirm/Rightactions are documented in the user guide. - Linked both UC8253 and UC8279 display paths into production, kept release flash at 93.5% and static RAM at 15.1%, and passed all 43 host regressions. Physical validation on an affected UC8279d X3 remains requested.