Bei Greenfield handelt es sich um einen Wayland-Compositor der im Browser läuft. Das ermöglicht es Wayland fähige Applicationen direkt im Browser anzuzeigen.

Compositor Struktur

Das Testumfeld bestand aus einer ARM Ubuntu VM unter macOS wie in der obigen Grafik gezeigt. In der Ubuntu VM wird zunächst das Compositor Module gestartet. Falls schon ein Wayland Compositor unter Ubuntu läuft wird dieser einen zweiten Socket öffnen. Das heißt Programme die dann gestartet werden müssen bei der WAYLAND_DISPLAY Enviroment Variable wayland-1 gesetzt haben ( Standard wäre wayland-0 ). Alternativ kann vorher das XDG_RUNTIME_DIR geändert werden.

Als nächstes muss der Compositor Proxy gestartet werden. Allerdings muss davor, falls wir den Compositor Proxy nicht auch unter Ubuntu aufrufen wollen noch die IP-Adresse der Ubuntu VM eingestellt werden. Dafür muss der proxyHost auf die IP-Adresse der VM geändert werden.

Dies lässt sich in der Datei compositor-module/demo-compositor/src/index.ts ändern. (Standard ist hier localhost)

Im Anschluss kann auch der Compositor Proxy gestartet werden.

Im Browser unter Mac kann nun mit der IP-Adresse mit Port 8080 auf den Compositor zugegriffen werden.

Im Compositor Proxy muss eine Verbindung mi dem Compositor Module gestartet werden.

Compositor Struktur

Im Anschluss kann eine Wayland Application unter Ubuntu gestartet werden und wird dann im Browser unter macOS sichtbar und lässt sich auch bedienen. Für dieses Beispiel habe ich eine einfaches HelloWorld in Qt/QMl programmiert und mit -platform wayland gestartet.

Compositor Struktur

Was bis jetzt noch nicht funktoniert, ist das neustarten der Wayland Application nach dem Beenden. Dafür musste ich bis jetzt immer auch den Compositor neustarten. Aber die Idee für dieses Projekt und was es jetzt schon kann ist ziemlich cool!

Wer das ganze auch mal testen will, findet den Source-Code unter: Github Greenfield Lizenz: AGPL-3.0

Offizielle Webseite: Greenfield.app