Rio logo

Rio

GPU terminal emulator written in Rust that renders through WebGPU, with tabs and Sixel and iTerm2 image support.

Rio is a GPU-rendered terminal emulator written in Rust that runs on Windows, Linux, FreeBSD and macOS. Its renderer, Sugarloaf, has native backends for Metal (the default on macOS) and Vulkan (the default on Linux), and a WebGPU backend through wgpu that picks Metal, Vulkan, DX12 or GL at runtime. The wgpu backend is the default on other platforms and needs a build with the wgpu Cargo feature. An experimental CPU rasterizer (renderer.use-cpu) covers machines without working GPU drivers or VMs, though it does not yet draw image overlays. Rio suits users who want a GPU-rendered terminal with current image and keyboard protocols on several operating systems.

Configuration is a TOML file at ~/.config/rio/config.toml, or %USERPROFILE%\AppData\Local\rio\config.toml on Windows, and $RIO_CONFIG_HOME can point elsewhere. Rio re-renders with the new settings as soon as the file is saved. Per-platform sections such as macos.renderer.backend or linux.window.mode override individual settings, so one file can serve several machines. Themes can switch automatically with the system's light or dark mode through the adaptive-theme section. Font features are configurable, which is also how ligatures are turned off (fonts.features = ["-calt", "-liga"]).

Rio has multiple windows, split panels and tabs. The navigation.mode setting chooses between its own tab bar, native macOS tabs, or a plain mode with no tab key bindings. On the protocol side it supports Sixel, the iTerm2 image protocol, the Kitty graphics and keyboard protocols, hyperlinks and its own glyph protocol. Other features include a vi mode, hints, IME input, shell integration, wide color gamut support, and RetroArch shaders for effects such as CRT emulation. The shaders need the wgpu backend, since the native Metal and Vulkan backends leave them out. The features page notes that many other features are still in development.

Rio alternatives

add a badge to your README

Maintain Rio? Show that it's featured on trmn. The badge links back to this page.

Featured on trmn
Markdown
[![Featured on trmn](https://www.trmn.sh/badge/terminals/rio.svg)](https://www.trmn.sh/terminals/rio?utm_source=badge)
HTML
<a href="https://www.trmn.sh/terminals/rio?utm_source=badge"><img src="https://www.trmn.sh/badge/terminals/rio.svg" alt="Featured on trmn" height="20"></a>

features

GPU accelerated
Built-in multiplexer
Font ligatures
Image support
Highly configurable
Cross platform