Ratty: GPU-Rendered Terminal Emulator with Inline 3D Graphics — The Terminal That Has a Secret World Behind It
Published: 2026-05-11 Reading: 8 min Tech
Terminal emulators haven't changed much in decades. You type commands, you get text output. Then along comes Ratty — a GPU-rendered terminal emulator built in Rust that hides a full 3D world behind your terminal window. Hit Ctrl+Alt+Enter and the terminal facade dissolves, revealing spinning 3D objects, a customizable rat cursor model, and a scene rendered in real-time via Bevy and wgpu.
Created by Orhun Parmaksız (the developer behind several popular Rust tools), Ratty has exploded on Hacker News with 201 points in just 3 hours. It's not just a gimmick — Ratty is a real terminal emulator with GPU-accelerated rendering, Ratatui-based UI, Kitty Graphics Protocol support, and a genuinely novel approach to terminal design.
What Makes Ratty Different
Most terminal emulators render text using CPU-based rasterization or basic GPU acceleration for scrolling. Ratty takes a fundamentally different approach: it uses Bevy (Rust's game engine) and wgpu as its rendering backend. Every character cell, every cursor blink, every inline image is rendered through a GPU pipeline originally designed for games.
This architectural choice unlocks capabilities that traditional terminals simply can't match:
- Inline 3D objects — render 3D models directly inside your terminal output
- A hidden 3D world — press Ctrl+Alt+Enter to dissolve the terminal and explore the scene behind it
- Spinning rat cursor — your cursor is a 3D rat model that spins as you type (configurable with custom .obj or .glb models)
- Kitty Graphics Protocol — display images inline, just like Kitty terminal
- Smooth GPU rendering — 60fps terminal output with hardware-accelerated compositing
Installation
Ratty is written in Rust and can be installed via Cargo. You'll need a system with GPU support (Vulkan, Metal, or DirectX 12 depending on your platform).
# Install from crates.io
cargo install ratty
# Or clone and build from source
git clone https://github.com/orhun/ratty.git
cd ratty
cargo build --release
# Run
./target/release/ratty
Requirements:
- Rust 1.75+ (install via rustup)
- A GPU with Vulkan (Linux), Metal (macOS), or DX12 (Windows) support
- Linux:
libwayland-dev,libxkbcommon-dev, and Vulkan drivers
The 3D Mode: What's Behind Your Terminal
Ratty's signature feature is its 3D mode. Press Ctrl+Alt+Enter and the terminal window becomes transparent, revealing a 3D scene rendered behind it. The scene includes various 3D objects that you can interact with — it's like peeling back the surface of your terminal to see the engine underneath.
The 3D world isn't just eye candy. It demonstrates Ratty's core architectural advantage: because everything is rendered through Bevy's ECS (Entity Component System), adding 3D objects to the terminal pipeline is as natural as adding a new component to any game scene. The terminal text, the 3D objects, and the cursor model all share the same GPU rendering pipeline.
To exit 3D mode and return to the normal terminal view, press Ctrl+Alt+Enter again.
The Spinning Rat Cursor
By default, Ratty's cursor is a small 3D rat model that gently spins as you type. It's a playful touch that perfectly captures the project's spirit — serious terminal functionality wrapped in whimsical presentation.
You can customize the cursor model by providing your own 3D model file:
- .obj files — the classic Wavefront OBJ format, widely supported by 3D tools
- .glb files — the binary glTF format, compact and efficient for runtime loading
To use a custom model, configure it in Ratty's configuration file. You can replace the rat with any 3D model you want — a teapot, a cat, a skull, whatever suits your terminal aesthetic.
Inline 3D Objects and Kitty Graphics
Ratty supports the Kitty Graphics Protocol, which means you can display images inline in your terminal output. Tools like chafa, kitten icat, or any Kitty-graphics-compatible application will work out of the box.
Beyond images, Ratty's GPU pipeline enables inline 3D objects in terminal output. Imagine running a command that doesn't just print text but renders a spinning 3D model of the data you're working with. This is where Ratty's architecture truly shines — the boundary between "terminal output" and "3D scene" becomes fluid.
Ratatui-Powered UI
Ratty uses Ratatui for its terminal UI framework. Ratatui is the modern Rust library for building rich terminal user interfaces — it's the successor to tui-rs and has become the standard for Rust TUI applications.
This means Ratty's UI is:
- Declaratively composed — the layout is described as a tree of widgets
- Efficiently rendered — only changed cells are redrawn
- Highly customizable — themes, layouts, and widgets can be configured
The combination of Ratatui for text layout and Bevy/wgpu for GPU rendering gives Ratty the best of both worlds: a proper terminal emulator with game-engine-grade graphics.
Source Code and Community
Ratty is fully open source. Here's where to find it:
- GitHub: github.com/orhun/ratty
- Website: ratty-term.org
- Author: Orhun Parmaksız — prolific Rust developer, creator of several popular CLI tools
The project is actively developed and accepting contributions. If you're a Rust developer interested in terminal emulators, GPU rendering, or game engine architecture, Ratty is a fascinating codebase to explore.
Why This Matters
Ratty is more than a novelty. It represents a genuine architectural experiment: what happens when you build a terminal emulator on top of a game engine? The answer is surprisingly compelling.
The GPU-first approach means Ratty can do things that traditional terminals struggle with: smooth scrolling at any speed, inline images without protocol hacks, hardware-accelerated text rendering, and — yes — 3D objects in your terminal. As displays get higher refresh rates and GPUs become ubiquitous, the case for GPU-rendered terminals only gets stronger.
It also fits into a broader trend of Rust-powered terminal tools rethinking foundational assumptions. Projects like Zed (GPU-rendered code editor), Alacritty (GPU-rendered terminal), and now Ratty are proving that GPU acceleration isn't just for games — it's for every interface that needs to be fast and beautiful.
Getting Involved
If you want to try Ratty, the quickest path is:
- Install Rust via rustup.rs
- Run
cargo install ratty - Launch
rattyin your terminal - Press
Ctrl+Alt+Enterto see the 3D world - Customize your cursor model in the config file
Star the repo on GitHub, open issues for bugs or feature requests, and consider contributing if you have Rust experience. Orhun has built a welcoming community around his projects.
Summary
Ratty is a GPU-rendered terminal emulator that brings game-engine technology to the command line. Built in Rust with Bevy/wgpu for rendering and Ratatui for UI, it features a hidden 3D world accessible via Ctrl+Alt+Enter, a customizable spinning 3D rat cursor, inline 3D objects, and Kitty Graphics Protocol support. It's open source, actively developed, and trending on Hacker News for good reason — it's the most fun anyone's had with a terminal emulator in years.
Whether you're a Rust enthusiast, a terminal power user, or just someone who wants a cursor that's literally a spinning rat, Ratty is worth checking out.