Homepage › Forums › Technical Support › Can’t use VorpX with Reverb G2 since I used Varjo Aero
- This topic has 11 replies, 3 voices, and was last updated Mar 2, 2024 1:30pm by Ralf.
-
AuthorPosts
-
Feb 23, 2024 at 11:56pm #219353BoblekoboldParticipant
Hi Ralph,
I just tried VorpX on a new Varjo Aero, but now I can’t use VorpX with my Reverb G2 anymore.
It says it doesn’t find headset.
I managed to launch Desktop Viewer (but with SteamVR, no OpenXR), and it seems I can’t launch a game with OpenXR or even SteamVR (I would prefer OpenXR, like before).
I can use other VR programs, like DeoVR.
I tried to uninstall Varjo Base but It didn’t solve the problem.
Feb 24, 2024 at 12:35am #219354BoblekoboldParticipantI had to reinstall OpenXR in Windows Store, and it works again. I guess installing Varjo Base uninstalled it.
I suppose it will be hard to use both headset on the same computer.
Feb 27, 2024 at 4:04am #219377BoblekoboldParticipantSo Reverb G2 works fine with OpenXR, but Varjo Aero is now “broken” with VorpX.
I can’t use OpenXR anymore. I think it’s because I choose an option in Steam to set SteamVR as default OpenXR or something like that (SteamVR asked me, and it was probably a mistake to say yes…but I don’t know how to revert it). Apparently, It prevents me to hook games with OpenXR option, even if SteamVR application is closed.
VorpX still hook games with SteamVR but it’s far less optimized and reliable. Sometimes it even freeze (even on very old games).
I would like to know how to hook again using OpenXR with Varjo Aero ?
Feb 27, 2024 at 7:36pm #219382RalfKeymasterIf the Varjo has its own OpenXR runtime, you have to make that the default one again. There probably is some button for that in the Varjo software.
BTW: Never let SteamVR make itself the default OpenXR runtime if your headset has its own. Steam’s OpenXR is not only incomplete (no 32bit version for older games at all), it’s also just a wrapper to SteamVR. So there is no reason to use it, not even for native SteamVR headsets, unless some app/game is OpenXR-exclusive.
Mar 1, 2024 at 4:22am #219406BoblekoboldParticipantThank you for your answer.
There is a switch button in Varjo Base, and it set OpenXR to varjo runtime (according to openXR toolkit).
But it doesn’t solve my problem. I can’t run some old games with OpenXR. I can run Metro Exodus but I have strange issues I don’t usually have (with 3D, etc.).
So I guess it’s still using this broken Steam’s OpenXR.
I tried to reinstall SteamVR (and deleting some files) but it didn’t fixed the problem.
Varjo Aero doesn’t track without SteamVR (and base stations) so I can’t simply uninstall SteamVR.
So I guess I need to find a way to change back this option.
Mar 1, 2024 at 4:52am #219407BoblekoboldParticipantSteam asked me again the question about OpenXR, so maybe it’s not the problem ?
Does OpenXR works well with Varjo Aero in VorpX ?
Mar 1, 2024 at 5:33am #219408dellrifter22ParticipantVarjo Base requires at least some portion of steamVR to run the light house tracking, but can still run apps in openXR mode, including vorpX.
There are 2 switches in Base: toggle openVR (steamVR), and toggle openXR. I always leave OpenXR toggled on, but only toggle openVR mode additionally to play native vr games on steam. But I turn it off again when I use vorpX set to openXR runtime, otherwise I get unplayable performance.
There are the occasional games that won’t start in vorpX openXR. You get an error. For those I need to run vorpX in steamVR mode, but these are usually older games, on rare occasion.
Mar 1, 2024 at 10:14am #219409RalfKeymasterThat sounds as if the Varjo might use SteamVR’s OpenXR implementation, which is 64bit only although the spec demands 32 and 64bit support. Valve has been made aware of this several times by multiple people over the last three years. They didn’t even bother to reply.
There also is another severe spec violation in Valve’s OpenXR implementation that is a bit more complicated to explain:
In OpenXR there are two calls that you use at the start of a frame. The first tells OpenXR at which point in time a frame starts, the second makes the runtime wait briefly if necessary to meet the intended frame duration. Splitting these two things into two calls is tremendeously useful for more complex multithreaded rendering scenarios like vorpX’s separate game/headset rendering, which explitely is why OpenXR is designed this way.
Since Valve’s OpenXR actually is a SteamVR wrapper, but SteamVR handles these two things in one call – probably it just wasn’t designed with such a multithreading scenario in mind originally – Valve’s devs chose to violate the OpenXR specs here. Instead of adding the required functionality to SteamVR, they made their OpenXR wait in the call that signals the frame start, while the call that is supposed to do the waiting simply does nothing.
That doesn’t really matter much for OpenXR apps with a common single thread render loop, but it makes things go haywire for anyone who wants to take advantage of OpenXR’s multithreaded frame handling, which doesn’t work at all as intended. As if that wasn’t bad enough, Valve doesn’t even document their spec violation, you have to find out yourself why your stuff runs like crap with their OpenXR and try to work around it. Anyone mentioning this on their dev forums, again multiple people on multiple occasions, was also ignored, of course.
Long story short:
WMR’s and Meta’s OpenXR are fully working and complete. If other headset vendors did their own OpenXR runtime implementation, that will probably also be great.
SteamVR’s OpenXR however should only be used if you have to. It’s incomplete (no 32bit) and on top that doesn’t implement a core rendering mechanism correctly.
Mar 1, 2024 at 7:50pm #219412BoblekoboldParticipant@Ralph :
thank you for your detailed explanations.
Let’s hope future VR headsets won’t use SteamVR’s OpenXR.So one thing I have to figure out :
– does Varjo always use SteamVR’s OpenXR when it’s told to use OpenXR ?
– or is it a problem I created on my PC ?When I was trying to reuse Reverb G2, I did a few things. I uninstalled OpenXR. Maybe I don’t have the right version.
In Windows (11) installed “Applications” list, I have “OpenXR for Windows Mixed Reality”.
But I think I had “OpenXR” instead at the beginning (after installing Varjo Base, I don’t know before because I didn’t checked recently).Maybe I should look a way to reinstall a working version of OpenXR, but I don’t know how to.
For now, Varjo support did not answered to me.
@dellrifter22 :
thank you for these informations !Can you tell us what do you have in installed “Applications” list in Windows concerning OpenXR ?
I have the OpenXR error on Bioshock. But with SteamVR VorpX option it sometimes freeze, wich it never does with Reverb G2 OpenXR (so with recent games I don’t think it would works very well, and it doesn’t seems to with Metro serie).
Did you try Metro Exodus ? I didn’t try much games with Varjo for now.Wich games would you recommand me to try, that you know it works with OpenXR ?
Mar 1, 2024 at 8:04pm #219413RalfKeymasterWhen you launch the WMR portal while another OpenXR runtime is set, it should ask normally whether it should make itself the OpenXR runtime. After agreeing to that your G2 should work like before.
If for some reason that doesn’t work, try using the G2 with SteamVR by choosing SteamVR as your headset type in the vorpX config app. Native WMR OpenXR typically is better for WMR headsets, hence vorpX recommends it in that case, but SteamVR also works. Better than nothing.
The one thing you should definitely avoid whenever possible is OpenXR via SteamVR’s OpenXR implementation.
Mar 2, 2024 at 12:54am #219414BoblekoboldParticipant@Ralph :
Yes I saw this question in WMR and I have no problem with G2 anymore. Only with Varjo Aero.Mar 2, 2024 at 1:30pm #219416RalfKeymasterAh sorry, I thought getting the G2 running was still the issue. Didn’t really read your second post above. Since I don’t have a Varjo, I’m afraid I’m not of much help then in regard to Varjo specific trouble shooting.
-
AuthorPosts
- You must be logged in to reply to this topic.