back

SteamVR, OpenXR & OpenVR

Foveated Rendering
Fixed Foveated Rendering for WMR HMDs in Assetto Corsa
Graphics Settings Guide
from Into the Radius VR
image sharpening (impacts performance)
CAS (Contrast Adaptive Sharpening) vs NIS (Nvidia Image Scaling)
Microsoft Store OpenXR Tools for Windows Mixed Reality
Nvidia Deep Learning SuperSampling (DLSS)
based on Temporal (instead of MultiSample) AntiAliasing.
OpenKneeboard supports one or 2 overlays for OpenXR.
Virtual Desktop OpenXR (VDXR) also works for Oculus, not WMR.
OpenKneeboard's Fred Emmott diagrammed SteamVR flow:

OpenComposite
Play SteamVR games with OpenXR instead of OpenVR on GitLab:  download from AppVeyor > Platform: x64 > Artifacts > OpenComposite.zip
Replace openvr_api.dll in the game:
$ find . -name openvr_api.dll -print
./Steam/bin/cef/cef.win7x64/openvr_api.dll
./Steam/openvr_api.dll
./Steam/steamapps/common/Aircar/Engine/Binaries/ThirdParty/OpenVR/OpenVRv1_0_16/Win64/openvr_api.dll
./Steam/steamapps/common/Aircar/Engine/Plugins/Marketplace/SteamVRInput/Source/ThirdParty/OpenVRSDK/bin/win64/openvr_api.dll
./Steam/steamapps/common/assettocorsa/system/x64/openvr_api.dll
./Steam/steamapps/common/assettocorsa/system/x86/openvr_api.dll
./Steam/steamapps/common/Bigscreen/Bigscreen_Data/Plugins/x86_64/openvr_api.dll
./Steam/steamapps/common/fpsVR/openvr_api.dll
./Steam/steamapps/common/MixedRealityVRDriver/bin/win32/openvr_api.dll
./Steam/steamapps/common/MixedRealityVRDriver/bin/win64/openvr_api.dll
./Steam/steamapps/common/OpenVR Benchmark/cyubeVR/Tools/openvr_api.dll
./Steam/steamapps/common/OpenVR Benchmark/Engine/Binaries/ThirdParty/OpenVR/OpenVRv1_0_10/win32/openvr_api.dll
./Steam/steamapps/common/OpenVR Benchmark/Engine/Binaries/ThirdParty/OpenVR/OpenVRv1_0_10/win64/openvr_api.dll
./Steam/steamapps/common/OpenVR Benchmark/Engine/Binaries/ThirdParty/OpenVR/OpenVRv1_0_15/Win64/openvr_api.dll
./Steam/steamapps/common/OpenVR Benchmark/Engine/Binaries/ThirdParty/OpenVR/OpenVRv1_0_16/Win64/openvr_api.dll
./Steam/steamapps/common/OVRdrop/OVRdrop_Data/Plugins/openvr_api.dll
./Steam/steamapps/common/SteamVR/bin/vrwebhelper/win64/openvr_api.dll
./Steam/steamapps/common/SteamVR/bin/win32/openvr_api.dll
./Steam/steamapps/common/SteamVR/bin/win64/openvr_api.dll
./Steam/steamapps/common/SteamVR/tools/steamvr_desktop_game_theater/win64/steamvr_desktop_game_theater_Data/Plugins/openvr_api.dll
./Steam/steamapps/common/SteamVR/tools/steamvr_environments/game/bin/win64/openvr_api.dll
./Steam/steamapps/common/SteamVR/tools/steamvr_media_player/win64/steamvr_media_player_Data/Plugins/openvr_api.dll
./Steam/steamapps/common/SteamVR/tools/steamvr_room_setup/win64/steamvr_room_setup_Data/Plugins/openvr_api.dll
./Steam/steamapps/common/SteamVR/tools/steamvr_tutorial/win64/steamvr_tutorial_Data/Plugins/openvr_api.dll
Make sure to turn off option to automatically start SteamVR in WMR Settings;
disabling hardware-accelerated GPU scheduling (HAGS).
OpenXR vs OpenVR
OpenVR:  required for controllers;    OpenVR Benchmark
OpenXR:  supports Foveated Rendering for multiple headsets
OpenXR ToolKit on GitHub
tweak OpenXR features and settings on e.g. DCS and MSFS 2020
via OpenComposite, works with e.g. Assetto Corsa, Project Cars 2
OpenXR for Windows Mixed Reality headsets

- Automagically installed for WMR on Windows >= 20H2
14 Apr 2023 settings   experiment with HAGS
SteamVR
with OpenComposite, supports both OpenVR and OpenXR OpenVR ToolKit works with OpenVR,
but reportedly works with e.g. Reverb G2, which now uses OpenXR..?
WMR headsets are driven by Windows Holographic API -> WMR runtime,
but that API may be driven:
  • directly from games or game engines (but none of interest)
    Matthieu Bucchianeri recommends Unreal over Unity,
    with UE5.3 adding VRS (Variable Rate Shading) with eye gaze,
        but Nvidia VRSS2 is only on DX11;  "UE5 is all in on DX12"
  • from SteamVR, provoking performance issues
  • using a special version of OpenXR, which may be driven by games,
    game engines or OpenComposite from OpenVR.
    This last is most performant for games of interest.
Windows Mixed Reality Passthrough for OpenXR
Works with HP Reverb (not G2) cameras and e.g. StereoKit apps.
Win 11 performance hacks
virtual monitor pre-allocation, Xbox overlay, OpenXR Explorer
Use OpenXR Loader Specs instead of registry key
Settings > System > Display > Graphics Default settings
Change default graphics settings   (HAGS)
maintained by blekenbleu