Ghostty 1.0
Project scope & goals
- New GPU-accelerated terminal emulator for macOS and Linux, written in Zig, aiming for:
- “Platform‑native” UI (AppKit/SwiftUI on macOS, GTK4/Adwaita on Linux).
- High performance (rendering, input latency, large scrollback handling).
- Sensible defaults with minimal required configuration.
- Source was private during a long beta to keep focus/polish; 1.0 is MIT-licensed and fully open.
Performance & UX
- Many users report it feels noticeably snappier than iTerm2, Alacritty, GNOME Terminal, etc., especially:
- Resizing, scrolling, and editing in Vim/Neovim/tmux.
- Handling huge outputs (hundreds of thousands of lines) without lag.
- Others see little or no benefit over existing fast terminals, or even worse performance on some setups (e.g., older GTK, certain Linux desktops, GPU/GL issues).
- Some complain of higher CPU usage or input lag compared to lightweight terminals like xfce4-terminal or xterm.
Native UI & platforms
- macOS users like native tabs/splits, system keybindings, Quick Look, “Quick Terminal” (quake-style dropdown), secure input, and window state restore.
- On Linux, “native” via GTK4 is contentious:
- Works well for users on GNOME-like environments.
- KDE/Xfce users report clashing CSD/headerbar aesthetics and need config tweaks (
gtk-titlebar = false, etc.).
- No Windows build yet; some run it via WSLg. “Cross-platform” marketing is criticized for omitting Windows.
Config, features & missing pieces
- Configuration is plain text key–value files; praised by some, others expect a GUI settings panel.
- Community tools exist (web config generator). A GUI for settings is planned.
- Features highlighted:
- Native tabs and splits, quake-style terminal (macOS only), ligatures, Kitty graphics protocol, Kitty keyboard protocol, custom shaders, minimum-contrast settings, selection color control.
- Notable gaps or limitations:
- No built-in scrollback search yet (planned).
- Quick Terminal lacks tabs and is macOS-only.
- No bitmap font support by design; TTF “bitmap-like” workarounds are mixed in quality.
- Some shell-integration behaviors (cursor blinking, prompt jumping) are opinionated and not yet fully configurable.
Compatibility & reliability
- Some terminfo issues (e.g., SSH/tmux, FreeBSD, certain TUIs like lazydocker, goaccess) require TERM overrides or remote terminfo installation.
- OpenGL 3.3 / GLES requirements break on some Linux GPUs/drivers; a few users hit crashes or warnings.
- Others report months of stable daily use and praise the bug triage and community responsiveness.
Ecosystem & comparisons
- Often compared to Kitty, WezTerm, Alacritty, Foot, iTerm2, Warp:
- Seen as combining iTerm2-like mac “feel” with Alacritty/WezTerm-like speed, but fewer features than iTerm2 and less extensibility than WezTerm’s Lua config.
- Appreciated for being fully open source with no telemetry, accounts, or AI features, unlike some commercial terminals.
- Some question why another terminal is needed; the recurring answer is different tradeoffs: native UI, performance focus, and a particular design philosophy.