Tricky part here is how to indicate to EGL on the server side that it should make an EGLImage available to a client. We'll need a "create a wl_buffer for this EGLImage for this client" kind of entry point.
*** Bug 49003 has been marked as a duplicate of this bug. ***
EGL implementations can already send a wl_surface along to the server, but then we need a way to indicate to gbm that a particular surface is (or isn't) a scanout candidate. gbm can then arbitrate buffer allocations itself. This is quite complex, but with this simple API addition, all hidden inside the implementation: gbm_surface_set_scanout_candidate(struct gbm_surface *surface, bool scanout)
We don't plan to generically duplicate this X11 functionality, though some compositors have been looking at doing it.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.