Seeking testers for wlroots-git atomic modesetting tearing: Basically, you need a 6.9.x kernel or newer, and maybe also wlroots-git and labwc-wlroots-018-git, both from the Arch User Repository. You'll also be testing whether or not it functions better or worse with the following Merge Request:
https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4746
Basically, I've found that the whole atomic modesetting tearing functionality merged into wlroots-git is completely broken, due to how the kernel functions and limits the use of async commits.
I made a change to make it function, but it doesn't necessarily function 100% of what a user who wants tearing would expect. Basically, it sees the commit failures, and re-sends the commit immediately, as a synchronized commit, to allow the property changes that the kernel is blocking on.
This is likely because I have hardware cursors enabled, because the thing that the kernel blocks on every time, is changes of the framebuffer of the hardware cursor planes, which apparently must be synchronized.
My workaround tries again on failure, synchronized. Further commits without any cursor bitmap changes, or just flipping the primary plane, should be asynchronous proper.
I've been told this isn't the correct approach. Perhaps it needs a different one, at the compositor level. Or perhaps a way for the library to notify the compositor that it synchronized a commit because async failed. Whatever everyone can agree on.
Either way, I'm sticking with this hack in my personal use until a proper solution can be reached. I'm looking for someone, anyone, to test these things and make sure they work. Apparently it's not enough to expect the wlroots developers to test the results of the original async commit patch for atomic modesetting, as they would have found it completely broken at the outset.
#wlroots #wine #proton #gametesting #labwc