Greenfield is a Wayland compositor running entirely in your browser. No plugins or black magic required. This talk will go into the conception, exploration and struggles of making this possible. The result is a product far from finished, but already capable of running existing Wayland applications directly in your browser.
Greenfield is a in-browser Wayland compositor capable of running existing Wayland applications in the browser. This is made possible by leveraging a large amount existing HTML5 apis.
Greenfield is different from existing solutions like VNC or RDP in that it does not stream a final server side generated image to a remote. Instead Greenfield live encodes each individual application to h264 frames using gstreamer. After encoding, frames are send to the browser using a dedicated WebRTC datachannel. On reception, the h264 frames are decoded using a WebAsembly h264 decoder running in a WebWorker while WebGL is used to do color conversion from YUV+A to RGBA. The end result are applications who's content is drawn in their own HTML5 canvas. As a consequence, the entire screen you see in the browser is actually composed of nothing more than ordinary browser DOM elements. All of this is done while adhering to the Wayland mantra 'Every frame is perfect'.