Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feature(wayland): add double buffering #253

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

WallaceIT
Copy link
Contributor

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 [email protected]

@WallaceIT
Copy link
Contributor Author

WallaceIT commented Nov 12, 2022

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 WallaceIT force-pushed the wayland_double_buffering branch from b0a389a to c28ac18 Compare November 13, 2022 21:42
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 <[email protected]>
@WallaceIT WallaceIT force-pushed the wayland_double_buffering branch from c28ac18 to ad62fc8 Compare November 13, 2022 21:54
@WallaceIT
Copy link
Contributor Author

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

@HR1025
Copy link
Contributor

HR1025 commented Nov 15, 2022

And the problem #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
Copy link
Contributor

HR1025 commented Nov 15, 2022

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
Copy link

stale bot commented Apr 20, 2023

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants