The online racing simulator
64 Bit Support -> OpenXR Support
So this was a bit fun to fun to try out. So basically thought to try getting OpenComposite to work with LFS as it tends to resolve some of the "warping" issues in VR that LFS suffers from (fixed it for iRacing particularly), because this is my second favorite sim of all time and I thought to promote it more in my streams.

However, after looking over https://mbucchia.github.io/OpenXR-Toolkit/opencomposite#headset-compatibility it seems like using OpenXR is a big no because certain headsets do not support 32bit applications.

Which means that even if there was OpenXR support via OpenComposite, it's essentially impossible to use with LFS because it's still a 32-bit app afaik.

Is there any chance on it moving to 64-bit and possibly just moving to OpenXR support since OpenVR is basically done in terms of overall development?

As much as I'm sure some folks would complain about losing support for older hardware, it's a bit of an issue with the game not supporting newer hardware already

Also holy crap I have not updated my profile picture. Man I was a weeb. I guess I'm still kinda a weeb but I'm like... "refined" weeb.
Hi, im' waiting for pico 4, lfs will not run with pico 4 until 64 bits with openXR support ? ouch !
#5 - gu3st
Via SteamVR which adds unneeded overhead.

OpenComposite lets you skip SteamVR and run OpenVR API games in OpenXR directly with improved performance.

OpenXR is the inevitable "stable" API for VR. Oculus has deprecated their own API in favour of it and both SteamVR and WMR offer OpenXR runtimes (great in the latter case as it skips SteamVR).
As mentioned in another post, I've had an initial look and made some notes about converting LFS to 64-bit. I don't see any real problems but a lot of lines need to change. Initial thoughts are it might take a week or two, which puts it on a low priority compared with tyre physics. I can't really think of any short-term benefits at the moment other than allegedly it's the only way to connect to OpenXR (which I've barely heard of and obviously would have to code for as well).

Anyway, maybe you could tell me what is the difference or connections between OpenXR and OpenVR and SteamVR?

I thought that the aim of OpenVR was exactly what you seem to be suggesting is the aim of OpenXR. But as far as I know, the only implementation of OpenVR was SteamVR? But thought that didn't have to be the case?

I must say that OpenVR/SteamVR has been really fantastic in providing a way for many games to connect with many headsets. Has its time really come, and why?

I could go reading and researching but thought you might give me a short explanation (if you feel like it).
#7 - gu3st
Quote from Scawen :As mentioned in another post, I've had an initial look and made some notes about converting LFS to 64-bit. I don't see any real problems but a lot of lines need to change. Initial thoughts are it might take a week or two, which puts it on a low priority compared with tyre physics. I can't really think of any short-term benefits at the moment other than allegedly it's the only way to connect to OpenXR (which I've barely heard of and obviously would have to code for as well).

Anyway, maybe you could tell me what is the difference or connections between OpenXR and OpenVR and SteamVR?

I thought that the aim of OpenVR was exactly what you seem to be suggesting is the aim of OpenXR. But as far as I know, the only implementation of OpenVR was SteamVR? But thought that didn't have to be the case?

I must say that OpenVR/SteamVR has been really fantastic in providing a way for many games to connect with many headsets. Has its time really come, and why?

I could go reading and researching but thought you might give me a short explanation (if you feel like it).

Things have just kind of evolved with OpenXR being the standard supported by all vendors. It's a standard owned by Kronos Group (OpenGL, Vulkan) rather than an API owned by Valve.

OpenVR was first to market that could be freely implemented and practically every headset does support it (to varying degrees of performance) and Valve has done a decent job of making it freely usable, but it's ultimately an API that is proprietary to Valve and their needs.

As you know, OpenVR/SteamVR does provide a freely implementable VR API and headsets are either native "OpenVR" or vendors like Oculus/WMR have provided plugins to allow their headsets to operate with OpenVR. One downside to OpenVR is that it does require Steam as SteamVR is the defacto standard implementation of OpenVR.

SteamVR also functions as the OpenXR runtime for most OpenVR headsets (although some ship their own OpenXR runtimes).

For Oculus, they've already deprecated their own API in favour of OpenXR and have shipped an OpenXR runtime that performs very well. Using it is as simple as setting it as default in Oculus settings.

For other headset vendors (Windows MR, Varjo), they're also shipping OpenXR runtimes that allow applications targeting OpenXR to function natively with their headsets, not requiring SteamVR to run applications.


Now, because there are so many applications written to OpenVR/Oculus API, 2 projects exist to translate those to OpenXR on the fly. OpenComposite does OpenVR => OpenXR (originally OpenVR => Oculus) and ReVive does Oculus API => OpenXR (Originally Oculus => OpenVR). For many people (myself included), one benefit to OpenXR is the ability to use OpenXR toolkit to further refine things to optimize for comfort or performance.

Now I don't entirely think that targeting OpenVR/Oculus only is bad, but OpenXR is the future and in the few apps I've used that are native OpenXR, there's some valuable performance gains from the reduction of SteamVR/Oculus overhead. But using tools like OpenComposite to give LFS OpenXR support is perfectly fine.

For OPs issue, it seems like their headset doesn't support OpenXR in 32 bit applications as they aren't shipping a 32 bit runtime. For my headset (Reverb G2 running on Windows Mixed Reality), Microsoft ships both a 32 and 64 bit runtime (64 bit in \Windows\System32\MixedRealityRuntime.dll, 32 bit in \Windows\SysWOW64\MixedRealityRuntime.dll) and expectedly OpenComposite works with LFS.
Thank you for the detailed info! Smile

64 Bit Support -> OpenXR Support
(8 posts, started )
FGED GREDG RDFGDR GSFDG