# 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. ## Install Save as a script file and run: # Rio — Hardware-Accelerated GPU Terminal Emulator in Rust ## Quick Use ```bash # macOS brew install rio # Linux (cargo) cargo install rioterm # Launch rio ``` ## 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 - https://github.com/raphamorim/rio - https://raphamorim.io/rio --- Source: https://tokrepo.com/en/workflows/asset-61c9dbbc Author: Script Depot