Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qt3dxr-supported-platforms.qdoc
Go to the documentation of this file.
1
// Copyright (C) 2024 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
3
4
/*!
5
\page qt3dxr-supported-platforms.html
6
\title Supported Headsets
7
\target Supported Platforms
8
9
This page outlines the supported platforms and devices for which QtQuick3D.Xr is
10
tested and supported.
11
12
\note QtQuick3D.Xr is still under development, and all features might not be available on all
13
platforms.
14
15
\section1 Basic XR Platform Concepts
16
17
QtQuick3D.Xr supports two main platforms: devices that use OpenXR as the API for
18
developing applications and devices that use Apple's visionOS.
19
20
\section2 OpenXR
21
22
\l{https://www.khronos.org/openxr/}{OpenXR} is an open standard providing a common set
23
of APIs for developing XR applications. Implementations of OpenXR are available for
24
various platforms, such as Android or Windows.
25
26
Some VR/AR devices are a complete application deployment and runtime platform on their
27
own. For example, the \l{https://www.meta.com/no/en/quest/quest-3/}{Meta Quest 3} is a
28
complete, independent Android-based device. From the application developer's point of
29
view, the workflow is very similar to developing for Android mobile phones and
30
tablets. Such devices and their software platform are sometimes referred to as
31
\c{Standalone VR}.
32
33
Other headsets may not provide a full application deployment and runtime platform but
34
rather are used in combination with a computer, typically running Windows or Linux,
35
from where the application-rendered content is streamed to the headset, either via a
36
wired or wireless connection. This setup is sometimes referred to as \c{PCVR}. The
37
applications, in this case, are developed and deployed as regular desktop Windows or
38
Linux applications. However, instead of opening on-screen windows and showing content
39
there, as typical desktop applications would do, they render into offscreen buffers
40
via OpenXR and a 3D API such as Direct 3D or Vulkan. The resulting content is streamed
41
to the headset for displaying; the actual streaming and the related processing are
42
managed by the underlying software stack, transparently to Qt and the application. An
43
example of such headsets are some devices from Varjo, or the non-standalone devices in
44
the HTC Vive range.
45
46
Some devices fall into both categories. Most notably, the Meta Quest 3 supports both
47
modes of operation.
48
49
With standalone devices, all rendering and processing happens on the headset itself.
50
There is a single implementation of OpenXR and the underlying runtime environment,
51
which applications then use when launched on the device.
52
53
With non-standalone devices, all rendering and most of the related processing happens
54
on the host PC. The quality and performance depend heavily on the host PC's
55
capabilities, but the streaming technology and associated factors, such as the
56
wireless network bandwidth, can affect the results as well. In the PCVR world, there
57
are multiple solutions that provide an OpenXR implementation and wired or wireless
58
streaming.
59
60
\note Due to OpenXR being an open standard, devices that are compatible with it may
61
work, even if the devices were not tested and verified by Qt. This means that full
62
functionality and compatibility cannot be guaranteed out of the box.
63
64
\section2 Devices and platforms not based on OpenXR
65
66
\qxr currently supports one non-OpenXR platform: Apple's visionOS. Devices such as the
67
\l{https://www.apple.com/apple-vision-pro/}{Apple Vision Pro} fall into the
68
\c{Standalone VR} category.
69
70
\section1 Tested and Verified Headsets, Tier One
71
72
This is the list of devices that are regularly tested and verified by Qt and are
73
actively used during the development of \qxr.
74
\target visionOS_supported_versions
75
\list
76
\li Meta Quest 3, standalone (Android)
77
\li Meta Quest 3, PCVR mode (Windows)
78
\li Apple Vision Pro, standalone (visionOS)
79
\endlist
80
81
\section1 Tested and Verified Headsets, Tier Two
82
83
This is a list of additional devices that are tested occasionally during \qxr
84
development, and can be expected to work, but full functionality cannot be guaranteed.
85
86
\list
87
\li Meta Quest 2, standalone (Android)
88
\li HTC Vive in PCVR mode (Linux)
89
\endlist
90
91
\section1 Special Developer Environments
92
93
This is a list of VR simulator solutions that are used during \qxr
94
development and can be useful for application developers as well. Full
95
functionality is not guaranteed with these solutions, especially when it
96
comes to AR features.
97
98
\list
99
\li \l{https://developer.oculus.com/documentation/native/xrsim-intro/}{Meta XR
100
Simulator} (Windows). This is an OpenXR implementation for Windows that shows the
101
rendered content separately for the left and eye right in a desktop window while
102
offering input controller simulation and many other developer-oriented features.
103
From the applications' perspective, using the simulator is no different from PCVR on
104
Windows.
105
\endlist
106
107
\section1 Additional Notes
108
109
As mentioned above, other devices using OpenXR, for example, the Pico 4, may be
110
functional too, but this is not verified by Qt. The list of tested devices can be
111
expected to change and increase in future Qt releases.
112
113
When it comes to PCVR, there are further software stack details and complications that
114
may need to be considered. See the dedicated \l PCVR page for details.
115
116
\qxr prints warnings on the debug output by default. Diagnostic messages are not
117
printed out of the box. To enable those, enable the \c{qt.quick3d.xr} logging
118
category. For example, by setting the environment variable
119
\c{QT_LOGGING_RULES=qt.quick3d.xr=true}. See \l QLoggingCategory for more information.
120
It is strongly recommended that the additional debug prints are enabled, whenever
121
problems arise, or if the application does not start as expected. When reporting
122
problems, always include the full log in the error report. Due to the vast variety of
123
ways to run an XR application, especially when OpenXR is involved, these logs are
124
essential in order to better understand what is happening.
125
126
\sa {Getting Started With Meta Quest 3}
127
\sa {Getting Started With Apple Vision Pro}
128
\sa {PCVR}
129
*/
qtquick3d
src
quick3d
doc
src
xr
qt3dxr-supported-platforms.qdoc
Generated on
for Qt by
1.14.0