I am using SoM-6ULL module with standard display (TFT800x480) connected through 24 bit RGB connector. The problem is shown on picture.
I run ready to use demo project, configured for linux frame buffer.
Also I know that problem is not in hardware, because I played videos through GStreamer, and console displays normal too.
I use rootfs version of Debian, also tried desktop version and it works in same way with LittlevGL.
Where could be the problem?
Most probably it’s because your framebuffer has RGB888 (24 bit) color format but LittlevGL works with ARGB8888 (32 bit) color format.
In fbdev_flush
I suggest repacking color_p
to skip the alpha channel.
How could it be done?
I forgot to mention, that on start ./demo prints 800x480 16bpp. I also tried to manually change it to 32 and 8 in fbdev.c, but on screen were no changes
I solve the problem with this command:
echo 24 > /sys/class/graphics/fb0/bits_per_pixel
1 Like
FYI, if the frame buffer has 16 bit color depth (can can’t change it) you can set LV_COLOR_DEPTH 16
in lv_conf.h