From 8fa44091cc5a6937bf3ea7fe7eabd7604c50f532 Mon Sep 17 00:00:00 2001 From: AwA <63929325+awa-vr@users.noreply.github.com> Date: Sun, 22 Feb 2026 21:40:26 +0100 Subject: [PATCH] Fix: frame freezing on Windows (#2931) --- .../cpp/platform/win32/OvrDirectModeComponent.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/alvr/server_openvr/cpp/platform/win32/OvrDirectModeComponent.cpp b/alvr/server_openvr/cpp/platform/win32/OvrDirectModeComponent.cpp index 7bb7a30547..cf7a5d88c4 100644 --- a/alvr/server_openvr/cpp/platform/win32/OvrDirectModeComponent.cpp +++ b/alvr/server_openvr/cpp/platform/win32/OvrDirectModeComponent.cpp @@ -228,8 +228,7 @@ void OvrDirectModeComponent::Present(vr::SharedTextureHandle_t syncTexture) { // This enforces scheduling of work on the gpu between processes. if (SUCCEEDED(pSyncTexture->QueryInterface(__uuidof(IDXGIKeyedMutex), (void**)&pKeyedMutex) )) { - // TODO: Reasonable timeout and timeout handling - HRESULT hr = pKeyedMutex->AcquireSync(0, 10); + HRESULT hr = pKeyedMutex->AcquireSync(0, 500); if (hr != S_OK) { Debug( "[VDispDvr] ACQUIRESYNC FAILED!!! hr=%d %p %ls", hr, hr, GetErrorStr(hr).c_str()