By request of a few members I have put this guide back up. But please note OpenXR now runs natively on DCS
TURBO and Reprojection work with the latest version of OpenXR Toolkit!
You may be better off with the official implementation than with OpenComposite (aka this guide) If you are unsure, I would suggest to start with the official implementation first
What is this?
An early quickstart guide on OpenXR for DCS specifically forWindows Mixed Reality Headsets– OpenComposite. It is designed to bypass WMR4SteamVR and interact with OpenXR via this new method
NOTE: Windows Mixed Reality Headsets are specific VR Devices such as Reverb G1, G2, Samsung's Super-Mario Odyssey etc. Some examples of headsets that are NOT WMR are Oculus Rift, Pimax, Varjo. There are ways to make some of those non-WMR headsets work with OpenXR but this guide is not designed for them
This post isconstantlyupdated so you don't have to read through 2 billion comments. The community has donated it's time, effort, expertise and countless hours of frustrations to get this to where it is today. If you have an issue, make sure to read this post fully before posting
Why do I want this?
Improved visuals and performance. The connection between Windows Mixed Reality portal and SteamVR is a performance bottleneck. It also consumes more VRAM. The strobe lightshow that are the DCS loading screens are a lot more Valium and a lot less Ecstasy
How much performance and visual improvement is there?
Depends a lot on your hardware and settings. Textures felt like a generational upgrade. For those who don't run reprojection, because of a different way OpenXR Handles frame delivery, gameplay has fewer stutters and is smoother. For those who run reprojection, OpenXR can reproject 45, 30 and 22FPS, instead of SteamVR's sole 45FPS
What works and what doesn’t?
Mods
Reshadedoes not workbut reshading can be done via OpenXR Toolkit (more on this shortly)
OpenVR_FSRdoes not work.
FSR/NISWorks via the latest versionOpenXR Toolkit
OpenKneeboardnowworks!Thank you
VrNecksavernow works
Reprojection
It's currently not great. (Especially on AMD cards it’s garbage) - generally a bit wonky where there are distortions & strobing (eg rotor blades, WWII aircraft) but works. You are injecting artificial frames which guess. Clarity will suffer. If it was this easy to bump up FPS, every game would be doing this. It has made large strides since the first Alpha iteration where it just crashed. It’s 2022. I don’t want to kink shame. So if you’re into it, have a go. A version with better performance is in the works which according to devs at Microsoft might take weeks or months
Shaders
I don't run any! OpenXR, The Toolkit with Open Compositeis a far superior combinationthat is designed to run together in unison. Especially with the latest release which can adjust a lot of parameters and even gives you fancy sunglasses. Shaders can be buggy, often break with updates and can have unintended consequences with OpenXR
However! If you're into reprojection then there is a shader mod that gets rid of rotor shadows which solves the artefact issues in the apache
It's easy! You need 3 things
1)OpenComposite Release
2)OpenXR Tools
3)OpenXR Toolkit* [OPTIONAL BUT RECOMMENDED], Sharpening Saturation and Contrast controls, Reprojection etc etc...
Let's go!
Instructions
By popular demand: For the fast method you may be able to get away with only Steps 2, 3, 4
(CAUTION: The fast method is also known as the very slow method if you account for theinevitabilityof having to come back to do all the steps properly)
1) Clean/Repair DCS
Start with a clean baseline and resolution settings
You *must* start with a clean installation of DCS. This doesn’t mean a reinstall. Just thorough clean/repair and check.For standalone installation do this via the Skatezilla utility (link below). Do a clean and a repair, make sure that the checkbox to check all the files is selected and additionally search for extra files too. Don't skip this step unless you know you have a fresh and clean install
- Pixel Density inside the far right tab in the DCS settings must be set to 1.0
- Please use the skatezilla utility. (This thread would be a fraction as big ifeveryone did the above ノಠ益ಠ)ノ彡┻━┻ )
2) Download and install latest release of OpenXR Tools for windows
Its here:https://www.microsoft.com/en-us/p/openxr-tools-for-windows-mixed-reality/9n5cvvl23qbt
- Tick Use latest preview and customise the render (the % is the same as SteamVR aka 100% for Reverb is 3100px).
- Set the runtime as OpenXR in the far right 'home tab' (if you don't see the option then it's good to go)
- Optional in the far right tab there is a [very purple] OpenXR demo scene you can quickly run to see if everything is good to go
I recommend to LeaveMotion Reprojection off/auto - but if you're into it then turn it on (P.S. Ignore auto. It is currently for MSFS only and behaves as 'off' in DCS)
NOTE: You can leave the render resolution unticked, in which case OpenXR will decide for you what the resolution you will get, but it's unlikely to be 100%
3) Download OpenComposite
It's here:https://gitlab.com/znixian/OpenOVR/-/tree/openxr#system-wide-installation- scroll down to 'System WideInstallation' and click download link titled 'OpenComposite Launcher'
- Extract the folder and put it somewhere safe (Desktop or Documents folder - but not inside sensitive folder eg.windows or program files)
- Run OpenComposite.exe (A small number people reported that they needed to right click 'run as Admin')
- Windows Defender has caused installation issues for some. If there are issues of starting in VR,Make sure it's not blocking OpenComposite
4) Set runtime to OpenComposite
(Which connects DCS to OpenXR) - On first startup it needs to download DLL's. Wait for that to complete before going to the next step.
NOTE: The app configuration screenshot below is post DCS launch. Initially, you will likely see a blank page. This is normal
- The application allows you to select which individual games you would like to connect via SteamVR and OpenComposite and comes with abuilt in update utility!Just run it every now and then to check for updates - Neato!
5) Make sure thatWMRP -> Settings -> Startup & Desktop -> Automatic Start Up ->SteamVR automatic launch is unticked
(Optional) My settings for WMRP are as follows, but you do you boo
6) Re-calibrate your headset by clearing the environment
Then realigning via Mixed Reality Portal, SEATED, and with the headset in the exact same position and with the exact same posture and direction you intend to fly in. This really helps tracking
If you already had an earlier version of OpenComposite installed, from now on you will only need to create an opencomposite.ini if you have a specific purpose for it. It goes into the bin folder. I have attached a working example. But Ino longer use it- in the past it has helped me with VR controllers and mouse (to see all available options go tohttps://gitlab.com/znixian/OpenOVR/-/tree/openxr
First DCS launch you will likely not see the loading screen in VR as the shaders are compiled. This will only be the case for the first launch. Be patient, or take the headset off and watch your mirror screen instead
Enjoy DCS
OpenXR Toolkit - (Do it!)
1) Do thisonly once you have completed the steps above and everything works. Failure to do this can cost you a lot of time. A lot easier to troubleshoot without OpenXR Toolkit
2) Download this:https://mbucchia.github.io/OpenXR-Toolkit/
3) Install and launch
4) Launch DCS then CTRL+F2 (or whatever keystroke you've setup inside the toolkit - mine are CTRL+ALT Up/Down/Left/Right)the menu will only appearinside VR
5) If the game fails to launch after the installation of OpenXR Toolkit or it doesn’t work then please see here:https://mbucchia.github.io/OpenXR-Toolkit/troubleshooting.html#missing-visual-c-system-component
6) Optional: Try out TURBOmode inside the OpenXR toolkit. It may give you extra performance but this may screw with FPS/Frame Time statistics. So use your eyeballs to gauge the difference.
Finally, I *Highly* Recommend staying away from ASW/Reprojection and instead using the OpenXR Toolkit to lock yourself to 55FPS for a 90HZ headset such as Reverb G2. Goingabovethat rate will likely give you stutters unless you can reach the magical 90FPS mark. Doing so consistently is a fools errand. Even 4090 owners will get CPU limited in DCS
Post Install
Everything works; but if you are interested in getting every bit out of your new setup please see@edmusstuning guide.The first post just like this one is also always updated
Please read these additional requirements and steps that might apply to you
- Mbucchia's Tips can be found here and are excellent. I highly recommend reading them as it will give you understanding of what is happening and often encountered issues, which I have written about belowhttps://mbucchia.github.io/OpenXR-Toolkit/opencomposite.html
- Don't use the in-game settings to increase Pixel Density, use the OpenXR dev tool.It must be left at 1.0
- Because OpenXR is very new, you must have afully updated version of Windows
- If you are able to render above 45FPS (or 50% of your refresh rate). Are really not into this reprojection business (unfortunately AMD Cards suck balls when it comes to reprojection/ASW) but are getting judding/rippling/stuttering. Use the toolkit to lock FPS to ~46.Dont be afraid to experiment with different FPS figures. The balance lies somewhere around 45-60FPS but YMMV - also you need to be able to actually render the frames you're locking yourself to
- But what if I am the kind of man who wants smooth game-play and also enjoys nausea inducing epileptic strobe lightshow whilst I fly in DCS. I got you fam! Just turn on the 60hz setting inside Mixed Reality -> Headset Display -> Frame Rate. Glow in the dark MDMA pacifiers optional, but are highly encouraged
- Are you seeing DCS through a fishbowl but you're not a fish? Try this:
- Some people have an old version of OpenXR installed. This is especially the case if you in the past have run MSFS and/or beta/early releases of VR applications and windows. For some people it refuses to update. If performance is bad, do the following: Remove all three apps (screenshot below) and install OpenXR Developer tools. Then navigate to the right most tab which gives you a link to install the OpenXR Runtime via the Windows Store (something that I could not find by searching the store alone) - Install that, don't bother with the toolkit and launch DCS. Once performance is confirmed to be better, you may install the Toolkit
- Nvidea graphic card holders disable hardware-assisted GPU scheduling (HAGS). This is especially the case if you run OpenKneeboard or any of the additional non-standard addons. Failure to do this can in some instances give you a penalty of around ~20FPS. The issue stems around multiple processes using Direct3D/2D concurrently
- AMD Card holders Navi and above. Work out your maximum stable clock speed and set the minimum speed 100-200mhz below that using Adrenaline Software
A note about performance in OpenXR and why performance figures do not make sense and my attempt getting in front of 'tHe FpS FiGuReS aRe WoRsE!'
Please see this:https://forums.flightsimulator.com/t/vr-reverb-g2-wmr-performance-motion-reprojection-cpu-issues-overclocking/497696/4?u=mbucchia
TL/DR - Put down those FPS metrics and touch some grass. The only thing that matters is if you feel the performance is better. The only thing that matters if you see the visual difference
P.S Jesus! Forget crypto miners, it's all you guys who havebeen buying up the 3090's
A massive; yuuuuge Thank you to Jabbah, Znix, Microsoft's Matthieu B and his team for this work and donating their own time (not to mention their sanity answering our dumb questions). These guys are the hero's who are responsible for OpenComposite, OpenXR Toolkit and OpenXR it self
Edited by nikoel