Bad font rendering when using VGLITE

I am trying to apply VGLITE to my code, based on LVGL on IMXRT1176. I am using LVGL 9.3 with update VGLITE drivers from NXP SDK 24.12.00

When I set:

#define LV_USE_DRAW_SW 1
#define LV_USE_DRAW_VGLITE 0

the rendering of rectangles, images and fonts is fine.

When I enable VGLITE:
#define LV_USE_DRAW_SW 0
#define LV_USE_DRAW_VGLITE 1

the letters are destroyed while rectangles and bitmaps are still fine. Text appears as a sort of alien fonts, even if in some of the frames these are correctly rendered.
The artifacts changes as the image is refreshed and sometimes the text is even correctly rendered.
It happen even with a very simple code as below.

#include <lvgl_support.h>
#include "FreeRTOS.h"
#include "task.h"
#include "epr_config.h"
#include "fsl_debug_console.h"
#include "fsl_cache.h"
#include "pin_mux.h"
#include "board.h"
#include "lvgl.h"
#include "PNGdec.h"
#include "lvgl_demo_utils.h"
#include "fsl_soc_src.h"

#if DEMO_MODE == DEMO_SIMPLE1

#define CNT_INIT 100

static volatile bool s_lvgl_initialized = false;

void lv_example_get_started_1(void);
static void LVGLTask(void *param);

int main(void)
{
    BaseType_t stat;

    /* Init board hardware. */
    BOARD_ConfigMPU();
    BOARD_BootClockRUN();

    /*
     * Reset the displaymix, otherwise during debugging, the
     * debugger may not reset the display, then the behavior
     * is not right.
     */
    SRC_AssertSliceSoftwareReset(SRC, kSRC_DisplaySlice);

    BOARD_InitLpuartPins();
    BOARD_InitMipiPanelPins();
    BOARD_InitI2CTouchPins();
    BOARD_InitRGBPanelPins();
    BOARD_MIPIPanelTouch_I2C_Init();
    BOARD_RGBPanelTouch_I2C_Init();
    BOARD_InitDebugConsole();

    PRINTF("hello world.\r\n");

    stat = xTaskCreate(LVGLTask, "lvgl", configMINIMAL_STACK_SIZE + 800,NULL, tskIDLE_PRIORITY + 2, NULL);
    if (pdPASS != stat)
    {
        PRINTF("Failed to create lvgl task");
        while (1);
    }

    vTaskStartScheduler();

    for (;;)
    {
    } /* should never get here */
}

static void LVGLTask(void *param)
{

    lv_init();
    lv_port_disp_init();
    lv_port_indev_init();

    static int cnt = CNT_INIT;

#if LV_USE_LOG
    lv_log_register_print_cb(print_cb);
#endif

    LV_LOG("lvgl benchmark demo started\r\n");

    s_lvgl_initialized = true;

    lv_example_get_started_1();

    for (;;)
    {
        vTaskDelay(lv_timer_handler());

        if (cnt)
        {
        	cnt--;
        }
        else
        {
        	//refresh
        	lv_example_get_started_1();
        	cnt = CNT_INIT;
        }
    }
}


/**
 * Basic example to create a "Hello world" label
 */
void lv_example_get_started_1(void)
{
    /*Change the active screen's background color*/
    lv_obj_set_style_bg_color(lv_screen_active(), lv_color_hex(0x003a57), LV_PART_MAIN);

    /*Create a white label, set its text and align it to the center*/
    lv_obj_t * label = lv_label_create(lv_screen_active());
    lv_label_set_text(label, "Hello world");
    lv_obj_set_style_text_color(lv_screen_active(), lv_color_hex(0xffffff), LV_PART_MAIN);
    lv_obj_align(label, LV_ALIGN_CENTER, 0, 0);
}



/*!
 * @brief Malloc failed hook.
 */
void vApplicationMallocFailedHook(void)
{
    PRINTF("Malloc failed. Increase the heap size.");

    for (;;)
        ;
}

/*!
 * @brief FreeRTOS tick hook.
 */
void vApplicationTickHook(void)
{
    if (s_lvgl_initialized)
    {
        lv_tick_inc(1);
    }
}

/*!
 * @brief Stack overflow hook.
 */
void vApplicationStackOverflowHook(TaskHandle_t xTask, char *pcTaskName)
{
    (void)pcTaskName;
    (void)xTask;

    for (;;)
        ;
}
#endif //DEMO_SIMPLE1

The result is:

Until now I have not found any possible cause. Any idea/suggestion?