Website | Latest release | Install guide | Feature reference | Documentation | Issues
A from-scratch, GPU-rendered Rust terminal with an Odyssey visual identity.
OdyTTY owns the terminal path from the PTY through escape parsing, terminal state, text layout, and shaders. It combines that foundation with readable GPU text, tabs and panes, inline media, in-app configuration, accessibility controls, and optional visual effects. It is Linux-first, with packaged macOS Apple Silicon and Windows releases, and runs independently of OdysseyOS.
Choose the recommended release for your platform. The full install guide covers alternate packages, checksums, source builds, signing prompts, desktop integration, default-terminal setup, and troubleshooting.
The installer detects apt or dnf and installs the matching checksummed package; other x86_64 systems receive the portable binary tarball:
curl -fsSL https://raw.githubusercontent.com/ghreprimand/odytty/master/dist/install.sh | bashArch users can install odytty from the AUR with paru -S odytty or
yay -S odytty. Direct .deb, .rpm, AppImage, binary-tarball, and source
paths are documented in the Linux install guide.
OdyTTY prefers Vulkan, also supports accelerated OpenGL/GLES, and treats
software rendering as a slow last resort. Wayland is the primary display
target; X11 is supported through the current windowing and GPU stack.
The Homebrew cask installs the prebuilt Apple Silicon app:
brew tap ghreprimand/odytty
brew install --cask odyttyThe app is ad-hoc signed rather than notarized; the cask handles its disclosed quarantine-clearing step. Intel Macs currently use the source build.
With Scoop installed:
scoop bucket add odytty https://github.com/ghreprimand/odytty
scoop install odyttyThe release is unsigned, so Windows may show a SmartScreen prompt. Scoop
verifies the checksum, adds odytty to PATH, and creates a Start-menu entry.
See the Windows install guide for the portable zip,
first-launch steps, and current platform scope.
Use the same channel that installed OdyTTY:
| Installed with | Update |
|---|---|
| Linux installer | Re-run the installer command above. |
Direct .deb or .rpm |
Re-run the installer, or download and install the latest package. OdyTTY does not publish an apt or dnf repository. |
| AUR | Run paru -Syu or yay -Syu; for a manual checkout, run git pull --ff-only and makepkg -si. |
| AppImage or tarball | Replace it with the always-latest artifact, verify SHA256SUMS, and reuse the previous install location. |
| Homebrew | Run brew update && brew upgrade --cask odytty. |
| Scoop | Run scoop update && scoop update odytty. |
| Source | Update the source tree, rebuild with cargo build --release --locked, and reinstall to the same prefix. |
The update guide provides exact commands for every release format.
Open the default shell or launch a command directly:
odytty
odytty -e btopMost customization is available inside the app:
| Action | Shortcut |
|---|---|
| Settings | Ctrl+Shift+, |
| Command palette | Ctrl+Shift+P |
| Theme picker | Ctrl+Shift+H |
Hand-editing is optional. When used, odytty.conf lives under
$XDG_CONFIG_HOME/odytty/ or ~/.config/odytty/ on Unix and
%APPDATA%\odytty\ on Windows. See the settings guide,
keybindings, and
launch CLI reference for the complete
surface, including command hold, application identity, layouts, and detached
sessions.
- Owned terminal foundation: OdyTTY implements its PTY integration, DEC/xterm parser, bounded terminal model, input mapping, render geometry, and shaders. Unix systems use the Unix backend and Windows uses ConPTY.
- GPU text and inline media: bundled and system fonts, fallback chains,
HiDPI rebuilds, color emoji where a supported color font is available, Kitty
graphics, and Sixel share the
wgpurenderer. - Daily terminal interaction: Kitty keyboard support, broad mouse modes, IME, search, selection and copy mode, bracketed paste, hyperlinks, clickable paths, prompt navigation, keyboard hints, and transient resize and zoom feedback.
- Workspaces and remote work: tabs, resizable panes, named workspaces,
layouts, restore, Unix managed and detached sessions, an SSH connection
manager, connection reuse, and optional
tmuxpersistence. - Configuration without ceremony: a live settings panel, command palette, font and theme pickers, 142 built-in themes, user themes, a theme builder (including capture of a pane's live colors into a new theme), backgrounds, transparency, bloom, CRT, and retro effects. Config-file editing remains available with hot reload.
- Accessibility and privacy: contrast controls, color-vision modes, dimming, motion controls, and a configurable bell. OdyTTY has no telemetry, analytics, crash reporting, account, cloud sync, or update ping; network actions are explicit and user-initiated.
Read the feature reference for supported protocols, workflows, settings, and platform-specific behavior.
OdyTTY is a broad pre-1.0 terminal. Version 0.11.1 is published; its four Linux packages received bounded post-publish artifact checks (Minisign signature and checksum verification, package metadata inspection, and execution of each package's binary), and the macOS Homebrew and Windows Scoop upgrade paths were each confirmed on real hardware (automated version bump picked up, package upgraded, app launches and runs). The fuller cross-platform package smoke pass remains recorded against v0.10.0: bounded post-release checks of the v0.10.0 shipped Linux, macOS Apple Silicon, and Windows packages completed without a reported blocker, and a matched visual pass against comparable terminal emulators found no release-blocking difference in the tested text, Unicode, box-drawing, or interaction surfaces. A published, preregistered idle-resource comparison against Kitty, Ghostty, and Alacritty is summarized in docs/benchmark-results.md. These checks complement blocking CI; they do not cover every GPU, compositor, IME, font, or hardware configuration.
Linux is the primary target. macOS and Windows are supported, shipped, and blocking CI targets. Known gaps include Windows detached and resumable session hosting, profiles, full bidi and complex-script reordering, and SVG-in-OpenType color glyphs. See current work and the full roadmap.
The terminal core and visual experience layer are deliberately separate. See the ownership boundary, module map, and visual pipeline for the architecture.
OdyTTY pins Rust 1.96 as its verified minimum supported version. The repository
toolchain file selects it automatically when Rust is managed by rustup.
cargo build --release --locked
cargo test
cargo fmt --checkThe default test suite is bounded and deterministic. Blocking CI adds Clippy, platform builds, and a production-file architecture guard; scheduled lanes run deeper fuzzing, Miri, and sanitizers. See the contribution guide for the complete test battery, platform gates, and pre-commit checks.
- Install and update guide
- Feature reference
- Settings guide and runtime reference
- Keybindings
- Accessibility
- Diagnostics
- Benchmarks: protocol, apparatus, and results
- Architecture specification
- Complete documentation index
Contributions are welcome — see CONTRIBUTING.md for what lands easily, the test requirements, the Developer Certificate of Origin, and the public-repository safety rules. Report vulnerabilities through the private process in SECURITY.md.
OdyTTY is licensed under GPL-3.0-only. You may use, study, share, and modify the source under that license; distributed modifications must use the same license. See LICENSE.
Copyright (C) 2026 Unfinished Works and the OdyTTY contributors.
The OdyTTY name and branding are separate from the source license. Forks and modified builds should use their own name and must not imply endorsement by Unfinished Works. See NOTICE.
