OpenXR for Windows Mixed Reality - Release FAQ

Hello,

I wanted to make a post to answer some of the FAQ about OpenXR and specifically OpenXR support for Windows Mixed Reality devices.

Please - I’d like to keep this thread focused on the topic of OpenXR releases. I know many have questions like “what are the best settings”, “how can I gain fps” etc and there are already many threads on this topic. I cannot help with those. So please use the other threads for those.

Q: ELI5: What is OpenXR?

OpenXR is a structured set of instructions and rules for developers to create applications (such as Flight Simulator 2020) that use virtual reality or augmented reality (or XR as the industry calls it) that run on modern devices (such as the HP Reverb or Oculus Quest).

Q: What is the OpenXR software thingy I have to setup on my machine? It says “runtime”, what’s that?

The OpenXR runtime is the software that allows applications developed for OpenXR to use your device. As described above, OpenXR is just a set of rules (called an API), and each vendor making devices such as your VR headset must provide a software that implement those rules. In other words, the OpenXR runtime is pretty much the driver for your devices (well, in reality it is one of several drivers involved with your VR headset). This OpenXR runtime is specific to your device and is developed by the vendor of your device. There’s a small caveat regarding the SteamVR runtime (see below).

Q: I am using SteamVR and not OpenXR.

These are two different things that are not in the same category. Steam is a platform for delivering (purchasing, downloading) contents and consuming it. SteamVR is the component of that platform that may be used for running VR applications. However a SteamVR application may still be created with OpenXR. The confusion comes from the fact that the majority of applications delivered through SteamVR are created with OpenVR, which is a predecessor to OpenXR.

Even if you are using Flight Simulator through SteamVR, the game is still using OpenXR, simply because the same was created only with OpenXR.

Q: What is the difference between using my Windows Mixed Reality headset through the Windows Mixed Reality OpenXR runtime or through the SteamVR runtime?

The OpenXR runtime for Windows Mixed Reality is developed to interface directly with the Mixed Reality Portal.

The OpenXR runtime for SteamVR is developed to interface with SteamVR, which with a Windows Mixed Reality device will in turn interface with the Mixed Reality Portal.

Both usages are valid, using the SteamVR runtime enable you to use some of the functionality specific to the SteamVR platform, but might be less efficient in doing so. The Windows Mixed Reality runtime is developed specifically for Windows Mixed Reality and will interface directly with the device, which might be more efficient.

Q: What is the OpenXR for Windows Mixed Reality app I get from the store?

The OpenXR for Windows Mixed Reality app is not really an app, it contains the base OpenXR runtime for your Windows Mixed Reality headset, that we refer to as the “Stable runtime”.

Q: What is the OpenXR Tools for Windows Mixed Reality app I get from the store?

The OpenXR Tools for Windows Mixed Reality app is an optional package that contains in fact more than just an app.

It does include the OpenXR Tools app, which is this small program you might have seen before, with a purple title bar and 3 tabs. This application was originally targetted to developers so they could test their development environment and read back some of the status from the runtime and from the device. This tool has now grown beyond this role, as many of you are using it to tweak some of the parameters of your experience, such as the Custom render scale.

More importantly, the OpenXR Tools for Windows Mixed Reality package also contains the next-version OpenXR runtime for your Windows Mixed Reality headset, that we refer to as the “Preview runtime”. You may switch between using the Stable and Preview runtimes using the OpenXR Tools app, in the Settings pane.

Q: What devices is the OpenXR for Windows Mixed Reality runtime targetting?

The Windows Mixed Reality OpenXR runtime is developed both for the Windows Mixed Reality VR headsets (such as the HP Reverb, Samsung Odyssey…) and for HoloLens 2.

Did I just say HoloLens 2? Yes. Both your VR headset and the HoloLens 2 share some common characteristics and functionality that make them both run the same OpenXR runtime (well, the HoloLens 2 runtime is built for a different CPU). What this means is that Enterprise customers with a HoloLens 2 device also get their OpenXR runtimes from the Microsoft Store, and it’s technically the same app they are downloading.

Q: What happens when either one of these applications is updated through the store?

Every ~2 months, we will release a new OpenXR Preview runtime. When we do so, you will see an update for the OpenXR Tools for Windows Mixed Reality installing on your machine. When we push out a new Preview runtime, we also promote the previous Preview runtime to become the new Stable runtime. This means you will also see an update for the OpenXR for Windows Mixed Reality package.

The version scheme used by our runtimes is a number greater than 100, called the major version number, followed by some minor version numbers. Most of the time, the major version number for the Preview runtime will be equal to the major version number for the Stable runtime, plus 1. So for example today, we have Stable runtime 108 and Preview runtime 109. When we release the next version, the Preview runtime 109 will be promoted to Stable runtime 109, and the newer Preview runtime will have the number 110.

Note that there are some cases where this process is not followed to the letter, and you may end up with a Stable and Preview runtime with the same major number. It just means there were no improvements worth putting into a new Preview runtime.

Q: So you are updating VR support every ~2 months?

No. If you look up 2 questions above, the OpenXR runtime delivered through the Microsoft Store is both for VR devices and for HoloLens 2. There are times where we only make improvements and fixes for one product or the other. For example, we might have a release that only brings changes to HoloLens 2. Because both classes of devices are supported through the same entry in the Microsoft Store, you will be receiving an update, however that update will do nothing noticeable. It will only have measurable effects on HoloLens 2. Sometimes it is the opposite, we will have a release only with changes for VR. Sometimes it will be for both at the same time.

Q: Why is everybody else talking about an update, but I am not seeing it!?

When a new OpenXR Tools for Windows Mixed Reality (ie: the Preview runtime) package is pushed, we release it to 100% of the users at once. It might still take a day or two for the Microsoft Store software to pull the update, but it’s generally quick.

When a new OpenXR for Windows Mixed Reality (ie: the Stable runtime) package is pushed, we take more precautions and we progressively roll it out to the users over a week or so. So yes, some people will get the automatic update quicker than others, just because they are randomly selected in this rollout. In all cases, you can always perform a manual update from the Microsoft Store to get the latest, even if you were not randomly selected for the automatic update.

Q: What should I do if I’m seeing crashes or CTD with Flight Simulator and my Windows Mixed Reality headset?

The first thing to do is to isolate what component might be causing issues. People might be installing many things at once, new GPU drivers, new OpenXR runtime, new game updates, tweaking settings… If you start having issues after that, it’s very difficult to isolate which component may be the source of the problem. Your issue might not be with OpenXR or with Windows Mixed Reality.

It is wise to not go and start reporting OpenXR or Windows Mixed Reality issues until you have really made sure they are the cause of your issue. Similarly, if you are having performance issues, please consider the recent changes and tweaks you have made and try reverting them.

Regarding OpenXR, if you are using Preview runtimes and have received an update to the OpenXR Tools for Windows Mixed Reality package, which is our Preview runtime, the first step is to turn off the Use latest preview OpenXR runtime in the Settings pane of the OpenXR Tools. This will effectively put you back on the Stable runtime, which (if you’ve read my Q&A above) is generally the version you had before the OpenXR Tools for Windows Mixed Reality was update. So is this pretty much the same a “rolling back one version”.

If you are still seeing issues both with and without the Preview runtime enabled, chances are that OpenXR is not the cause of your issue.

If you are seeing the issue only with the Preview runtime enabled and the Stable runtime works fine, then our update could indeed be the source of the problem. When this happens, the best thing to do is to follow the steps in the VR Enthusiast Guide to file a bug in the Feedback hub. Make sure to choose “VR Games & Apps” in for the category and provide a detailed description of the issue. Another way you can help our team is also to attach a problem recording (see step 11-13). This will ensure that we get the necessary information captured in the bug report.

Q: Why is it important to report crashes and CTD with the Preview runtime through the Feedback Hub?

The Preview runtime eventually becomes promoted to the Stable runtime. When this happens, there is no option to downgrade the OpenXR for Windows Mixed Reality back to the previous version. To avoid situations like the one from Nov 2021, where both the Preview and Stable runtime were not working, my team must be in a position to know and to investigate those issues. We did not receive reports through the Feedback Hub of the issues seen with the Preview runtime 108. So by the time we promoted it to be the Stable runtime, we did not resolve the issue with it.

We have taken new steps to prevent these issues in the future, for example we are monitoring this forum more frequently, and we have added additional telemetry reviews to catch large bulks of errors. We are also having more developers test our latest updates with Flight Simulator.

Q: I am using my Windows Mixed Reality headset through the SteamVR runtime, do these remarks apply to me?

If you are using the SteamVR OpenXR runtime to run your game, then no, the OpenXR for Windows Mixed Reality and OpenXR Tools for Windows Mixed Reality packages are not involved. You may not file feedback about OpenXR issues through the Feedback Hub, because the SteamVR runtime is not something we have control over, and we cannot investigate or fix issues for it.

Q: What’s next (Jan 2022)?

We will be making a release sometimes in late January or early February. This release is mostly targeted at Enterprise customers (so HoloLens 2). There are a couple of small improvements related to VR and Flight Simulator, namely fixing an occasional CTD and some performance improvements related to VR controller tracking.

To ensure a smooth rollout, it’s important that you report any major issue if any with the current Preview runtime 109, so we have a chance to look into them.

Thank you all - and happy simming!

27 Likes

This is pure gold and should be mandatory reading for VR users!

Thanks for all you are doing for us VR nuts!

3 Likes

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.