Brief Overview
Stardust XR is an XR display server designed for Linux-based systems.
Unlike traditional display servers that focus on 2D screens, Stardust XR introduces new conventions to utilize unbounded 3D space in virtual or real environments.
Priorities
3D Environment Focus: While supporting 2D clients through the Wayland protocol, Stardust XR primarily aims to create and manage 3D environments.
Standard Interfaces: Utilizes Wayland and OpenXR for 2D and XR app integration.
Stardust Protocol: Implements a special protocol for:
- Creating virtual objects
- Developing 3D UIs around 2D apps (Panel Shells)
- Handling data as Items that can represent files, Wayland surfaces, etc.
Personal Device Interaction: Focuses on individual user interactions rather than collaborative 3D spaces.
Flexible Object Interaction: Users can choose objects that best suit their current scenario, with easy setup for default configurations.
Architecture
Projects & Components
- telescope: Stable stardust setup for quick and easy usage
- server: Reference implementation of the StardustXR server (similar to Xorg)
- core lib: Rust crates and schemas for connecting stardust server and client
- website: The location where documentation is done and the website is generated from
- protostar: App launcher library and examples including futuristic hexagon launcher
- black hole: Universal minimization of Stardust objects
- gravity: Launch programs with a certain offset in 3D space
- magnetar: Example workspaces client
- atmosphere: 3D environment with natural momentum-based movement
- comet: Annotate in 3D wherever you want amongst your other apps!