Correct way to patch Dirt Rally 1 to OpenXR with hook.cmd? My workaround resulted in working menus but darkness in gameplay.
bazookaben opened this issue · comments
Describe the bug
Not sure if there's a proper way to patch a game with hook.cmd for OpenXR, but using the method described below, I would see in-game menus, but not 3-dimensional game world
To Reproduce
I couldn't find a way to tell hook.cmd to use OpenXR instead of OpenVR, so my workaround was to just to delete the OpenVR DLLs and rename the OpenXR DLLs to the original names for the OpenVR DLLs (i.e. rename LibReviveXR32.dll to LibRevive32.dll)
This resulted in the game launching in OpenXR mode (I could tell by the occasional wavy WMR motion interpolation artifacts). The problem is only the 2D elements would display in the headset, the rest was black. I noticed in the game's desktop mirror view, I could see the game world rendering correctly and responding to headset movements
Expected behavior
OpenXR rendering and maybe a performance boost. Maybe compatibility with OpenXR Toolkit (method above seemed to not get detected by the Toolkit)
Environment:
- App: Dirt Rally 1 on Steam
- OS: Windows 11
- GPU: Radeon 5700xt
- Headset: Samsung Odyssey HMD+
Versions (please complete the following information):
- Revive 3.2.0
Additional context
I'm not sure if there is a way to properly patch games for OpenXR, but this workaround failed. If anyone knows a more correct way, I'd love to try it.
I also tried patching the game the old way with Revive 1.7.3 (latest version that has both patching capability and doesn't cause graphical issues), then using OpenComposite to force into OpenXR, but that caused an error that crashed the game on launch.