Jason Ekstrand - Wayland fullscreen shell and some ideas about compositor nesting

While the Wayland protocol allows developers to write compositors that run much closer to the hardware. However, running directly on KMS means that somethings that were previously done by X or auxiliary clients now have to be implemented in the compositor.

One such capability is that of screen sharing/recording. On X, this is done by the client grabbing the screen contents and (in the case of screen sharing) faking input events. Since neither of these is possible in the Wayland world, we need another solution. One solution would be to implement these capabilities in the compositor. However, that would require Weston, mutter, and KWin to each implement VNC, RDP, and whatever other protocols their user wanted. The solution I will present makes use of compositor nesting to allow compositors to punt the problem of talking protocols and doing video compression to an external process using the Wayland protocol.

Slides Video