Waxi Posted June 13, 2023 Posted June 13, 2023 (edited) Issue description When attempting to start DCS Open Beta 2.8.6.41066 with the --force_enable_VR --force_OpenXR command line options of the DCS.exe, DCS starts in 2D mode and not in VR mode. This happens for both the single threaded and multithreaded versions of DCS. Furthermore, the issue occurs no matter if Windows Mixed Reality or Steam VR are used as OpenXR runtime. Skimming through the dcs.log file (see attachment), I noticed the following error related to OpenXR: 2023-06-13 09:39:09.356 ERROR VISUALIZER (Main): OpenXR exception: XrResult failure [XR_ERROR_FILE_ACCESS_ERROR] Origin: xrCreateInstance(&createInfo, &instance) Source: Projects\Visualizer\Source\OpenXR\openxr_program.cpp:299 2023-06-13 09:39:09.357 INFO VISUALIZER (Main): LAUNCH IN VR ed_FakeVR: ed_FakeVR 2023-06-13 09:39:09.358 INFO VISUALIZER (Main): render thread initialization... It seems that DCS cannot access the OpenXR library file in the file system. Other OpenXR applications like the demo included with OpenXR Tools for Windows Mixed Reality work fine. When not using the --force_OpenXR command line option with the single threaded version of DCS.exe, DCS starts in VR. The system runs a fresh, clean and fully updated installation of Windows 11 Pro and the latest drivers for the installed NVIDIA RTX 3080 Ti with a HP Reverb G2 WMR headset. An Ultraleap Leap Motion Controller and the corresponding Ultraleap Gemini hand tracking software installed. Solution that worked for me: The Ultraleap Gemini hand tracking software includes an OpenXR plugin. DCS also supports the Ultraleap Leap Motion Controller and includes the corresponding library but seems to come with an outdated and/or conflicting version. So, this is how I could fix the issue: Copy this file: C:\Program Files\Ultraleap\OpenXR\LeapC.dll To the following folders and overwrite the existing LeapC.dll files there: C:\Program Files\Eagle Dynamics\DCS World OpenBeta\bin C:\Program Files\Eagle Dynamics\DCS World OpenBeta\bin-mt After this, I could successfully launch DCS in OpenXR VR mode. dcs.log Edited June 15, 2023 by Waxi 1 1
Flappie Posted June 13, 2023 Posted June 13, 2023 (edited) Hi. Have you read mbucchia's guide here? I don't know much about VR but his post gives much advice. Edited June 13, 2023 by Flappie ---
Waxi Posted June 13, 2023 Author Posted June 13, 2023 (edited) It seems that I have found a solution. I have an Ultraleap Leap Motion Controller and the corresponding Ultraleap Gemini hand tracking software installed. This software includes an OpenXR plugin. DCS also supports the Leap Motion Controller and includes the corresponding library but seems to come with an outdated and/or conflicting version. So here is what worked for me: Copy this file: C:\Program Files\Ultraleap\OpenXR\LeapC.dll To the following folders and overwrite the existing LeapC.dll files there: C:\Program Files\Eagle Dynamics\DCS World OpenBeta\bin C:\Program Files\Eagle Dynamics\DCS World OpenBeta\bin-mt After this, I could successfully launch DCS in OpenXR VR mode. 34 minutes ago, Flappie said: Hi. Have you read mbucchia's guide here? Thank you for the hint. I will check it out. Edited June 13, 2023 by Waxi
Flappie Posted June 13, 2023 Posted June 13, 2023 Thanks for your precious feedback. I see DCS 2.8.6.41066.1 is using this version: What version number of LeapC are you using now? ---
Waxi Posted June 14, 2023 Author Posted June 14, 2023 This is the version of LeapC.dll that comes with the latest Ultraleap Gemini software and that I am now using with DCS: 1
CougarFFW04 Posted June 29, 2023 Posted June 29, 2023 Hi By Waxi, Thanks for the ddll tips YOU savec my day. Thank you SO MUCH.
Dentedend10 Posted November 29, 2023 Posted November 29, 2023 Hi, this is still an issue and the solution still works! thank you!!! Alienware Aurora R10, Ryzen 5800X3D, RTX4080, 32GB RAM, Pimax Crystal, Winwing F18 throttle, VKB Gunfighter F14 Stick, VKB Modern Combat Grip, Logitech Rudder pedals, DOF Reality H3
Yuma Posted December 1, 2023 Posted December 1, 2023 Bro this worked! Thanks!. This should be pinned somewhere for those using hand tracking with Ultraleap.
AZDane Posted February 7, 2024 Posted February 7, 2024 Any Pimax Crystal with hand tracking users? The hands sits too high, so I have tried to change api_layer_config.json, but my changes are not being accepted. I know the file is being read because I’ve tried to change the log level to debug and it’s writing to the log file. I’m suspecting maybe the config is being overridden by DCSs position values, but not sure what is going on. Any suggestions?
hornblower793 Posted February 7, 2024 Posted February 7, 2024 (edited) 18 minutes ago, AZDane said: Any Pimax Crystal with hand tracking users? The hands sits too high, so I have tried to change api_layer_config.json, but my changes are not being accepted. I know the file is being read because I’ve tried to change the log level to debug and it’s writing to the log file. I’m suspecting maybe the config is being overridden by DCSs position values, but not sure what is going on. Any suggestions? I have the same issue and have tried the same steps. I don't know if there is a technical limitation on the hand offset in DCS but it would be great if you could offset by up to -20 in the vertical direction rather than the current limit of -10. IIt would be best to start a separate thread as this is in one marked as solved Edited February 7, 2024 by hornblower793 Added last sentence Windows 11 Home ¦ Z790 AORUS Elite AX motherboard ¦ i7-13700K ¦ 64GB Corsair Vengeance DDR5 memory @ 5600MHz ¦ Samsung 990 Pro 1TB SSD for OS, Samsung 980 Pro 2TB SSD for DCS ¦ MSI GeForce RTX 4090 Gaming X Trio 24GB ¦ Virpil WarBRD base with VFX grip, Thrustmaster A10c and F/A-18 grips ¦ VKB Gunfighter Mk4 and MCG Pro ¦ Thrustmaster Warthog Throttle ¦ VKB STECS Throttle ¦ Virpil TCS rotor base with Shark and AH-64D grips ¦ MFG Crosswinds ¦ Total Controls Multi-Function Button Box ¦ Pimax Crystal
AZDane Posted February 8, 2024 Posted February 8, 2024 (edited) 15 hours ago, hornblower793 said: I have the same issue and have tried the same steps. I don't know if there is a technical limitation on the hand offset in DCS but it would be great if you could offset by up to -20 in the vertical direction rather than the current limit of -10. IIt would be best to start a separate thread as this is in one marked as solved After a lot of testing I figured it out: 1. Had to download and install Gemini from here: https://leap2.ultraleap.com/gemini-downloads/ 2. After activating Hand tracking in PimaxXR, initially VR wouldn't boot because there was a conflict with an older OpenXR dll in DCSs bin/bin-mt, so I had to copy LeapC.dll from C:\Program Files\Ultraleap\OpenXR into D:\Games\Eagle Dynamics\DCS World OpenBeta\bin-mt and D:\Games\Eagle Dynamics\DCS World OpenBeta\bin to make it work. 3. There are 2 places inside DCS where you can enable UltraLeap hand tracking. Either Special - UltraLeap - Enable or by going to tab VR - Drop down under Use Hand Controllers - UltraLeap. Both can't be enabled at the same time. The latter has a major advantage for two reasons 1. It's possible to adjust UltraLeaps configuration so it matches the actual install of the handtracking module. The in-game sliders alone were not able to adjust the position of my hands to actually match my simpit. See below in 4. how to adjust the configs. The configs don't do anything if you use the Special - UltraLeap option. You have to use the drop down under VR. 2. Another drop down in the VR menu allows you to select "No Pointers" or "No Pointers or Touch". 4. Details about changing the configuration file can be found here: https://docs.ultraleap.com/openxr/configuration/index.html make sure not to place the file in the wrong folder. The folder it needs to go into is a hidden folder “ProgramData\Ultraleap\OpenXR”. I found that the following settings work well for Pimax Crystal as a starting point: { "log\_level": "warn", "pos": \[0.0, 0.0, -0.08\], "tilt\_angle": 25 } With those settings I am 0,0,0 inside DCS and my hands match up perfectly with my cockpit. Edited February 8, 2024 by AZDane
hornblower793 Posted February 8, 2024 Posted February 8, 2024 7 hours ago, AZDane said: After a lot of testing I figured it out: 1. Had to download and install Gemini from here: https://leap2.ultraleap.com/gemini-downloads/ 2. After activating Hand tracking in PimaxXR, initially VR wouldn't boot because there was a conflict with an older OpenXR dll in DCSs bin/bin-mt, so I had to copy LeapC.dll from C:\Program Files\Ultraleap\OpenXR into D:\Games\Eagle Dynamics\DCS World OpenBeta\bin-mt and D:\Games\Eagle Dynamics\DCS World OpenBeta\bin to make it work. 3. There are 2 places inside DCS where you can enable UltraLeap hand tracking. Either Special - UltraLeap - Enable or by going to tab VR - Drop down under Use Hand Controllers - UltraLeap. Both can't be enabled at the same time. The latter has a major advantage for two reasons 1. It's possible to adjust UltraLeaps configuration so it matches the actual install of the handtracking module. The in-game sliders alone were not able to adjust the position of my hands to actually match my simpit. See below in 4. how to adjust the configs. The configs don't do anything if you use the Special - UltraLeap option. You have to use the drop down under VR. 2. Another drop down in the VR menu allows you to select "No Pointers" or "No Pointers or Touch". 4. Details about changing the configuration file can be found here: https://docs.ultraleap.com/openxr/configuration/index.html make sure not to place the file in the wrong folder. The folder it needs to go into is a hidden folder “ProgramData\Ultraleap\OpenXR”. I found that the following settings work well for Pimax Crystal as a starting point: { "log\_level": "warn", "pos": \[0.0, 0.0, -0.08\], "tilt\_angle": 25 } With those settings I am 0,0,0 inside DCS and my hands match up perfectly with my cockpit. Thanks - I will give this a go Windows 11 Home ¦ Z790 AORUS Elite AX motherboard ¦ i7-13700K ¦ 64GB Corsair Vengeance DDR5 memory @ 5600MHz ¦ Samsung 990 Pro 1TB SSD for OS, Samsung 980 Pro 2TB SSD for DCS ¦ MSI GeForce RTX 4090 Gaming X Trio 24GB ¦ Virpil WarBRD base with VFX grip, Thrustmaster A10c and F/A-18 grips ¦ VKB Gunfighter Mk4 and MCG Pro ¦ Thrustmaster Warthog Throttle ¦ VKB STECS Throttle ¦ Virpil TCS rotor base with Shark and AH-64D grips ¦ MFG Crosswinds ¦ Total Controls Multi-Function Button Box ¦ Pimax Crystal
AZDane Posted February 8, 2024 Posted February 8, 2024 (edited) On 2/8/2024 at 12:41 AM, hornblower793 said: Thanks - I will give this a go Play around with the angle part if your cockpit has a lot of depth like in the F16 the difference between the ICP and MFDs. I believe the 25 degree number was posted by Pimax, but for me to match up my MFDs to my fingers as well as ICP, it’s closer to 15. EDIT: I just measured the actual angle on the tracking module and it’s actually 15 degrees, so not sure where the 25 degrees come from EDIT2: The Pimax Crystal mounting surface is not 90 degrees to the screen, so maybe there is where the missing 10 degrees are. Edited February 12, 2024 by AZDane
Cop9885 Posted April 26, 2024 Posted April 26, 2024 Its been a few months since anybody posted here, but I'm trying to create create/edit the json file. To which I'm absolutely clueless. Could anybody forward me the copy of the api_layer_config.json file, so i can drop it in my ultraleap/openxr folder. Many thanks
AZDane Posted April 30, 2024 Posted April 30, 2024 On 4/26/2024 at 9:06 AM, Cop9885 said: Its been a few months since anybody posted here, but I'm trying to create create/edit the json file. To which I'm absolutely clueless. Could anybody forward me the copy of the api_layer_config.json file, so i can drop it in my ultraleap/openxr folder. Many thanks Has to go into C:\ProgramData\Ultraleap\OpenXR Pimax has confirmed that the angle is indeed 15 degrees. After measuring the various distances in Fusion 360, the following values works for me. Your values may need to be slightly different depending on how deep your eyes are set and if you use different foam padding. file name api_layer_config.json { "log_level": "warn", "pos": [0.0, -0.06, -0.09], "tilt_angle": 15 } Also, be aware that everytime you update DCS, you have to either copy LeapC.dll from C:\Program Files\Ultraleap\OpenXR into D:\Games\Eagle Dynamics\DCS World OpenBeta\bin-mt and D:\Games\Eagle Dynamics\DCS World OpenBeta\bin or DCS will not boot into OpenXR VR. Alternatively you can just delete the LeapC.dll everytime from the DCS folders.
Cop9885 Posted May 8, 2024 Posted May 8, 2024 Thanks for the reply AZDane But I don’t know how to actually create a json type file and I don’t have the required file in the Openxr folder.
Recommended Posts