FAQ#
General#
- What is CloudXR SDK?
NVIDIA CloudXR™ SDK is a GPU-accelerated XR streaming platform that enables high-quality VR and AR experiences to be streamed from powerful server systems to a wide variety of client devices over standard networks.
- What are the main components of CloudXR SDK?
CloudXR SDK comprises three main components:
CloudXR Runtime: An OpenXR-compliant runtime for Windows and Linux servers
CloudXR Framework: A native Swift framework for Apple clients (visionOS and iOS)
CloudXR.js: A JavaScript framework for web-based clients
Server Requirements#
- What GPUs are supported on the CloudXR server?
Refer to the CloudXR Runtime Requirements for supported GPU models and driver versions.
- What operating systems are supported on the server?
CloudXR Runtime supports:
Windows 10/11 (64-bit)
Ubuntu 22.04 or later (64-bit)
Refer to CloudXR Runtime Requirements for details.
- Can multiple users stream from a single GPU?
In the current release, only one stream session is supported on the operating system instance.
Client Devices#
- What client devices are supported?
CloudXR SDK 6.0 supports the following client devices:
Apple Vision Pro (visionOS 2.4+)
iPhone/iPad (iOS 18.0+) with ARKit support
Meta Quest 3 (via web browser, OS version 79+)
Pico 4 Ultra (via web browser, Pico OS 15.4.4U+)
Desktop browsers with WebXR support
- What is the difference between CloudXR Framework and CloudXR.js?
CloudXR Framework is a native Swift framework for Apple platforms (visionOS, iOS). It uses a native streaming protocol and integrates with SwiftUI and RealityKit.
CloudXR.js is a JavaScript framework for web clients. It uses WebRTC for streaming and works with any WebXR-compatible browser.
- Why does Pico 4 Ultra require HTTPS mode?
Pico’s browser implementation requires secure contexts (HTTPS) for WebXR functionality. HTTP mode is not supported on Pico devices.
Networking#
- What are the CloudXR network requirements?
CloudXR requires a high-quality network connection. The recommended specifications are:
Bandwidth: 200 Mbps downstream (100 Mbps minimum)
Latency: 20-50 msec pose-to-frame (100 msec maximum)
Jitter: <10 msec
Packet loss: <1%
Refer to Network Setup for detailed requirements.
- Does CloudXR work over wireless networks?
Yes, but the quality of the wireless network is critical. Use 5 GHz or 6 GHz Wi-Fi, and ensure there is only one wireless hop between server and client. Refer to Network Setup for best practices.
- What network ports are required?
Port requirements differ between client types. Refer to Network Setup for complete port listings:
Apple native clients: TCP 48010 (or 48322 for secure), UDP 47998-48002, 48005, 48008, 48012
Web clients: TCP 49100 (or 48322 for proxy), UDP 47998
- Why can’t I connect to the server?
Common causes of connection failures:
Incorrect server IP address
Firewall blocking required ports
CloudXR Runtime not running
Client and server SDK version mismatch
Temporarily disable firewalls to verify if ports are the issue. Refer to Troubleshooting for troubleshooting steps.
- Is NAT or port forwarding supported?
CloudXR can work in NAT environments, but results vary depending on network configuration. Direct network connectivity is recommended for best performance.
Streaming#
- What is the maximum streaming resolution?
The current maximum resolution is 4K. Resolution can be configured in the client SDK.
- What is the default bandwidth cap?
The default video bandwidth is 50 Mbps per eye (100 Mbps total). This can be adjusted through the SDK configuration.
- Is audio streaming supported?
Downstream audio streaming (from server to client/headset) is supported only on Windows in the current release. Upstream microphone audio from the headset is not currently supported.
- Does CloudXR encrypt data streams?
CloudXR does not currently encrypt video, audio, or input streams. Use network-level security (VPN, private networks) for sensitive applications.
OpenXR Integration#
- Do I need to modify my OpenXR application to work with CloudXR?
In most cases, no modifications are required. If your application uses the standard OpenXR API and queries device parameters dynamically, it will work with CloudXR automatically. CloudXR forwards client device specifications (resolution, field of view, refresh rate) to your application.
- What OpenXR extensions does CloudXR support?
CloudXR supports standard OpenXR extensions for hand tracking, controller input, and more. Additionally, it provides the
XR_NV_opaque_data_channelextension for bidirectional application data.- How do I enable the opaque data channel extension?
Request the extension when creating your
XrInstance, then use the extension functions to create and manage data channels. Refer to XR Opaque Data Channel for implementation details.
Development#
- Is there a sample application available?
Yes. CloudXR SDK includes several reference sample applications:
Generic Viewer: The reference CloudXR Framework client for visionOS and iOS
LÖVR Plugin: Demonstrates CloudXR integration for the LÖVR VR framework
CloudXR.js Examples: Simple WebGL, React Three Fiber, and Isaac Lab examples
Refer to Samples Overview for more information.
- How do I integrate CloudXR with Unreal Engine?
Refer to Unreal Engine Integration Guide for a comprehensive guide on integrating CloudXR Runtime into Unreal Engine 5 projects.
- Are client and server versions required to match?
Yes.
Licensing#
- What are the restrictions on redistribution of SDK binaries?
NVIDIA CloudXR SDK is governed by the NVIDIA CloudXR Software License Agreement.
- Is protected content (HDCP) supported?
No. HDCP-protected content is not supported.