gamescope icon indicating copy to clipboard operation
gamescope copied to clipboard

Add support for commit-timing-v1

Open sergio-gdr opened this issue 1 year ago • 2 comments

In the same spirit as !1026 , this is the WIP to add support for using wlroots' implementation of the commit-timing-v1 protocol.

wlroots implementation: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4617 protocol proposal: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/248

sergio-gdr avatar Mar 22 '24 20:03 sergio-gdr

My initial thoughts on this are fear as we have never used these wlroots internals. We are not using a lot of these things, and rolling a lot of our own stuff.

I would really hope wlroots is not holding back commits from us internally based on commit_queue and commit_timing. That would not really play well with our design and how we wait on commits.

It might appear to work, but would probably have some fundamental problems with how our image waiter stuff works and result in weird swapchain starvation.

misyltoad avatar Mar 22 '24 20:03 misyltoad

FTR, we already basically have our own version of commit timing implemented which is using the gamescope-swapchain protocol. I would feel much safer if we just hooked up commit_timing to use that.

See desiredPresentTime. The main caveat there is that is no earlier than rather than nearest, but that's probably simple enough to resolve.

misyltoad avatar Mar 22 '24 20:03 misyltoad