HTML5 Wayland compositor :seedling:
Latest development snapshot: https://greenfield-preview.web.app/
Greenfield is a Wayland compositor written entirely in TypeScript while utilizing WebAssembly and WebGL for the performance critical parts. It can run native Wayland applications remotely, or it can run Wayland web applications directly in your browser.
Greenfield consists of 3 separate parts. - Westfield A Wayland protocol implementation. - Greenfield Compositor Module A bare bones Wayland compositor library. - Greenfield Web Shell An extensive implementation of the Greenfield Compositor Module.
git clone https://github.com/udevbe/greenfield.git
This will start 3 containers. - An app-endpoint-server, has the gtk3-demo-application as launchable application. - A dummy X server, required by the gstreamer encoder from the app-endpoint-server to run OpengGL commands. Not used for anything else. - An nginx server, has ssl termination and uses a self-signed localhost certificate so a secure websocket connection can be set up.
Your browser will, by default, reject the secure websocket connection as it uses a self-signed certificate. You can however force your browser to accept the certificate. - In Firefox, go to https://localhost and simply follow the dialogue and accept the certificate. You should now get a
502 bad gatewaywhich means your browser can communicate. This is fine as the app-endpoint-server only handles websocket requests, hence you get a
5xx error. Simply close the tab, the certificate has now been permanently accepted. - In Chrome there is no dialogue button. Go to
Allow invalid certificates for resources loaded from localhost.
Go to https://greenfield-preview.web.app and click the top right raster icon. Go to the web store and add the remote-gtk3-demo.
First User Shell implementation (April 2019)
Fosdem presentation + demo (2 Feb 2019):
Early tech preview demo (23 Nov 2017):