lvgl / lv_drivers

TFT and touch pad drivers for LVGL embedded GUI library
https://docs.lvgl.io/master/porting/index.html
MIT License
291 stars 310 forks source link

feature(wayland): add double buffering #253

Open WallaceIT opened 1 year ago

WallaceIT commented 1 year ago

Add double buffering to Wayland driver: one buffer is updated while another one is being displayed.

This doubles the memory requirement, but lowers the possibility to encounter a busy buffer when LVGL core is ready to draw.

Signed-off-by: Francesco Valla valla.francesco@gmail.com

WallaceIT commented 1 year ago

Please note that the MR is marked as draft because it is still, in fact, a draft: some of the logic for a proper double buffering is still lacking. Moreover, the entire work will probably be converted to a direct_mode implementation for better performance (no data copy).

WallaceIT commented 1 year ago

Added carry-over of previous buffer damages, proper double-buffering logic should be in place now.

HR1025 commented 1 year ago

And the problem https://github.com/lvgl/lv_drivers/pull/242 still exist. (I haven't found the reason so far.)

you can use weston --use-pixman to test on you machine. Thanks @WallaceIT

HR1025 commented 1 year ago

Recently, I was studying the implementation of weston-terminal. It need some time. I think we can find a good solution from it. The code is located in weston/clients/terminal.c in weston

stale[bot] commented 1 year ago

This issue or pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.