OpenXR Toolkit
This software provides a collection of useful features to customize and improve existing OpenXR applications, including render upscaling and sharpening, foveated rendering, image post-processing and other game-enhancing tweaks.
PLEASE READ AND TAKE ACTION
EDIT: Toned down the message at the request of peer developers.
Since 2024, the OpenXR ecosystem on PC is in bad health. What you have all enjoyed as a technology to create a better VR experience is in jeopardy and is at the brink of extinction. One of the key problem is brought by Meta, through a piece of software called "OVRPlugin". OVRPlugin is a piece of software (a "middleware") published by Meta for integration to Unity and Unreal Engine. OVRPlugin claims to be an OpenXR middleware, however it violates several fundamental principles behind OpenXR. Meta is using OVRPlugin to preclude developer's content (games) from running through OpenXR on any platform other than theirs. This includes blocking applications from running with Virtual Desktop, SteamLink or ALVR's OpenXR support, even if you have a Meta Quest headset. This includes blocking applications from running on your non-Meta headset's OpenXR runtime as well, such as Pimax, Pico, Varjo, Vive, etc. More and more content has become subject to these unwarranted restrictions in the past year.
YOU MUST ACT NOW if you wish to continue to benefit from OpenXR and the superior performance and experience that it has provided you on PC.
1. If you are a developer, DO NOT CREATE A UNITY/UNREAL PROJECT WITH META'S OVRPLUGIN. Your application/game will not work on anything but Quest Link if you do so. You will exclude thousands of end-users from enjoying your content with OpenXR. See the detailed technical explanation.
2. Spread this message. We need as many developers as possible to understand the risks and the damage caused to their content when they use Meta's OVRPlugin. You can link this technical explanation.
WHAT DOES A WIN-WIN-WIN ECOSYSTEM LOOK LIKE?
Step 1): Meta to fix the 2-3 OpenXR conformance issues in their plugin (see the technical explanation). This isn't difficult - Meta is part of Khronos and knows exactly how to use and properly handle the API. Having Meta fixing these issues is no different than Khronos asking developers to stick to the OpenXR specification. Per all the work I have done with their plugin in the past, I estimate the effort to fix their plugin is a matter of "days, not weeks".
Step 2): Remove the lockdown to specific OpenXR runtimes. This is trivial once Meta has spent a few days on 1).
Step 3): Everybody wins! Meta continues to deliver their OVRPlugin. Developers can leverage OVRPlugin for the special features they do not find anywhere else. End-users can run applications on any runtime and any platform (OpenXR's primary mission).
The only medium-term investment for Meta is to begin testing their OVRPlugin on more than just Quest Link. This shouldn't be that hard - they can test with SteamVR OpenXR for example - they probably already have a QA pipeline that does such validation.
AS OF 2024, SUPPORT FOR OPENXR TOOLKIT IS DISCONTINUED. THERE IS NO NEW DEVELOPMENT AND NO TECH SUPPORT OF ANY SORT. THE DEVELOPER DOES NOT RECOMMEND TO INSTALL/USE OPENXR TOOLKIT, AS IT IS KNOWN TO CAUSE ISSUES WITH MANY OF THE NEWER GAMES RELEASED IN SINCE 2024.
The goal of OpenXR Toolkit was to demonstrate how certain features could be built for VR and how they would benefit end users by increasing quality and/or performance. However the model of OpenXR Toolkit - as a universal injector that “takes over” application code - is not sustainable due to the growing complexity and variety of VR applications. The CORRECT way to implement these features is directly in each game, by the game developers. This approach will lead to better quality (for example features such as upscaling produce a better output with the appropriate participation from the game engine), better reliability (for example feature such as foveated rendering cannot work universally without enough understanding of how the game engine works) and better user experience (no need for additional software, better integration of settings to the user interface).
Many of the features of OpenXR Toolkit took less than a week for their initial implementation and have proven their value. THERE ARE NO EXCUSES FOR GAME DEVELOPERS TO NOT SPEND TIME ON DEVELOPING THESE FEATURES.
DISCLAIMER: This software is distributed as-is, without any warranties or conditions of any kind. Use at your own risks.
Table of contents
Setup
READ ALL THE INSTRUCTIONS BELOW - IF YOU DO NOT READ THE INSTRUCTIONS, YOU WILL NOT BE SUCCESSFUL.
IF YOU DO NOT WISH TO READ THE INSTRUCTIONS BELOW, PLEASE DO NOT ATTEMPT TO INSTALL OR USE OPENXR TOOLKIT.
Downloads
Current version: 1.3.2
…or expore all versions.
Requirements
Supported headsets
OpenXR Toolkit is compatible with any headset with OpenXR capabilities on PC, whether through the headset’s specific OpenXR support (sometimes referred to as “native OpenXR runtime”) or through SteamVR OpenXR support. Please refer to the table below for possible combinations of headsets and runtimes.
Headset brand | Supports OpenXR Toolkit? | OpenXR runtimes available |
---|---|---|
Windows Mixed Reality (HP Reverb, Samsung Odyssey…) | Yes | OpenXR for Windows Mixed Reality, SteamVR OpenXR |
Oculus (Rift, Quest, Quest 2, Quest 3 Quest Pro…) via Oculus Link | Yes | Oculus OpenXR, SteamVR OpenXR |
Oculus (Quest, Quest 2, Quest 3 Quest Pro…) via Virtual Desktop | Yes | VirtualDesktopXR (VDXR), SteamVR OpenXR |
Oculus (Quest, Quest 2, Quest 3 Quest Pro…) via Steam Link | Yes | SteamVR OpenXR |
Varjo (Aero, VR-3…) | Yes | Varjo OpenXR, SteamVR OpenXR |
Pimax (5K, 8K…) | Yes | PimaxXR, SteamVR OpenXR |
HTC Tier 1 (Vive original, Vive Pro) | Yes | SteamVR OpenXR |
HTC Tier 2 (Vive Cosmos, Vive Focus) | Yes | Vive OpenXR, SteamVR OpenXR |
Valve Index | Yes | SteamVR OpenXR |
Pico (Neo 3, Neo 4) via Steaming Assistant | Yes | SteamVR OpenXR |
Pico (Neo 3, Neo 4) via Virtual Desktop | Yes | VirtualDesktopXR (VDXR), SteamVR OpenXR |
Eye tracking feature
The eye tracking feature of OpenXR Toolkit is supported on a majority of headsets with eye tracking capabilities. However, not all OpenXR runtimes for the headset may provide eye tracking support. Please see the table below for possible combinations, and whether a separate add-on is needed for eye tracking.
Headset brand | OpenXR runtime | Supports eye tracking in OpenXR Toolkit? |
---|---|---|
HP Reverb G2 Omnicept | OpenXR for Windows Mixed Reality | Yes |
HP Reverb G2 Omnicept | SteamVR OpenXR | Yes [1] |
Oculus Quest Pro via Oculus Link | Oculus OpenXR | Yes |
Oculus Quest Pro via Oculus Link | SteamVR OpenXR | No |
Oculus Quest Pro via Virtual Desktop | VirtualDesktopXR (VDXR) | Yes |
Oculus Quest Pro via Virtual Desktop | SteamVR OpenXR | Yes [1] |
Oculus Quest Pro via Steam Link | SteamVR OpenXR | Yes [1] |
Varjo (all models) | Varjo OpenXR | Yes |
Varjo (all models) | SteamVR OpenXR | Yes [1] |
Pimax Crystal | PimaxXR | Yes |
Pimax Crystal | SteamVR OpenXR | Yes [1] |
Pimax (5K, 8K) with Droolon Pi1 | PimaxXR | Yes |
Pimax (5K, 8K) with Droolon Pi1 | SteamVR OpenXR | No |
HTC Vive Pro Eye, Vive Focus 3 | All | Yes [2] |
Pico Neo 4 Pro | All | No [3] |
[1] Support for eye tracking through SteamVR OpenXR is provided through the OpenXR-Eye-Trackers add-on.
[2] Support for eye tracking on Vive headsets is provided through the Vive Console for SteamVR.
[3] Pico devices do not support eye tracking for PC applications. Pico does not provide the necessary tools to implement it. The marketing of Pico devices is misleading for the consumers, and hurts the developers community: a) Pico marketing claims support for eye tracking without mentioning that this feature is only supported for standalone mode (Android apps) and not available to developers on PC; b) This practice makes us developers look bad for not supporting eye tracking, in spite of the shortcoming being on Pico’s side
Supported graphics cards
OpenXR Toolkit is compatible with any graphics card supporting DirectX 11, regardless of brand.
Certain features, like Foveated Rendering, have additional requirements, per the table below. OpenXR Toolkit does not support Vulkan applications, regardless of graphics cards.
Graphics card | Supports Foveated Rendering? | Limitations |
---|---|---|
Nvidia RTX 4000 series | Yes | Application must use Direct3D 11 or Direct3D 12 |
Nvidia RTX 3000 series | Yes | Application must use Direct3D 11 or Direct3D 12 |
Nvidia RTX 2000 series | Yes | Application must use Direct3D 11 or Direct3D 12 |
Nvidia GTX 1600 series | Yes | Application must use Direct3D 11 or Direct3D 12 |
Nvidia GTX 1000 series (and below) | No | - |
AMD RX 7000 series | Yes | Application must use Direct3D 12 [1] |
AMD RX 6000 series | Yes | Application must use Direct3D 12 [1] |
AMD RX 5000 series (and below) | No | - |
Intel Arc | Yes | Application must use Direct3D 12 [1] |
Intel Gen11 (Ice Lake and above) | Yes (but untested) | Application must use Direct3D 12 [1] |
Intel (any other model) | No | - |
[1] AMD and Intel do not support foveated rendering with Direct3D 11 applications. This is a limitation of the AMD and Intel drivers and not a limitation of OpenXR Toolkit.
Supported applications
OpenXR Toolkit only works with OpenXR applications. Not all applications are built for OpenXR. Below is a table of applications known to use OpenXR, and whether they are known to work with OpenXR Toolkit.
Game | Works with OpenXR Toolkit? | Limitations |
---|---|---|
A Township Tale | - | |
Beat Saber | Yes | - |
BeamNG.drive | No | - |
Bonelab | Yes | Steam edition only - the Oculus store edition does not use OpenXR |
Contractors | Yes | Must start the game in OpenXR mode (-hmd=openxr parameter) |
DCS World | Yes | Must start the game in OpenXR mode (--force_OpenXR parameter)On Varjo headsets, requires the use of OpenXR-InstanceExtensionsWrapper |
EVERSLAUGHT | Yes | - |
Ghosts of Tabor | Yes | Oculus store edition only - the Steam edition does not use OpenXR |
Hubris | Yes | - |
iRacing | Yes | Must start the game in OpenXR mode |
Light Brigade | Yes | - |
Microsoft Flight Simulator 2020 | Yes | - |
Minecraft for Windows | No | - |
Pavlov VR | Yes | - |
Phasmophobia | Yes | - |
Pistol Whip | Yes | - |
PLAY’A VR Video Player | Yes | - |
Praydog’s UEVR injector | Yes | Must use the injector in OpenXR mode |
The 7th Guest VR | Yes | - |
War Thunder | Yes | - |
X-Plane 12 | No | - |
OpenComposite
OPENCOMPOSITE IS NOT OFFICIALLY SUPPORTED - USE IT AT YOUR OWN EXPENSE.
REQUEST FOR TROUBLESHOOTING/SUPPORT FOR OPENCOMPOSITE WILL BE IGNORED.
Installation
1. Run the OpenXR-Toolkit.msi
program.
📝 Note: You may be warned that Windows protected your PC because this software is not trusted. The application is built on a GitHub server hosted in the Microsoft cloud, which greatly limits the risk of contamination from viruses and malware. Additionally, we have digitally signed the software through a reputable organization (Comodo) which helps with guaranteeing that is has not been altered by any third party.
Proceed through the "Windows protected your PC" warning...
Select More info then Run anyway.


2. Follow the instructions to complete the installation procedure.
📝 Note: You do not need to uninstall the previous version of OpenXR Toolkit if you had one installed. The new version will overwrite the previous one.
3. Launch the OpenXR Toolkit Companion app to confirm that the software is active.
You can use the shorcut found on the desktop or in the Start menu...

The OpenXR Toolkit Companion app may be used sporadically to enable or disable advanced features or perform recovery (see further below). The application displays a green or red status indicating whether the software OpenXR component is active.
The OpenXR Toolkit Companion app can also be used to customize the keyboard shortcuts used to invoke and navigate the menu.
💡 Tip: You don’t need to keep the companion app running in order to use the software: the actual settings for the toolkit are available from within your OpenXR application and display directly in the headset! (see below).
Basic usage
Once installed, please run the desired OpenXR application. A welcome message will appear and instruct you to open the menu:
💡 Troubleshooting: Can’t see the menu? Head to Troubleshooting for help.
In order to navigate the menu, select options and change values:
- Use
CTRL+F2
to move to the next option (next line) in the menu. - Use
CTRL+F1
to move selection to the left / decrease the option value. - Use
CTRL+F3
to move selection to the right / increase the option value. - Hold both
SHIFT
andCTRL
together to change values fasters.
💡 Tip: Use the OpenXR Toolkit Companion app to change the default shortcut keys.
Available options
See Features for more details.
Recovery
See Troubleshooting for more details.
If changing some settings render the application unusable, use Ctrl+F1+F2+F3 to hard reset all settings.
Note: if the key combinations were changed from the OpenXR Toolkit Companion app, please use the newly assigned keys.
If an application can no longer start, use the OpenXR Toolkit Companion app (found on the desktop or Start menu) and select the Safe mode before starting the application, then use Ctrl+F1+F2+F3 (regardless of custom key combinations) to hard reset all settings.
Removal
The software can be removed from Windows’ Add or remove programs menu.
In the list of applications, select OpenXR-Toolkit, then click Uninstall.