Files
website/docs/01-get-started/04-manual.md
2025-03-07 11:16:46 -05:00

4.9 KiB

sidebar_position
sidebar_position
4

Full Installation

Unlike Telescope that launches the Stardust XR server and a small selection of clients, the typical way to interact with Stardust is to first run the server, which only provides a void by default, as there are no applications or clients within it. You can then launch any combination of the clients listed below, as they are all considered separate items but can run concurrently inside Stardust.

Fedora Logo Ultramarine Logo Fedora and derivatives (except Enterprise Linux)

:::info
You will need the Terra repository, unless you have Ultramarine Linux or Bazzite. Fedora Atomic Editions will need to run the following command:

curl -fsSL https://github.com/terrapkg/subatomic-repos/raw/main/terra.repo | pkexec tee /etc/yum.repos.d/terra.repo
sudo rpm-ostree install terra-release

Other Fedora Editions can directly install terra-release:

sudo dnf install --nogpgcheck --repofrompath 'terra,https://repos.fyralabs.com/terra$releasever' terra-release

:::
Then, run this command to install the Stardust XR group:

sudo dnf group install stardust-xr

Logo Arch Linux

paru -s stardust-xr-telescope
paru -s stardust-xr-armillary
paru -s stardust-xr-atmosphere
paru -s stardust-xr-black-hole
paru -s stardust-xr-comet
paru -s stardust-xr-flatland
paru -s stardust-xr-gravity
paru -s stardust-xr-magnetar
paru -s stardust-xr-non-spatial-input
paru -s stardust-xr-protostar
paru -s stardust-xr-server

From there, you can launch the server with stardust-xr-server, then in another terminal window or tab, run any other clients you need. We recommend flatland and hexagon-launcher.

Manual Build

:::caution
Make sure all of the repositories that are cloned are on the same branch (e.g. all main or all dev 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 build and cargo run in the cloned repo to start the server. As stated above, the Stardust server will simply load in with a black void until clients are loaded in. This behaviour can currently be modified by creating a startup file inside the folder ~/.config/stardust/ to automate the loading in of clients, an example of which is shown here, and an example of is linked here

Clients

After the server is running, you'll need to run some clients. Clone any of these, cargo build & then cargo run after the server is already running, and they will load into the Stardust server!

Non-exhaustive list of clients:

  • flatland: https://github.com/StardustXR/flatland
    3D panel UI (like window manager) for intercting with all your 2D apps
  • protostar: https://github.com/StardustXR/protostar
    App launcher library and examples including futuristic Hexagon Launcher
  • black hole: https://github.com/StardustXR/black-hole
    Universal minimization of Stardust objects
  • gravity: https://github.com/StardustXR/gravity
    Launch programs with a certain offset in 3D space
  • magnetar: https://github.com/StardustXR/magnetar
    Example workspaces client
  • atmosphere: https://github.com/StardustXR/atmosphere
    3D environment with natural momentum-based movement
  • comet: https://github.com/StardustXR/cometAnnotate
    Write in 3D wherever you want amongst your other apps!

Installation Script

If you have all the correct dependencies, we've created a script that will automatically git clone all of the necessary repositories, cargo build all of them, and give them a symlinks for running the server and clients from the command line. It also creates a config file that will by default install the default atmosphere background. Run the script with flag -nobg if you don't want that.