/rio

A hardware-accelerated GPU terminal emulator powered by WebGPU, focusing to run in desktops and browsers.

Primary LanguageRustMIT LicenseMIT

Rio term

tl;dr: Rio is a terminal built to run everywhere, as a native desktop applications by Rust/WebGPU or even in the browser powered by WebAssembly/WebGPU.

Rio banner

Development Status

Status

Status Meaning
🟢 Stable and usable.
🔵 Unstable and usable (minor bugs and incomplete features).
🟠 Unstable and usable (major bugs and incomplete features).
🟡 It does builds but provides a very limited usage or is not able to use at all.
🔴 Development has not started.

Platform

Platform Status Version introduced
MacOs as desktop application 🔵 0.0.3 (see more)
Web Browser (WebAssembly) 🟡
Linux as desktop application 🔵 0.0.5 (see more)
Windows as desktop application 🔴
Nintendo Switch * 🔴

* Nintendo Switch development is just for fun, the goal is to have the renderer working and the basic features of a terminal.

Demo Gallery

Demo tmux Demo emacs
Demo text styles Demo selection
Demo colors Demo neovim

Note: Emojis are rendered with Noto Emoji.

Sugarloaf

Rio is built over a custom renderer called Sugarloaf, which is responsible for font and style rendering. Sugarloaf demo:

Demo Sugarloaf

Summary

About Rio

Website: https://raphamorim.io/rio

If you are using or want to help in any way please consider to donate via Github Sponsors.

Rio would not be possible without few acknowledgements and specially Alacritty, since a lot of Rio functionalities (e.g: ANSI parser, events, grid system) was originally written (and still uses a good amount) of Alacritty code.

Read about Rio in the official website: https://raphamorim.io/rio/docs.

Configuration File

Configuration file is documented in Rio official website: https://raphamorim.io/rio/docs#configuration-file.

Acknowledgments