Developers - mbucchia/Pimax-OpenXR GitHub Wiki

PimaxXR can be used to develop OpenXR applications without going through SteamVR.

PimaxXR is not an officially conformant runtime. It cannot be called "conformant" nor use the OpenXR trademark and logo. It does pass the majority of Khronos OpenXR Conformance Test Suite. While the developers of PimaxXR wish to claim official conformance, the Khronos group requires an adopter fee of $30,000 for the conformance submission, which is not affordable for the development team.

The following features/extensions are supported:

Feature Extension(s) Notes/Limitations
Projection layers - -
Quad layers - [1]
Depth submission XR_KHR_composition_layer_depth -
Direct3D 11 XR_KHR_D3D11_enable -
Direct3D 12 XR_KHR_D3D12_enable -
Vulkan XR_KHR_vulkan_enable, XR_KHR_vulkan_enable2 [2]
OpenGL XR_KHR_opengl_enable -
Hidden area mesh XR_KHR_visibility_mask [3]
Parallel projection - -
Stage reference space - -
Motion controllers - [4]
Finger sensing (Valve Index) XR_EXT_hand_tracking -
Hand tracking module XR_EXT_hand_tracking [5]
Crystal eye tracking XR_EXT_eye_gaze_interaction -
Droolon eye tracking module XR_EXT_eye_gaze_interaction -
Playspace guardian - [6]
Mirror window - -
32-bit support - -
Timestamp conversion XR_KHR_win32_convert_performance_counter_time -
Advanced tracing - [7]
Debugging with RenderDoc - -

[1] XrCompositionLayerQuad::eyeVisibility is ignored and assumed to be XR_EYE_VISIBILITY_BOTH.

[2] When using XR_KHR_vulkan_enable, care must be taken by the application to enable timeline semaphores (append a VkPhysicalDeviceTimelineSemaphoreFeatures struct to the call to vkCreateDevice()).

[3] Only XR_VISIBILITY_MASK_TYPE_HIDDEN_TRIANGLE_MESH_KHR is supported. Other meshes will be empty.

[4] Tested with HTC Vive, Valve Index and Pimax Crystal controllers.

[5] Provided through Ultraleap API layer.

[6] Playspace definition is limited to a circular shape.

[7] See Capturing debug traces.