Problem getting Microsoft 'Mixed Reality OpenXR Runtime' app to switch runtimes

Trying to get the “Mixed Reality OpenXR Runtime” app to switch runtimes, but just shows the REFRESH button. Cannot give me the button to switch runtimes. Followed the instructions to the letter from this thead to go avail: “OpenXR - Mixed Reality | Microsoft Learn”. Any other tricks needed to get the runtime changed over so the HELLO_XR example will run with the Microsoft runtime?

Hello @LeeBamberTGC and welcome to the Khronos Forums. As this was more of a question than OpenXR Feedback, I have taken the liberty of moving the post to it’s own topic. Hope that is okay.

That’s great, thanks! Hopefully someone out there has experienced the same issue. I would have expected the hard part was compiling and running the sample, turns out it was the easy bit. Fingers crossed this is not some nasty problem inside Windows 10 :slight_smile:

More Info. By hacking in the runtime to be used as an environment variable instead (using XR_RUNTIME_JSON), and debugging the code, it fails on LoadLibrary with the error code 193 (ERROR_BAD_EXE_FORMAT). This refers to the DLL found in the “Mixed Reality OpenXR Developer Preview Compatibility Pack” zip, as though this DLL was a corrupted DLL or some 32/64 bit incompatibility.

Sorry for bombarding my own thread. Just reporting progress on the above. The Mixed Reality OpenXR DLL currently available is 64-bit only. You should build a 64 bit project if you want to load the 64-bit DLL runtime, this might also explain why the App Store app is not cooperating, perhaps it needs both 32 and 64 bit DLLs to offer the runtime selection choice. Anyhoo, any ideas on the above original post will help me round off my understanding of the runtime component of OpenXR :slight_smile:

All is good, shows you are working on a solution and not waiting for others to find it for you. :slight_smile:

I answered this in Slack, and just discovered this forum today. The “refresh button” keep showing is probably because you unzipped the file in c: root folder. You can try to unzip it inside C:\program files folder, and it should get you through this. We will try to put this in our docs website.

We are aware of this confusion, and working on a better solution to share with developers in next couple days. Thanks for feedback.

I modified the ActiveRuntime field data in REGEDIT to show as this: “C:\Program Files\MixedRealityOpenXRCompatPack\MixedRealityRuntime.json” and created the required folder at the new location but the app stills hows as REFRESH. Does it need a restart or does it need to be in the “Program Files (x86)” folder, or some special way to handle the path as there is now a space in the absolute path? Thanks for the quick reply!!

What you did looks right. You need to move the dll file side by side with the json as well. You don’t need to restart computer. The zip file we shared is x64 bits only.

We are in process to push out a better compat pack using installers so the outcome is more deterministic. Hang on for a couple days for that update.

Things will work better on latest insider flight without this compat pack. But I understand you want to stay at 1809 version of Windows 10. Using compat pack is the only way so far on that version of windows.

Thanks for the prompt reply and info! Looking forward to the installer(s), that would make life a lot easier when it comes time to distribute demos :slight_smile: Thanks again.

We’ve updated the instruction to use OpenXR developer preview compat pack. It is an installer that will automatically fix the regkey for you. Would you like try it out?

2 Likes