[Paneflow 0.8.0](https://github.com/arthjean/paneflow/releases/tag/v0.8.0) verwendet jetzt `libghostty-vt` für jede neue Terminal-Session in Standard-Linux-Builds. Mit `terminal.backend` auf `auto` wählen Linux-Builds für x86_64 und ARM64 standardmäßig Ghostty.

Die Migration ändert die Engine, die VT-Daten interpretiert und den Terminalzustand verwaltet, nicht den Workspace darum herum. Paneflow bleibt für PTY, Prozesslebenszyklus, GPUI-Renderer, Panes, Sessions, Agent-Status, Diffs und Persistenz verantwortlich. macOS und Windows verwenden weiterhin Alacritty.

<figure className="my-8 w-full">
  <img
    src="/images/libghostty-linux.webp"
    alt="Ghostty- und Paneflow-App-Symbole nebeneinander in einer blau-lavendelfarbenen Landschaft"
    width={1920}
    height={1080}
    className="h-auto w-full rounded-lg border border-surface-border"
  />
</figure>

## Ghostty kommt auf der Ebene der VT-Engine zu Paneflow

Bis Paneflow 0.7.x basierten Terminal-Sessions auf dem Rust-Crate `alacritty_terminal` 0.26. Diese Engine verarbeitete Escape-Sequenzen, Grid, Scrollback, Eingabemodi, Suche und einen Teil des Rendering-Modells.

Der neue Linux-Pfad verwendet [`libghostty-vt`](https://github.com/ghostty-org/ghostty/blob/ae52f97dcac558735cfa916ea3965f247e5c6e9e/README.md#cross-platform-libghostty-for-embeddable-terminals), Ghosttys einbettbare Terminal-Engine. Sie parst VT-Sequenzen, verwaltet Cursor- und Bildschirmzustand, verarbeitet Grapheme, Zeilenumbruch und Reflow, kodiert Tastatur- und Mauseingaben und stellt der Host-Anwendung einen inkrementellen Renderzustand bereit.

Paneflow bettet weder die Ghostty-App noch ihre GTK-Oberfläche oder ihren Renderer ein. Ghostty liefert den Terminalkern. Paneflow wandelt diesen Zustand in eigene Rust-Snapshots um und zeichnet sie mit dem bestehenden GPUI-Renderer. Produktoberfläche und Multi-Agent-Workflow bleiben damit unter Paneflows Kontrolle.

## Eine Paneflow-Grenze trennt Engine und Produkt

Den Parser zu ersetzen war nur ein Teil der Arbeit. Alacritty-Typen reichten bis in PTY-Schleife, Rendering, Suche, Auswahl, Links, Scrollback-Wiederherstellung und Session-Lebenszyklus. Eine Abhängigkeit ohne vorherige Entkopplung auszutauschen, hätte dasselbe Problem nur in eine neue Engine verschoben.

Paneflow stellt jetzt eine eigene Terminal-Session-Grenze bereit. Alacritty und Ghostty erzeugen dieselben Paneflow-Befehle, Events, Modi, Suchergebnisse und Render-Snapshots. Der Renderer muss nicht mehr wissen, welche Engine eine Zelle erzeugt hat.

Diese Grenze ist der dauerhafte Teil der Migration. Linux kann zuerst umgestellt werden, ohne macOS oder Windows zu verändern. Künftige Engine-Updates zwingen den Rest der Anwendung nicht mehr dazu, deren interne Typen zu übernehmen.

## Die instabile C-API bleibt in einem kleinen Rust-Wrapper

Ghostty bezeichnet `libghostty-vt` als funktional ausgereift, während sich die API-Signaturen weiterhin ändern. Paneflow pinnt deshalb den exakten Ghostty-Commit [`ae52f97d`](https://github.com/ghostty-org/ghostty/tree/ae52f97dcac558735cfa916ea3965f247e5c6e9e), den C-Header, generierte Bindings, die Zig-Version, Build-Konfiguration und Archiv-Prüfsumme.

Die rohe C-ABI ist in einem einzelnen `-sys`-Crate isoliert. Ein zweiter sicherer Wrapper besitzt jeden nativen Handle, validiert API-Version und C-Layouts vor dem Erzeugen eines Terminals, fängt Panics aus Callbacks ab und gibt Ghostty-Allokationen mit dem passenden Allocator frei.

Die Ownership-Regel ist vor allem beim Rendering wichtig. `libghostty-vt` stellt geliehene Zeilen und Zellen bereit, die eine spätere Terminalmutation ungültig machen kann. Paneflow kopiert die benötigten Daten unter dem Terminal-Lock und übergibt GPUI danach einen eigenen Rust-Snapshot. Kein C-Zeiger und kein geliehener Slice überlebt den Lock oder eine Frame-Grenze.

Diese Strategie verursacht mehr Wartungsarbeit als eine ungepinnte Abhängigkeit. Jedes Ghostty-Update erfordert neue und geprüfte Header, Bindings, statische Archive, Prüfsummen, Symbole und Lizenzdaten für beide Linux-Architekturen. Dieser Aufwand bleibt explizit und eingegrenzt, statt zur Laufzeit Unsicherheit zu erzeugen.

## Alacritty bleibt Referenz und Rollback

Das beabsichtigte sichtbare Ergebnis ist Kontinuität. Shells, Coding-Agents, Vollbild-TUIs, Suche, Auswahl, Clipboard, Scrollback, OSC-Events, Größenänderung, Reflow und Prozessende müssen sich nach dem Engine-Wechsel weiterhin wie zuvor verhalten.

Paneflow speist dieselben deterministischen VT-Streams in mehreren Chunk-Größen in Alacritty und Ghostty ein und vergleicht anschließend normalisierte Snapshots und geordnete Events. Separate Fuzzing-Ziele prüfen fehlerhafte und abgeschnittene Sequenzen, Eingabekodierung, Resize und Reflow sowie Sequenzgrenzen über mehrere PTY-Lesevorgänge. Paketprüfungen lehnen außerdem Linux-Artefakte ab, die zur Laufzeit `libghostty.so` benötigen, eine falsche Build-Identität enthalten oder geprüfte Native Notices auslassen.

Alacritty wurde nicht entfernt. Um es für neu erstellte Linux-Sessions zu verwenden, setze den Backend-Wert in `paneflow.json`:

```json
{
  "terminal": {
    "backend": "alacritty"
  }
}
```

Eine aktive Session wechselt ihre Engine nie im Speicher. Schließe sie und öffne nach der Änderung einen neuen Pane. `auto` wählt Ghostty in Standard-Linux-Builds und Alacritty unter macOS, Windows oder Linux-Builds mit `--no-default-features`.

## Statische Verknüpfung ohne Ghostty-Installation

Die offiziellen Linux-Pakete enthalten ein gepinntes statisches `libghostty-vt`-Archiv für x86_64 oder ARM64. Auf dem System müssen weder Ghostty noch Zig oder eine Shared Library installiert sein. Auch ein normaler `cargo build` aus einem sauberen Paneflow-Checkout verwendet das geprüfte mitgelieferte Archiv und lädt während `build.rs` keinen nativen Quellcode herunter.

Linux ist die erste Plattform für dieses Backend. Die Erweiterung auf Windows oder macOS und eine mögliche spätere Entfernung von Alacritty sind getrennte Entscheidungen. Paneflow 0.8.0 hält den Wirkungsbereich klein: ein neuer Standard, zwei unterstützte Engines und ein sofortiger Rollback für neue Sessions.

Aktualisiere auf Paneflow 0.8.0, öffne einen neuen Pane und starte deine übliche Shell, TUI oder deinen Coding-Agent. Falls ein Terminalverhalten regressiert, stelle neue Sessions auf Alacritty zurück und nenne den Befehl, deine Linux-Distribution und ob die Session unter Wayland oder X11 lief.