Need help with greenfield?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

263 Stars 11 Forks GNU Affero General Public License v3.0 1.0K Commits 7 Opened issues


HTML5 Wayland compositor :seedling:

Services available


Need anything else?

Contributors list


The in-browser wayland compositor Build Status

Latest development snapshot:

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.

For more information, visit the documentation or have a look on the website.

Modular Compositor

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.

Quick Demo

  • git clone
  • cd greenfield/environments/local
  • docker-compose up

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 gateway
which 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
and enable
Allow invalid certificates for resources loaded from localhost.

Go to 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):

Fosdem presentation + demo

Early tech preview demo (23 Nov 2017):

Early tech preview demo

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.