Hi,
Direct mod works the best if you have a single frame buffer and you need to send the whole buffer (or a part of it) to the display, where display is a complex system buffering and managing the new frames/image.
A typical use case is when SDL updates the texture of a window, SDL and the video card will manage how and when to update the image on the screen so LVGL can draw directly into that texture.
And other use case is to reproduce the rendering mechanism of LVGL v7 as described here. It turned out the v7-like double buffered rendering worked better for some people, so I’m open to add options to LVGL to make it easier to achieve in v8 too.