Xlibe bringt mehr Linux Programme auf Haiku

Mo, 20. Dezember 2021, Niklas

Es gab bereits mehrere Versuche, die bei Linux stark verbreitete GTK Bibliothek auf Haiku zu bringen, die unter anderem für beliebte Programme wie Firefox, GIMP und Inkscape gebraucht wird. Einmal gab es einen X11 Client im Browser, der ein nativ laufendes GTK anzeigen konnte. Dieser Ansatz war denkbar unpraktikabel und wurde nicht weiter verfolgt.

Der nächste Ansatz wurde schon in richtigen Fenstern dargestellt. Es sah auf Screenshots bereits weit fortgeschritten aus, aber viele Funktionen waren noch nicht implementiert, sodass es kaum nutzbar war. Native Fenster und natives Rendering wurden in den Broadway Backend Code eingefügt. Um es wirklich vollständig nutzbar zu machen, hätte man ein natives GDK Backend erstellen müssen, wofür man mehr als 1 MB an Quellcode hätte schreiben müssen.

Vor wenigen Wochen wurde der nächste Versuch gestartet. Dieses Mal soll eine Kompatibilitätsschicht für die X11 Bibliothek Xlib entstehen. Wenn diese den grössten Teil der Xlib Funktionen unterstützt, kann GTK ohne grössere Anpassungen auf Haiku genutzt werden. Andere GUI Frameworks, die die X11 API nutzen, können davon ebenfalls profitieren.

GTK kann bereits erfolgreich kompiliert werden und zeigt Fenster an. Die Programme sehen allerdings noch ziemlich kaputt aus (siehe Screenshot oben) und sind nicht wirklich nutzbar. Bei Tastendrücken stürzt es ab, bei Mausklicks bleibt es hängen, nur wenn man mit der Maus über Buttons fährt, kann man tatsächlich einen funktionierenden Effekt erkennen.

Wie man sieht, ist noch sehr viel Arbeit zu tun, bis aufwändige GTK Programme auf Haiku genutzt werden können und wahrscheinlich wird es niemals so gut integriert sein, wie Qt. Aber die Tatsache, dass Haikus bezahlter Vollzeitentwickler an der Portierung arbeitet, macht es sehr wahrscheinlich, dass der GTK Port dieses Mal erfolgreich sein wird und vielleicht schon innerhalb weniger Wochen für kleinere, unkomplizierte Programme taugt.

Einige andere Programme und Bibliotheken, die ebenfalls die X11 APIs und damit Xlibe nutzen, sind schon deutlich weiter. Das Zeichenprogramm AzPainter, das komplett ohne GUI Bibliothek auskommt, sondern direkt die X11 APIs nutzt, ist schon weitestgehend nutzbar. Es unterstützt keine Touch-Eingaben und die Sidebars lassen sich nicht in eigene Fenster verschieben, ansonsten funktioniert es vollständig.

Im Haiku Forum gibt es noch weitere Beispiele, was mit Xlibe genutzt werden kann und wie gut es schon funktioniert. Ausserdem gibt es ausführliche Erklärungen, weshalb man sich für die X11 APIs entschieden hat, anstatt beispielsweise Wayland.

Quellen: