Skip to content

SteamVR 2.14+ no longer provides OpenXR tracker poses in "Standing by" (no HMD) mode #4

Description

@LAIYANHOU

Summary

After updating to SteamVR 2.14.x, Vive Tracker poses are no longer available via OpenXR
when SteamVR is in "Standing by" (no HMD worn) state.

This breaks the workflow described in this repository, which relies on
SteamVR + OpenXR providing tracker poses without an active HMD.

The same setup worked correctly in SteamVR 2.13.x and earlier.


Environment

  • OS: Windows 10 / 11
  • SteamVR:
    • Working: 2.13.x
    • Broken: 2.14.0+ (confirmed in 2.14.4)
  • Runtime: SteamVR OpenXR
  • Devices:
    • Vive Tracker (Ultimate / 3.0)
  • API:
    • OpenXR
    • XR_HTCX_vive_tracker_interaction
    • (optionally XR_MND_headless)
  • HMD state:
    • Not worn / SteamVR shows "Standing by"

Expected behavior (SteamVR ≤ 2.13)

  • SteamVR shows Standing by
  • Vive Trackers are connected and have assigned roles
  • OpenXR app can successfully call:
    • xrSyncActions
    • xrLocateSpace
  • XrSpaceLocation.locationFlags contains:
    • XR_SPACE_LOCATION_POSITION_VALID_BIT
  • Tracker poses are available even without wearing the HMD

Actual behavior (SteamVR ≥ 2.14)

  • SteamVR shows Standing by
  • Vive Trackers are connected and roles are assigned correctly
  • xrLocateSpace succeeds but always returns invalid location flags
  • XR_SPACE_LOCATION_POSITION_VALID_BIT is never set
  • No tracker poses are available until the HMD is worn and VR becomes active

This occurs even when:

  • Using XR_MND_headless
  • Using time = predictedDisplayTime or time = 0
  • All OpenXR API calls succeed without errors

Notes

  • This appears to be a runtime policy change, not an application error
  • SteamVR UI still shows trackers as active, which is misleading
  • The same code and hardware setup works immediately after downgrading to SteamVR 2.13.x
  • OpenVR-based applications still receive tracker poses without an HMD

Impact

This breaks:

  • Tracker-only workflows
  • Motion capture setups
  • Robotics / teleoperation systems
  • Research systems that do not require an HMD

All of these previously worked with SteamVR + OpenXR without requiring the headset to be worn.


Question

Is this behavior change intentional in SteamVR 2.14+?

If so:

  • Is there a supported way to obtain Vive Tracker poses via OpenXR
    without requiring an active HMD?
  • Or is OpenVR now the only supported path for tracker-only use cases?

Clarification would be greatly appreciated.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions