How to make the background screen of OSD transparent?

Description

I want to create an OSD using LVGL and need to make the screen transparent.
My OSD runs well in opaque situations.
If transparency is set, an exception will occur.

If set as follows:

#define LV_COLOR_DEPTH 32
#define LV_COLOR_SCREEN_TRANSP 1

lv_obj_set_style_bg_opa(lv_scr_act(), LV_OPA_TRANSP, LV_PART_MAIN);
lv_disp_set_bg_opa(NULL, LV_OPA_TRANSP);

The abnormal situation will result in the entire screen being blurred.

If set as follows:
#define LV_COLOR_DEPTH 32
#define LV_COLOR_SCREEN_TRANSP 1

lv_obj_set_style_bg_opa(lv_scr_act(), LV_OPA_TRANSP, LV_PART_MAIN);
lv_disp_set_bg_opa(NULL, LV_OPA_TRANSP);
lv_disp_get_default()->driver->screen_transp = 1;

The abnormal situation will be that the OSD is completely off display and can not see anything on OSD.

May I ask if there are any other methods I can try?

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

What LVGL version are you using?

lvgl v8.3

What do you want to achieve?

make the screen transparent

What have you tried so far?

Code to reproduce

Add a code snippet which can run in the simulator. It should contain only the relevant code that compiles without errors when separated from your main code base.

The code block(s) should be formatted like:

/*You code here*/

Screenshot and/or video

If possible, add screenshots and/or videos about the current state.