Skip to main content

Overview

Orbital is the display server and window manager for Redox OS. It provides the graphical environment and window management system, integrating seamlessly with the microkernel architecture.

Orbital Repository

View the Orbital source code on GitLab

Key Features

Lightweight

Minimal resource usage for efficient graphics

Scheme-based

Integrated with Redox’s scheme system

Rust Implementation

Memory-safe graphics stack

Modern UI

Clean, modern interface with COSMIC desktop apps

Architecture

Orbital follows Redox’s microkernel philosophy:
  • Userspace server: Runs as a regular userspace process
  • Scheme interface: Accessed through the orbital: scheme
  • Compositor: Handles window composition and rendering
  • Event system: Manages input events and window focus

Display Scheme Access

Applications access Orbital through the scheme system:
[user_schemes.user]
schemes = [
  "orbital",        # Orbital window system
  "display.vesa",   # VESA display driver
  "display*",       # All display drivers
  # ... other schemes
]

Window Management

Orbital provides modern window management features:
// Create a window through the orbital scheme
use std::fs::File;

let window = File::create("orbital:myapp/800/600/title")?;
// Creates a window: app name / width / height / title

Display Drivers

Orbital works with various display drivers:
  • VESA: Standard VESA BIOS Extensions support
  • Native drivers: Hardware-specific accelerated drivers
  • Virtual display: For virtual machines
# Display drivers are accessed through schemes
ls /scheme/display.vesa
ls /scheme/display*

COSMIC Desktop

Redox OS uses the COSMIC desktop environment with Orbital:

COSMIC Files

Modern file manager application

COSMIC Term

Terminal emulator with Ion shell

COSMIC Edit

Text editor for development

COSMIC Apps

Suite of desktop applications

Configuration

Orbital configuration is managed through the system:
# Font and icon directories
[[files]]
path = "/usr/share/ui/fonts"
data = "/usr/share/fonts"
symlink = true

[[files]]
path = "/usr/share/ui/icons"
data = "/usr/share/icons"
symlink = true

Display Server Initialization

Orbital is typically started by the init system:
# Orbital starts automatically with the GUI configuration
# Managed by the init system

Graphics Stack

The Redox graphics stack consists of:
┌─────────────────────────────┐
│   Application (COSMIC)      │
├─────────────────────────────┤
│   Orbital (Display Server)  │
├─────────────────────────────┤
│   Display Driver (Scheme)   │
├─────────────────────────────┤
│   Hardware                  │
└─────────────────────────────┘

Input Handling

Orbital manages various input devices:
  • Keyboard: Standard keyboard input
  • Mouse: Pointer device support
  • Touch: Touch screen support (where available)
# Input events are routed through the event scheme
cat /scheme/event

Performance

Orbital is designed for efficiency:
  • Fast composition: Optimized window composition
  • Low latency: Minimal input-to-display latency
  • Efficient rendering: Smart redraw strategies
  • Memory efficient: Careful memory management
Orbital benefits from Rust’s zero-cost abstractions, providing high performance without sacrificing safety.

Screenshots

Redox OS with Orbital provides a modern desktop experience:

Desktop

Orbital Desktop

COSMIC Programs

COSMIC Apps

Terminal

COSMIC Term
See more screenshots and videos of Redox OS in action.

Resources

Orbital Repository

Source code and development

Redox Screenshots

See Orbital in action

Redox Book

Display system documentation

Try Redox

Run Redox with Orbital

Maintainer

Jeremy Soller (@jackpot51)

Primary maintainer of Orbital

Build docs developers (and LLMs) love