Skip to main content
New Participant
August 14, 2026
Question

PC WebXR over Quest Link intermittently hangs in navigator.xr.requestSession();

  • August 14, 2026
  • 1 reply
  • 94 views
Hi,
I am experiencing an intermittent PC WebXR issue with a Quest 2 and Meta Horizon Link.

Summary
When a WebXR page calls:
navigator.xr.requestSession("immersive-vr")
the Promise often remains pending indefinitely. The browser page stays on “Starting VR” or “Loading VR”.
I added a 150-second diagnostic timeout to my application, so it eventually displays “VR timed out”. This timeout is only an application-side diagnostic: the native requestSession() Promise itself neither resolves nor rejects.
The problem also occurs with official WebXR samples, so it does not appear to be specific to my application or its assets.

Environment
- Headset: Meta Quest 2
- PC OS: Windows 11 64-bit
- GPU: NVIDIA GeForce RTX 4070 Laptop GPU
- NVIDIA driver reported by Meta logs: 32.0.15.6624 (status: OK)
- Meta Horizon Link / Oculus Runtime: 1.206.0 / 206.0.0.109.432
- Browser: Microsoft Edge (Chromium)
- Connection methods tested: USB & Air Link

Reproduction steps
1. Connect the Quest 2 to the PC using USB Link or Air Link.
2. Enter the Meta Link environment.
3. Open Microsoft Edge on the PC.
4. Open either an official WebXR sample or my local WebXR application.
5. Click the button that calls requestSession("immersive-vr").
6. The page remains on “Starting VR” or “Loading VR”.
7. In my application, the diagnostic timeout appears after 150 seconds.

Expected result
The immersive WebXR session should start within a few seconds.

Actual result
The requestSession() call frequently remains pending for 100–150+ seconds, or never completes.
Occasionally it succeeds once, but the next attempt fails again.

Important observations
- Official WebXR samples reproduce the issue.
- The same official samples work in the Quest standalone browser.
- Both USB Link and Air Link are affected.
- Meta Link itself can connect and stream the PCVR environment normally.
- The Meta logs show that LinkClient continues decoding and presenting frames while the WebXR request is stuck.
- During failed attempts, Edge does not appear to create a new OpenXR swapchain or enter VR.
- Therefore, this appears to be in the PC browser -> Meta OpenXR/Link runtime path, rather than the headset’s standalone WebXR support, my scene assets, or only the USB cable.

Intermittent successful attempt
In one successful attempt, the Meta log showed:
13:48:40 - Edge connected to the Meta runtime / HMD created
13:50:44 - CreateTextureSet (4160x2096)
13:50:44 - Enter VR
That attempt took approximately 124 seconds before the immersive session finally started.

Other attempts have taken around 99–120 seconds, and the latest attempts did not create a browser XR swapchain within 150 seconds.

Relevant repeating log messages
Server (highwind_dap_server) not found
Link over DISCO:
DiscoHighwindDapHostRipcClient InitClient() failed
XrsTransportApiClient:
Failed to initialize transport api client
Code: -6100 -- ovrError_XRStreamingGeneralIssue
pc_link_error_initialization_failed
Some attempts repeatedly retry initialization hundreds of times, for example:
InitClient() failed on attempt 520

I also saw the following message during one attempt that eventually entered VR:
Failed to open Oculus configuration registry key, install potentially corrupt
Troubleshooting already performed
- Reinstalled Meta Horizon Link.
- Tested both USB Link and Air Link.
- Tested official WebXR samples.
- Tested the Quest standalone browser, where WebXR works.
- Reloaded te browser and cleared/bypassed the web application cache.
- Confirmed that the latest application bundle and all scene resources load successfully.
- Confirmed that the NVIDIA GPU is selected by the Meta runtime.
- Confirmed that Meta Link streaming itself can remain active while WebXR is waiting.
- Corrected the active OpenXR runtime path after reinstalling Meta Horizon Link.



Questions
1. Is highwind_dap_server required for PC WebXR/OpenXR sessions over Quest Link?
2. Could the missing highwind_dap_server or XrsTransportApiClient initialization failure cause requestSession("immersive-vr") to remain pending?
3. Is this a known regression in Meta Horizon Link runtime 206?
4. Is there a supported way to repair or reinstall the Highwind/DISCO/XRS transport component specifically?
5. Is there a way to reset the Meta OpenXR IPC/transport state without reinstalling the entire application?
6. Which diagnostic log package would be most useful for investigating this issue?

Thanks.

    1 reply

    New Participant
    September 22, 2026

    Have you had any luck resolving this issue?  I'm running into a similar problem.