For fellow compositor devs - be it for #wayland, in a toolkit or an app - that consider or already have implemented support for GPU resets recovery in GL: I just landed support for "manual" or "faked" GPU resets in Mesa/llvmpipe, shipping in 26.1.

That should make it much easier to test your recovery code locally or on CI, which previously was only possible with certain DRM drivers AFAIK.

If you're interested here's the MR with more explanation:
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40681

llvmpipe: Implement manual context resets (!40681) · Merge requests · Mesa / mesa · GitLab

Make it possible to trigger a emulated GPU reset by creating a file at the path of the LP_CONTEXT_RESET_FILE env var. All llvmpipe contexts using the

GitLab

I didn't implement the same for lavapipe (Vulkan) as things work a little bit different there - but if there's interest it shouldn't be hard to make that happen as well.

On that note: as of the just released Mesa 26.0.4 lavapipe support for YCbCr formats should be in decent shape, for everyone needing to handle video playback in Vulkan.