Hello @XenoPL, we're using one issue report per unofficially supported game title, so I've gone ahead and transferred this issue report to https://github.com/ValveSoftware/Proton/issues/3991#issuecomment-2850969831.
Digging trough the log I found crash happens due to unimplemented extension: openxr:xrConvertWin32PerformanceCounterToTimeKHR
5700.517:0264:0324:warn:seh:dispatch_exception "[01:34:04.198] 804 INPUT: SimVRHMDReset (DOWN)\n" 5700.517:0264:0324:fixme:openxr:xrConvertWin32PerformanceCounterToTimeKHR unimplemented 5700.517:0264:0324:warn:debugstr:OutputDebugStringA "[01:34:04.198] 804 [OpenXR Exception]: XrResult = -6, Origin: xrConvertWin32PerformanceCounterToTimeKHR_(m_instance, &qpcTimeNow, &xrTim eNow)\n" 5700.517:0264:0324:warn:seh:dispatch_exception "[01:34:04.198] 804 [OpenXR Exception]: XrResult = -6, Origin: xrConvertWin32PerformanceCounterToTimeKHR_(m_instance, &qpcTimeNow, &xrTimeNow) \n"
Full log (couldn't attach, too big?): https://nextcloud.x-s.com.pl/index.php/s/oH2ijQ8cXAfgyHi
Looking at wineopenxr/openxr.c file it's one of two not implemented extensions:
My assumption is any app that relies on those extension will crash. IMHO it's more a matter of Proton openxr missing feature rather than problem with unsupported app. Would that make it valid bug report worth reopening?
Going further down the rabbit hole, I've looked up what Monado does. There, if Monado is compiled for Win32 target, for Time<->PerfCounters conversion use equation:
XRTime(ns)=PerfCounter(ticks)*ns_per_tick
where :
ns_per_tick = 1,000,000,000 / QueryPerformanceFrequency which is Windows function.
1,000,000$ question is: does Wine/Proton provide equivalent function?
Issue solved with commit https://github.com/ValveSoftware/Proton/commit/eaca456f5a610caabe4e8a6ad5b2147ca6f22610
Thanks for anyone involved.
When running Falcon BMS 4.37.7 in VR using OpenXR API, attempt to recenter VR position by in-game "SIM: VR Camera Rotation Reset" command causes game to freeze. In debug window I can see error:
OpenXR exception XrResult = -6 xrConvertWin32PerformanceCounterToTimeKHR_(m_instance, &qpcTimeNow, &xtTimeNow)
I'm able to reproduce this issue using two different OpenXR runtime libs:
This issue is not present when OpenVR api is used nor it happens when game is run on Windows (tested both with ALVR+SeamVR and VirtualDesktop.
Steps to reproduce:
Expected result:
Camera position/rotation is reset to game default position
Actual result :
Image freezes in HMD, game stops responding to keyboard/mouse/joystick inputs, if debug was enabled, in debug window error can be seen.
System specs:
CPU: R7 9800X3D
RAM: 64GB
GPU: Saphire Nitro+ RX 7900XTX
HMD: Pico 4 Ultra
OS: Fedora 42 x64
kernel: 6.14.5
driver: mesa 25.0.4
SteamVR 2.11 (2.10 froze on UI -> 3D world transition)
ALVR 20.13.0
WiVRn 0.24.1
Falcon BMS 4.37 update 7