ScriptsJul 5, 2026·3 min read

Rio — Hardware-Accelerated GPU Terminal Emulator in Rust

Rio is a modern terminal emulator written in Rust that uses GPU rendering via WGPU for fast, consistent output across desktop and browser environments.

Agent ready

Review-first install path

This asset needs a review step. The copied prompt tells the agent to dry-run, show the writes, then proceed only after confirmation.

Needs Confirmation · 66/100Policy: confirm
Agent surface
Any MCP/CLI agent
Kind
Skill
Install
Single
Trust
Trust: Established
Entrypoint
Rio Overview
Review-first command
npx -y tokrepo@latest install 61c9dbbc-784d-11f1-9bc6-00163e2b0d79 --target codex

Dry-run first, confirm the writes, then run this command.

Introduction

Rio is a cross-platform terminal emulator that leverages GPU acceleration through WGPU to deliver smooth rendering and low latency. Built in Rust, it targets developers who want a performant terminal with modern features like ligature support and configurable themes.

What Rio Does

  • Renders terminal output using GPU shaders via the WGPU graphics API
  • Supports font ligatures, emoji, and Nerd Font icons natively
  • Provides configurable tabs, split panes, and multiple windows
  • Runs on macOS, Linux, Windows, and experimentally in web browsers via WebAssembly
  • Offers a TOML-based configuration with hot reload

Architecture Overview

Rio uses the WGPU abstraction layer to target Vulkan, Metal, DX12, and WebGPU backends depending on the platform. The VTE parser handles escape sequences and terminal state, while the rendering pipeline batches glyph draws into GPU calls. The font subsystem uses a glyph atlas cached in GPU memory to avoid per-frame rasterization overhead.

Self-Hosting & Configuration

  • Install via Homebrew, Cargo, or download platform binaries from GitHub releases
  • Configure via ~/.config/rio/config.toml with hot reload on save
  • Set fonts, colors, padding, cursor style, and key bindings in the config
  • Enable adaptive theming to match the OS light/dark mode
  • Configure shell program and startup arguments per platform

Key Features

  • GPU-accelerated rendering for consistent 60+ FPS output
  • Cross-platform support including experimental WebAssembly mode
  • Built-in support for font ligatures and colored emoji
  • Configurable key bindings with vi-mode for scrollback navigation
  • Native tab and split-pane support without a multiplexer

Comparison with Similar Tools

  • Alacritty — GPU-accelerated and minimal, but no tabs or splits natively
  • Kitty — Feature-rich GPU terminal with its own image protocol
  • WezTerm — Lua-configurable GPU terminal with multiplexing built in
  • Ghostty — Zig-based GPU terminal focused on correctness and speed

FAQ

Q: Does Rio support images in the terminal? A: Rio supports the Sixel protocol and is working toward broader inline image support.

Q: Can I use Rio as a drop-in replacement for my current terminal? A: Yes. Rio supports standard VT escape sequences and works with shells like bash, zsh, fish, and PowerShell.

Q: How does GPU rendering help? A: GPU rendering offloads glyph composition to the graphics card, reducing CPU usage and providing smoother scrolling and resizing compared to CPU-based renderers.

Q: Is the WebAssembly version production-ready? A: The WASM target is experimental. It works for basic use cases but may lack features compared to the native builds.

Sources

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets