LVGL port feature updates#778
Conversation
Test Results37 tests 37 ✅ 1m 40s ⏱️ Results for commit 7d01150. ♻️ This comment has been updated with latest results. |
ea8c8d6 to
d88adb3
Compare
d88adb3 to
8e393ff
Compare
|
@PetrESP I decided to release this withou cmake v2 changes, because we are waiting for some fixes in cmake v2. |
8e393ff to
7d01150
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 7d01150. Configure here.
| "Swap bytes can be used only in display color format RGB565!"); | ||
| ESP_RETURN_ON_FALSE(display_color_format == LV_COLOR_FORMAT_RGB565 | ||
| || display_color_format == LV_COLOR_FORMAT_RGB565_SWAPPED, | ||
| NULL, TAG, "Swap bytes can be used only in display color format RGB565!"); |
There was a problem hiding this comment.
Validation allows double byte-swapping with RGB565_SWAPPED
Medium Severity
The swap_bytes validation now accepts LV_COLOR_FORMAT_RGB565_SWAPPED in addition to LV_COLOR_FORMAT_RGB565. However, the flush callback at line 732 unconditionally calls lv_draw_sw_rgb565_swap() when swap_bytes is true. Since RGB565_SWAPPED already renders with swapped bytes at the LVGL level, enabling swap_bytes on top of it would double-swap the bytes, resulting in incorrect (un-swapped) output and wrong colors on the display. The old validation correctly rejected this combination by only allowing plain RGB565 with swap_bytes.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit 7d01150. Configure here.


ESP-BSP Pull Request checklist
Description
Note
Medium Risk
Updates low-level display flush callback registration and ISR behavior (including IRAM-safety and internal-RAM allocations), which can impact rendering stability across targets/IDF versions. Changes are hardware-specific but touch core LVGL display integration for both LVGL8 and LVGL9.
Overview
Bumps
esp_lvgl_portto2.8.0and broadens RGB/MIPI-DSI enablement from target-specific checks toSOC_*capability checks, improving portability across chips/IDF versions.Makes RGB panel vsync/bounce callbacks compatible with
CONFIG_LCD_RGB_ISR_IRAM_SAFEby moving the callback to IRAM, passingdisp_ctxdirectly asuser_ctx, and allocating the display context from internal RAM when required; also threadsdisp_typethrough private config so avoid-tearing can select the correct frame-buffer API for RGB vs DSI.Extends LVGL9 display setup to accept
LV_COLOR_FORMAT_RGB565_SWAPPED(and relaxes swap-bytes/DMA validation accordingly), and refreshes theexamples/rgb_lcdapp to support ESP32P4 (24-bit RGB888 pinout + defaults) while gating CI build/test rules toesp32s3/esp32p4.Reviewed by Cursor Bugbot for commit 7d01150. Bugbot is set up for automated code reviews on this repo. Configure here.