Rio: Erstes Terminal mit WebGPU in Entwicklung

Terminals mit GPU-Support sind angesagt – und jetzt geht mit Rio das erste Projekt auf Basis von WebGPU und Rust an den Start.

In Pocket speichern vorlesen Druckansicht 19 Kommentare lesen

(Bild: Raphael Amorim/ GitHub)

Lesezeit: 3 Min.

Der erste Terminal-Emulator auf Basis von WebGPU: Die Kombination von GPU und Kommandozeile liegt im Trend – und so geht unter dem Namen Rio Term jetzt auch ein Projekt an den Start, das erstmals auf WebGPU beziehungsweise WGPU setzt und wie viele angesagte Tools derzeit in Rust entwickelt wird. Ziel der Anwendung ist es, so schnell wie die Konkurrenz zu sein, aber effizienter mit den Rechenressourcen umzugehen.

Mit Alacritty, Kitty und WezTerm gibt es schon mehrere beliebte Terminal-Emulatoren mit GPU-Support. Warum startet jetzt also noch ein Projekt? Die Kombination aus Performance und einfacher Portierbarkeit dank WebGPU wäre in den Augen der Entwickler ein entscheidender Faktor – und selbst einer Browser-Version samt GPU-Zugriff steht nichts im Wege.

Zurzeit ist das Terminal aber noch in der ganz frĂĽhen Entwicklung: Nur eine Unstable-Version fĂĽr macOS steht zum Download bereit; die Roadmap deutet darauf hin, dass die erst einmal stabil werden soll, bevor das Terminal dann dank WebAssembly im Browser genutzt werden kann.

Zum Hintergrund: Wenn man den Browser als Plattform für grafische (Echtzeit-)Anwendungen und lokale KI-Modelle wie Web LLM nutzen möchte, kommt man üblicherweise nicht darum herum, die Grafikkarte als Rechenbeschleuniger zuzuschalten. Eigens für diese Inanspruchnahme der GPU im Browser hat das W3C die Spezifikation WebGPU entwickelt. Damit können Grafiker in einer Entwicklungsumgebung wie Node.js klassischerweise 3D-Anwendungen rendern. Alles, was es dazu braucht, ist ein HTML-Canvas und ein WebGPU Context, der auf einen vorher eingestellten GPU-Adapter und -Device zugreift. Für die entsprechende Shader kommt dann die WebGPU Shading Language (WGSL) zum Einsatz. Dank TensorFlow beschränkt sich der Einsatz von WebGPU mittlerweile aber nicht mehr nur auf grafische Anwendungen, sondern wird auch für das rechenintensive Machine Learning relevant.

Der Standard ist zukunftsträchtig, arbeitet mit modernen Grafik-APIs wie Vulkan und Metal und soll mittelfristig den bisherigen Grafikstandard WebGL ablösen – Chrome und Edge unterstützen die Spezifikation daher auch in ihren neusten Versionen. Firefox hat mit WGPU schon seit Längerem eine mit Rust geschriebene Implementierung.

Schon kurz nach der ersten Ankündigung nimmt Rio auf GitHub Fahrt auf: Innerhalb weniger Tage konnte das Projekt knapp 1000 Sterne einsammeln und eine kleine Gruppe Entwickler hinter sich versammeln. Zum Start handelt es sich um eine reine Mac-Desktopanwendung, die Browser-Version ist jedoch fest eingeplant. Ferner benutzt Rio Sugarloaf als Rendering Engine – eine naheliegende Wahl, denn hinter beiden Projekten steckt derselbe Entwickler.

Generell soll der Terminal-Emulator mit den Ressourcen sparsam umgehen: Linien, die nicht aktualisiert werden, soll er auch nicht neu zeichnen (Redux state machine). Ferner setzt er die effiziente WGPU-Implementierung ein und bedient sich der Speichervorteile, die mit der Rust-Basis einhergehen. Einen sich groĂźen Teil seiner Funktionen borgt er sich dabei von Alacritty, dem plattformĂĽbergreifenden Terminal-Emulator fĂĽr OpenGL.

Desktopanwendungen fĂĽr Linux und Windows sind ebenfalls geplant, liegen aber erst einmal in weiter Ferne. Das freie Projekt ist allerdings auch noch sehr jung, Interessierte finden es auf GitHub.

(kki)