Black screen if performance/memory monitor not enabled

I have a weird problem that might be easy to solve, but I haven’t been able to figure it out.

I have ESP32S3 with 480x272 pixel display (forgot the model) running LVGL v8.3. Anyway everything seems to work fine if I have performance/memory monitor enabled from LVGL configuration, but I noticed that if I disable them the screen stays black.

Do I need to manually call something to refresh the screen? I have lv_meter being updated 10 times a second, but still screen is black if i disable performance/memory monitor.

1 Like


can you attach or show the configuration file?

Here is sdkconfig. Hopefully it’s the correct configuration. I’m using esp-idf v5.1.1

sdkconfig.txt (48.3 KB)

I don’t see anything weird, the first step I would take is enabling logging, maybe we can see an error or warning message there.

I figured it out. I had the lv_timer_handler running in separate task and then I had other ui related stuff done in another task and I failed to realize that lvgl is not threadsafe ie. I have to do everything in one task or use mutex so when lv_timer_handler is called no other ui calls are done.

I moved everything in one task and it seems now that screen is working ok without performance monitor enabled.