GPU-native · Rust · Linux · v0.1.0

terminal-delight

A GPU-native Linux terminal with a hot-reloadable, CRT-flavored visual identity.

Rust end-to-end: gpui renders every pixel on the GPU, alacritty_terminal does the VT emulation, your real shell runs on a real PTY. Tiling multi-pane, per-pane theming & monitor-OSD grading, scanlines and a real barrel warp.

terminal-delight — a wall of curved phosphor glass
terminal-delight filling the screen: five tiled terminal panes, each barrel-warped like its own curved CRT screen, tinted a different colour (green, olive, blue, amber, magenta), syntax-highlighting live Rust code and a passing test run at dramatically different font sizes
▶ Real capture — every pane its own curved CRT: its own colour, its own font size, syntax-lit code and a green test run. A live recording of the warp is coming.
Overview

A real terminal that looks like a thing you'd want open.

Most terminals pick one: fast, or pretty. terminal-delight renders entirely on the GPU, so the CRT look — scanlines, glow, vignette, a genuine per-pane barrel warp — costs nothing at the keyboard. Key-to-echo lands at p50 ~121µs; seq 1 100000 finishes in 0.089s. The aesthetic is data: themes are TOML files you edit while the app runs, no recompile.

Features

What's in 0.1.0

Tiling multi-pane

True tiling-tree splits that divide only the focused pane, tabs, sub-tab drag-to-split, and a pop-out scratch window with tear-off.

Hot-reload themes

Four built-ins plus a live-editable custom slot read from ~/.config/terminal-delight/theme.toml and reloaded on save, ~300ms, no restart.

Per-pane appearance

Theme and monitor-OSD grade groups inherit the workspace independently — each with a live, non-destructive "follow outer" toggle.

Monitor-OSD grading

Brightness, contrast, colour, text, background, gamma — plus text size — global or per-pane, applied in HSLA at paint time.

CRT, on the GPU

Scanlines, vignette, glow and a real barrel warp via a vendored gpui renderer patch. Per-theme dials; fully off in light themes.

A real terminal

PTY + full VT emulation (bash, vim, top, tmux), 16/256/truecolor, scrollback, mouse selection, bracketed paste, live SIGWINCH resize.

Run it

It's a real native terminal — run the real thing.

No web demo, on purpose.

terminal-delight renders on the GPU through gpui/wgpu — it isn't a webpage and a browser shell wouldn't be the real engine. So instead of a fake terminal, grab the source and run the actual app on your Linux box. The gallery above is all real captures; a recorded clip of the live warp is coming to the hero.

Vision

2 · 5 · 20 terminals, one window.

The goal: 2-to-20 real terminals in a single window — native-snappy, web-app polished, themeable at will, open source. A terminal you keep open because it's nice, not just because you have to.

  • Native speed, never a webview.
  • Aesthetics as data — share a theme as a TOML file.
  • Tiling that gets out of your way.

Read the build plan ↗

Honesty

Source-only. Linux-only. On purpose.

terminal-delight's own code is MIT. But it builds against a pinned Zed/gpui graph that links GPL-3.0 crates — so a redistributed binary would be GPL-3.0. We don't ship binaries; you build from source, and the GPL crates are yours, built locally.

It targets the freedesktop Linux desktop (X11 & Wayland) via gpui's wgpu renderer. Not macOS or Windows.

License boundary, in detail ↗

Build & run

From source, in three commands

# deps (Ubuntu): Vulkan + build libs
bash scripts/setup-deps.sh
# clone the pinned Zed checkout + apply the td-crt-pass renderer patch
bash scripts/prepare-gpui.sh
# run it
cd app && cargo run

gpui is consumed from a pinned Zed checkout carrying the td-crt-pass renderer patch (the per-pane barrel warp) — set up as a sibling zed-upstream/ directory, same as CI. Full instructions, the CI bar, and the clean-room rule are in CONTRIBUTING.md ↗.