We are implementing a UI using LVGL under Linux, writing the pixels directly to a framebuffer device /dev/fb0 (without Wayland or X). In order to be able to use the UI remotely, we are using framebuffer-vncserver which is based on the libvncserver library.
framebuffer-vncserver implements a very simple algorithm to minimise the pixel data to be transferred to the remote. Changes to the pixels are searched for row by row or column by column while the upper left or lower right corner of a ’dirty rect’ is defined (line 328ff). Only the pixels within this dirty rect area are then transferred to the remote display (line 590ff).
This algorithm could be significantly optimised in terms of performance if the changes did
not have to be searched for pixel by pixel on the framebuffer, but if it were possible to
get the dirty rect direclty from LVGL.
So my question is: Is it possible to get the latest dirty rect (or better a list of dirty rects) of the recent updates directly from LVGL?