Skip to main content

Developer build

caution

Make sure all of the repositories that are cloned are on main branch to ensure Stardust protocol compatibility

Server

Clone the Stardust XR Server https://github.com/StardustXR/server

Make sure to check the list of prerequisites. Run cargo run in the cloned repo to start the server. Once running you will only see a black void with controllers and hands, to do anything useful you will need to run clients!

When doing development on the server we recommend running cargo run -F bevy/dynamic_linking to improve rebuild times

Clients

A list of first-party clients can be found here. Clone the client repo and run it with cargo run, or in the case of workspace repositories (protostar and non-spatial-input) run cargo run -p {client crate name here}

The minimal recommended setup is hexagon-launcher from protostar and flatland

2D apps

For 2D apps to connect to the Stardust XR server you need to set the WAYLAND_DISPLAY environment variable for the 2D app, assuming you're running a normal Wayland compositor and one stardust server this should be wayland-1. The server automatically sets this env var for the startup script.

The Wayland compositor included in the server doesn't natively implement xwayland, we recommend using xwayland-satellite for X11 compatibility.