Getting Started with CloudXR Runtime#
Overview#
The CloudXR Runtime enables your OpenXR application to stream XR content to remote client devices including:
Apple Vision Pro and iOS devices (via CloudXR Framework for Apple clients)
Meta Quest 3 and Pico 4 Ultra (via CloudXR.js in web browsers)
Once integrated, your OpenXR application can accept connections from NVIDIA CloudXR™ clients and stream rendered frames while receiving tracking data from the client device.
Integration Options#
Option 1: Integrate with the Application#
Refer to CloudXR LÖVR Sample for a complete example how you can use the C APIs of CloudXR Runtime to manage the lifecycle of the runtime and establish an OpenXR session with a client.
If your application is built with Unreal Engine, you can follow the instructions in Unreal Engine Integration Guide to integrate the CloudXR Runtime into your Unreal Engine project.
Option 2: Use the Stream Manager to Start a CloudXR Service (Windows only)#
Stream Manager is an example Windows service that manages CloudXR runtime instances. It provides an RPC interface for starting, stopping, and managing CloudXR services.
# Start Stream Manager
NvStreamManager.exe
# Use the sample client to start your CloudXR service
SampleNvStreamManagerClient.exe
> StartCxrService 6.0.0
Option 3: Build a Custom CloudXR Service Executable#
You can build a custom CloudXR service executable using the cxrServiceAPI.h header provided by the runtime.
The CloudXR Runtime must be set as the active OpenXR runtime before your application creates an XrInstance.
Option A: Environment Variable
Set the XR_RUNTIME_JSON environment variable to point to the CloudXR runtime manifest:
# Linux
export XR_RUNTIME_JSON=/path/to/cloudxr-runtime/openxr_cloudxr.json
# Windows (PowerShell)
$env:XR_RUNTIME_JSON = "C:\path\to\cloudxr-runtime\openxr_cloudxr.json"
Option B: System Configuration (Linux)
Create a symlink for system-wide configuration:
mkdir -p ~/.config/openxr/1
ln -s /path/to/cloudxr-runtime/openxr_cloudxr.json ~/.config/openxr/1/active_runtime.json
Next Steps#
Refer to CloudXR Runtime Management API for how to manage the runtime lifecycle and configure the runtime.
Refer to XR Opaque Data Channel for how to use this OpenXR extension for bidirectional data communication between the application and client.