Meta Quest 3S teleop — no tracked devices, XR_ERROR_FORM_FACTOR_UNSUPPORTED (Isaac Lab-Arena 3.0, CloudXR 6.1.0)

I’m setting up XR teleoperation in Isaac Lab-Arena. Video streams to the headset correctly, but no tracked devices register, so the robot never moves.

Setup:

  • Isaac Lab-Arena (Isaac Sim 6.0.0, Isaac Lab 3.0), Dockerized
  • isaacteleop 1.1.8, CloudXR Runtime 6.1.0
  • Headset: Meta Quest 3S, via CloudXR.js WebXR client ( Redirecting to the stable Isaac Teleop web client )
  • GPU: RTX 4090, Ubuntu 24.04, driver 580
  • Task: gr1_open_microwave, launched with record_demos.py --device cuda --teleop_device openxr

Symptoms:

  • Video streams fine (I can look around the scene in the headset).
  • Sim log: Selected devices — Head: 'Head Device'; Eyes/Left/Right/Gamepad: '<none>' (only Push Hand Trackers listed).
  • XR_ERROR_FORM_FACTOR_UNSUPPORTED: xrGetSystem(getInfo->formFactor) no matching system (given: 2, first: 1)
  • XR_ERROR_VALIDATION_FAILURE: xrWaitFrame(frameState->type == 0)
  • Warning: tracker 'ControllerTracker' update failed repeating indefinitely.
  • CloudXR server log: ERROR [processSystemInfo] Ignoring streaming dimensions 4096x4032, expected 2048x1792
  • Also: Failed to create XR anchor prim: type object 'PhysxManager' has no attribute '_get_backend_utils'

Questions:

  1. Is the Meta Quest 3S supported for CloudXR.js teleop? Docs list Quest 3 / Pico 4 Ultra — could the 3S’s different native resolution be causing the 4096x4032 vs 2048x1792 stream-dimension rejection?
  2. Is XR_ERROR_FORM_FACTOR_UNSUPPORTED the same as GitHub issue #5221, and is there a known workaround?
  3. Is there a device-profile / --cloudxr_env setting to make the runtime accept the 3S’s stream dimensions?

Already tried: adjusting per-eye resolution in the client, both controller and hand-tracking modes, VR and AR immersive modes, control-panel repositioning, accepting the cert, opening firewall ports.

Hi, for Isaac Teleop issues, to get wider help, please file them at Isaac Teleop GitHub issues