LVGL library downgrade to 7.6.1

The output of the display appear greenish after I downgrade LVGL to v7.6.1.

What MCU/Processor/Board and compiler are you using?

STM32L476ZGT6 / STM32L476G-EVAL / STM32CubeIDE

What LVGL version are you using?
LVGL v7.6.1

What do you want to achieve?

I want to use LVGL library 7.6.1 and found that the output of the display appear greenish(see attached). Because the project I am working on require Zephyr OS which only support LVGL 7.6.1.

What have you tried so far?

I was using LVGL v8.0.1 on my project and an example of 2 buttons can be displayed correctly on my display. So the hardware is working correctly.

Code to reproduce
static void event_handler(lv_obj_t * obj, lv_event_t event)
if(event == LV_EVENT_CLICKED) {
else if(event == LV_EVENT_VALUE_CHANGED) {

void lv_ex_btn_1(void)
lv_obj_t * label;

lv_obj_t * btn1 = lv_btn_create(lv_scr_act(), NULL);
lv_obj_set_event_cb(btn1, event_handler);
lv_obj_align(btn1, NULL, LV_ALIGN_CENTER, 0, -40);

label = lv_label_create(btn1, NULL);
lv_label_set_text(label, "Button");

lv_obj_t * btn2 = lv_btn_create(lv_scr_act(), NULL);
lv_obj_set_event_cb(btn2, event_handler);
lv_obj_align(btn2, NULL, LV_ALIGN_CENTER, 0, 40);
lv_btn_set_checkable(btn2, true);
lv_btn_set_fit2(btn2, LV_FIT_NONE, LV_FIT_TIGHT);

label = lv_label_create(btn2, NULL);
lv_label_set_text(label, "Toggled");

Screenshot and/or video

It seems like a drive configuration issue. Probably 24bit instead of 16 bit.

I suggest trying to draw a red or green or blue rectangle on the display without LVGL.

I found the root cause of this problem. After I draw a white rectangle on the display without LVGL, I still see a greenish color.