Terminal Emulator
A cross-platform, GPU-accelerated terminal emulator written in C — with pluggable backends for rendering, windowing, and fonts.
Portty is a modern terminal emulator built in C around a modular backend architecture. It separates terminal emulation, rendering, platform windowing, and font handling into four swappable interfaces, so each layer can be replaced without touching the others. The terminal engine itself is coffer, a zero-dependency virtual terminal in C.
It ships today with coffer for terminal emulation, SDL3 for the GPU renderer and platform, and FreeType/HarfBuzz for text shaping. The renderer uses the SDL3 GPU backend (Vulkan, D3D12, or Metal) — not OpenGL — for gamma-correct, hardware-accelerated text.
text_composition_strategy
Ctrl+Delete clears a stuck keyboard
or mouse mode, Ctrl+Shift+F8 does a full reset, and
portty pops a dead program’s kitty keyboard flags on its own
Ctrl+Shift+F6) in an
internal pager: build, GPU and driver, fonts, effective config,
and session state
Ctrl+Shift+N opens a new window in the
shell’s working directory
portty --script drives the terminal, waits for
output, asserts on the grid, and captures screenshots
portty-vty-256color terminfo entry, and a hardened
heap allocator under debug/ASan
macOS (Apple Silicon) and Windows (x86_64): download the portable ZIP from the releases page. Linux: build from a checkout of the repo:
git clone https://github.com/chestso/portty
cd portty
./autogen.sh
mkdir -p build && cd build
../configure --prefix=$HOME/.local
make -j"$(nproc)"
make install
portty.exe is a console binary (so it pipes)
and porttyw.exe a GUI launcher. Builds with
MSYS2/UCRT64. OSC 5555 carries kitty graphics and Lottie, since
ConPTY drops APC sequences