Jump to content

OpenXR does not report XR_EXT_eye_gaze_interaction nor XR_HTC_facial_tracking as supported


Recommended Posts

I got a bit further. I could not get the unity example working since it desperately tried to use a wand controller and I'm using index controllers. Temporarily using those managed to start the example. There the eye and face tracking works... sort of. The result is mediocre but something is working. Since the demo uses the DLL and I'm using OpenXR I suspect the OpenXR Vive driver to be bugged somehow or there is a hidden switch for the OpenXR which is unknown to me. So the question now is how to get the OpenXR extension working? It is enabled and XrSystemHandTrackingPropertiesEXT.supportsEyeGazeInteraction, XrSystemFacialTrackingPropertiesHTC.supportEyeFacialTracking and XrSystemFacialTrackingPropertiesHTC.supportLipFacialTracking are all "true" yet nothing is reported.

Link to comment
Share on other sites

2 hours ago, Alex_HTC said:

@DragonDreams The native issue may be a red herring if it's compiling against older sranipal dlls as there was a required update relatively recently, which is why I'm asking more about the unity side since that is in a known-good state.

I checked with vive and steam for updates and there are none. These are the versions I can find:

VivePort Desktop:
SRanipal Runtime Version:
Eye Camera Version: 2.41.0-942e3e4
Lip Camera Version: 50100

I managed now to also test the C example. There I can create the eye and lip engine but I always get 0 value readings. So something is definitely broken there.

Link to comment
Share on other sites

  • 2 weeks later...

@Alex_HTC @Tony PH Lin I'm seriously starting getting pissed here! Since weeks I'm getting no response at all! This is NO developer support in the slightest. This here is a serious driver problem. I've not tried to get OpenXR running with Vive on multiple machines using Windows 10 and Windows 11, on fresh installations multiple time, using VIVE Installer and Steam VIVE Console App multiple times. I've tried the Unity, Unreal and my own engine OpenXR implementations and they are either report nothing or (in 90% of cases) plain out crash from inside the Vive OpenXR dlls. This is a huge mess and has to be escalated! We are not talking here about some setup problems but major league issues with your drivers making it impossible to get the hardware running AT ALL! And even if you managed to get the application up without the VIVE driver crashing the performance tanks to under 20FPS due to the driver.

Attached is 1 of the many crash logs. In my latest attempts even the eye tracking started to fail to initialize. I'm fed up with this. Please provide some REAL support on this matter.


Link to comment
Share on other sites

I did some more testing. The VIVE provide Unreal example OpenXR project does not seem to use XR_EXT_eye_gaze_interaction nor XR_HTC_facial_tracking so it is of no use to test this problem. Instead I went ahead and modified my own code to individually switch on and off these extensions. My findings are the following.

  • If XR_EXT_eye_gaze_interaction is enabled but XR_HTC_facial_tracking is not enabled then there is no crash and the eye gaze tracking is working. I think the implementation is though violating the OpenXR specification. I had to apply an 180 degree Y-axis rotation to the readings to get a correct orientation. According to the specification such a rotation is not present and thus is a bug.
  • If XR_EXT_eye_gaze_interaction is disabled and XR_HTC_facial_tracking is enabled the driver crashes always.
  • The same if XR_EXT_eye_gaze_interaction is enabled together with XR_HTC_facial_tracking; the driver crashes.

Hence the problem with the OpenXR driver is enabling XR_HTC_facial_tracking. This causes the driver to crash.

Link to comment
Share on other sites

@Alex_HTC @Tony PH Lin

I did some more testing. The XR_HTC_facial_tracking seems to have crashes because the weights array passed in had the correct size according to the specification but the driver seems to expect a larger array. Just made it somewhat larger than required and this made the crashing stop. But this produced another problem.

1) Enabling XR_EXT_eye_gaze_interaction and not enabling XR_HTC_facial_tracking makes eye graze tracking work

2) Enabling XR_HTC_facial_tracking and not enabling XR_EXT_eye_gaze_interaction makes the facial tracking work

3) Enabling XR_EXT_eye_gaze_interaction and enabling XR_HTC_facial_tracking makes facial tracking work but eye gaze tracking always returns 0 values.

Hence XR_EXT_eye_gaze_interaction and XR_HTC_facial_tracking can not be enabled at the same time. If both are enabled eye gaze tracking fails to work.

Can you please fix this bug in the driver?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...