Owen Taylor has a frame synchronization protocol for compositing managers: https://fishsoup.net/misc/wm-spec-synchronization.html.
It is currently only supported by Mutter and cannot be found outside his blog. Present does not quite work for this purpose, as the "present redirection" code was never finalized. Is anyone interested in releasing a new version of the wm-spec with the frame synchronization protocol? I'd be more comfortable writing code to use it, and maybe implementing it in more compositors, if it was specified in the actual wm-spec. Thanks.