OpenXR Layer VIVE SDK

Provides OpenXR API Layer using VIVE SDK to provide these OpenXR Extensions:

  • XR_EXT_eye_gaze_interaction
  • XR_HTC_facial_tracking

Limitations

For XR_EXT_eye_gaze_interaction only Local Space is supported. If this is a problem see Support below.

Motivation

This OpenXR API Layer replaces the VIVE OpenXR Facial Tracking OpenXR Layer installed by the official VIVE installers. This OpenXR Layer has unfortunately two main problems which this project fixes.

First Enabling both Eye Tracking Extension and Facial Tracking Extension at the same time causes Eye Tracking Extension to not working anymore. This problem does not happen with the VIVE SDK. Hence by using the VIVE SDK this OpenXR Layer avoids this problem.

Second enabling Eye Tracking Extension or Facial Tracking Extension causes OpenXR applications to heavily drop in performance. On various systems applications running at 90 FPS consistently slow down to 22.5 FPS. By using VIVE SDK this kind of massive slow down is not present. Hence by using the VIVE SDK this OpenXR layer avoids this problem.

This affects only applications using OpenXR. Applications using VIVE SDK directly are not affected by this problem.

Installation

Install the *.MSI installer: OpenXRLayerViveSDK.msi (1MB).

This will do the following actions:

  • Installs API Layer to use VIVE SDK
  • Enables API Layer to use VIVE SDK
  • Disables VIVE OpenXR Facial Tracking

To verify the installation worked correctly run SteamVR and open the Settings Window. The red marked settings should be matching yours:

Enable/Disable

Open the SteamVR Settings Window. Either switch on API Layer to use VIVE SDK or VIVE OpenXR Facial Tracking but not both at the same time or the interfere with each other.

Uninstalling

Open the Windows Add/Remove Applications app. Locate the application OpenXR Layer supporting VIVE SDK and uninstall it. After uninstalling the VIVE OpenXR Facial Tracking is re-enabled again. If this should not be the case use the SteamVR Settings Windows to enabling it.

Support

In case of problems create drop by the the Discord channel.