Clear XR Server lets you stream interactive virtual worlds and applications from high-powered gaming PCs, workstations, or servers, to spatial computing, aka. extended reality (XR) devices, starting with Apple Vision Pro.
Clear XR utilizes dynamic foveated streaming to render the sharpest content in the user’s direct line of sight.
Currently only OpenXR compliant applications are supported. OpenVR (and SteamVR) applications are not yet supported.
Clear XR currently is built around a visionOS app, Windows desktop app, an OpenXR test application, and an OpenXR API layer, and Apple's FoveatedStreaming framework for visionOS.
It may expand to other mobile devicdes (e.g. iOS and iPad), headsets (e.g. Quest and Steam Frame), streaming frameworks (e.g. Cloud XR native, or ALVR), and operating systems (e.g. Linux, and perhaps some day macOS). Discussions and contributions are welcome.
- Windows 10/11 PC with NVIDIA GPU. Note that NVIDIA only tests Cloud XR on 4080, 5080, and 5090 consumer GPUs. The authors have also tested on a 5070 Ti (RIP).
- Rust and its prerequisites, which include the Microsoft Visual Studio 2022 build tools.
- NVIDIA Cloud XR and Stream Manager SDKs, described below.
- Apple Vision Pro M2 or M5, running visionOS 26.4 or higher
The repository is organized into three main Rust subcomponents:
clearxr-streamerThe desktop server application. This is the main control surface for Clear XR Server and owns the Tauri shell, session-management service, Bonjour advertising, CloudXR process control, and pairing flow.clearxr-spaceA native OpenXR application used as the default Clear XR landing space to test out controllers. It may eventually evolve into an App Launcher. It can run against the CloudXR runtime and acts as the streamed OpenXR content.clearxr-layerAn OpenXR API layer that injects controller, haptics, configuration, and related runtime data into the Clear XR stack.
Supporting files live alongside those components:
ui/Frontend assets used byclearxr-streamer.scripts/Local helper scripts, including vendor reconstruction.vendor/Locally rebuilt NVIDIA CloudXR runtime and Stream Manager files. This is not intended to be redistributed through the source repository.xtask/Rust Cargo tasks for building the full repository.
- Install Rust via the Rustup install documentation
- Download the NVIDIA Cloud XR dependencies, described below.
- Run the
scripts\build-vendor.ps1vendor script. - Build with
cargo
We redistribute the Clear XR binaries with the NVIDIA Cloud XR binaries for only end-user purposes. The NVIDIA CloudXR binaries cannot be redistributed for development purposes. If you want to build Clear XR yourself, or hack on it, you must agree to the NVIDIA license terms on the NGC and download yourself. We've provided a handly script to build the vendor/ locally from the official NVIDIA downloads.
Download these two archives from NGC:
Place the downloaded zip files in the repository root, then run:
powershell -ExecutionPolicy Bypass -File .\scripts\build-vendor.ps1The script will:
- extract the Stream Manager package into the top-level
vendor/layout used by the app, - extract the nested CloudXR Win64 SDK zip into
vendor/Server/releases/<version>/, - preserve repo-owned overlay files that already exist only in
vendor/, such asvendor/Server/cloudxr-runtime.yaml.
clearxr-streamer is the main application entry point for the project. It uses the frontend in ui/ and stages the expected CloudXR files from vendor/ during build and runtime startup.
Build the full project from the repository root with:
cargo xtask buildFor a release build:
cargo xtask build --releaseThe xtask builds the components in this order:
clear-xrclear-xr-layerclearxr-streamer
That order ensures clearxr-streamer can stage related runtime files from the expected local build outputs.
The original source code in this repository is licensed under the MIT License. See LICENSE.
Third-party software is not covered by the MIT License. In particular, NVIDIA CloudXR components and files are subject to NVIDIA's separate license terms. See THIRD_PARTY_NOTICES.md.