From dc53764a3a0f41e23a2a105dff59c2a78c7de164 Mon Sep 17 00:00:00 2001 From: Martin Dobrev Date: Thu, 17 Sep 2026 17:56:01 +0100 Subject: [PATCH] fix: pin LVGL to 9.5 so the graphical boards build again LVGL 9.6.0 (2026-09-16) changed lv_font_t, and the caret range on heltec-v4, t-deck and thinknode-m9 resolves to it on any fresh dependency install, CI included. Every generated font in src/ui/lvgl/fonts then fails with a designator-order error. Pinned to ~9.5.0; moving to 9.6 means regenerating the fonts and lifting the pin together. --- platformio.ini | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/platformio.ini b/platformio.ini index 2cbf3a0..c3fdbd8 100644 --- a/platformio.ini +++ b/platformio.ini @@ -280,9 +280,18 @@ lib_ignore = ; The GUI toolkit, this board only: the mono boards keep their page stack and ; never build it. lv_conf.h lives in src/ui/lvgl and reaches the library via ; LV_CONF_INCLUDE_SIMPLE plus the include path. +; +; Pinned to the 9.5 line (~, not ^) on all three LVGL boards. The fonts in +; src/ui/lvgl/fonts are lv_font_conv output written against 9.5's lv_font_t, +; and 9.6.0 (2026-09-16) changed that struct (it gained cap_height and +; x_height): every font file then fails with "designator order for field +; '_lv_font_t::dsc' does not match declaration order". A caret range let any +; fresh resolve — CI included — take 9.6.0 and +; break these builds with nothing in the repository changed. Moving to 9.6 is +; regenerating the fonts and lifting this pin together. lib_deps = ${env.lib_deps} - lvgl/lvgl @ ^9.5.0 + lvgl/lvgl @ ~9.5.0 build_flags = ${env.build_flags} ${esp32s3_psram.build_flags} @@ -403,9 +412,10 @@ board_build.partitions = partitions/ota_16mb.csv ; Unlike that board this one *has* a slot, so only the OLED driver goes. lib_ignore = Adafruit SSD1306 +; LVGL is pinned to the 9.5 line for the fonts' sake: see [env:heltec-v4]. lib_deps = ${env.lib_deps} - lvgl/lvgl @ ^9.5.0 + lvgl/lvgl @ ~9.5.0 build_flags = ${env.build_flags} ${esp32s3_psram.build_flags} @@ -469,7 +479,8 @@ lib_deps = Crypto=https://github.com/attermann/Crypto.git microStore=https://github.com/dobrevit/microStore.git#retimesh/combined hideakitai/MsgPack @ ^0.4.2 - lvgl/lvgl @ ^9.5.0 + ; LVGL pinned to 9.5 for the fonts' sake: see [env:heltec-v4] + lvgl/lvgl @ ~9.5.0 build_flags = ${env.build_flags} ${esp32s3_psram.build_flags}