What do you want to achieve?
I have an application based on LVGL 8, which I want to migrate to LVGL 9 on a very constraint system.
As images, I use LV_IMG_CF_ALPHA_2BIT, which represent simple icons, which get recolored. To my understanding would now be LV_COLOR_FORMAT_A2. However I’m uncertain about the support for this and seek aid for what the correct way of migrating is.
The code explicitly states that for my GPU-less system this is not supported:
/*Formats not supported by software renderer but kept here so GPU can use it*/
LV_COLOR_FORMAT_A1 = 0x0B,
LV_COLOR_FORMAT_A2 = 0x0C,
LV_COLOR_FORMAT_A4 = 0x0D,
LV_COLOR_FORMAT_ARGB1555 = 0x16,
LV_COLOR_FORMAT_ARGB4444 = 0x17,
LV_COLOR_FORMAT_ARGB2222 = 0X18,
as well as Development version for v9 · Issue #32 · lvgl/lv_img_conv · GitHub :
Alpha 1, 2 and 4 are removed
And the image generator online does not support this, LVGLImage.py however does.
I have seen it work (I unfortunately get weird/undefined behavior to what and if something is actually rendered), but I also have seen a massive spike in memory usage, and the need to pull in support for ARGB8888.
I’m probably just doing something rather stupid here, and definitively not yet familiar enough with LVGL, but maybe someone can help here with some pointers to migrate to LVGL 9 while keeping resources low.
What have you tried so far?
- Applied Changelog — LVGL documentation
- Moved to LVGLImage.py for generating
- Read Images (lv_image) - LVGL 9.3 documentation
Environment
- MCU/MPU/Board: nrf52840
- LVGL version: 9.3.0
- OS: Zephyr RTOS
- Display: st7789v (RGB565)
- RAM: Pretty exhausted already
- FLASH: Getting uncomfortable tight as well