Issue with background image rendering in LVGL 8.2.0 with LV_COLOR_DEPTH = 32

I use lv_disp_set_bg_image to set a background image when LV_COLOR_DEPTH = 32 and this image displays incorrectly. Only part of the image is drawn as a repeating tile down the screen, showing the same part of the image, with the height of the tile being the same as the number of lines set for disp_buf

This used to work fine and render the full image in earlier 8.x versions, but I cannot recall which was the last version. Unable to recreate in CodeBlocks simulator on Windows because I can’t figure out how/where to set a partial screen buffer :slight_smile: With a full screen buffer in CodeBlocks, it renders correctly.


I’ve just pushed a fix. :slight_smile:

Thanks, just tested and it works perfectly!

I have similar issue but thought that is some sort of HW issue with ESP32+Ili9341 LCD and Arduino.
I have exported project from SquareLine Studio and if I set color depth to 32, output looks like this.

Screen should look like this and it is OK with 16bit depth.

I change content of the lv_refr.c from this commit but without change. Should I change something else as well?

@egonbeermat did you have similar issue or my one is complitely different? Thanks

I´m using Arduino IDE 1.8.19, with ESP32 support version 2.0.2 and LVGL 8.2 from Library manager.

If you change the color depth in SLS, you ned to change it in the ILI9341 driver and LVGL (lv_conf.h, LV_COLOR_DEPTH) too.

Ok, problem is then in TFT_eSPI library which support just 16 bit color depth.