# OpenXR Meta Quest2 Controller Profile Missing

**URL:** https://discourse.vtk.org/t/openxr-meta-quest2-controller-profile-missing/12617
**Category:** Development
**Created:** [November 4, 2023, 12:45am UTC](https://discourse.vtk.org/t/openxr-meta-quest2-controller-profile-missing/12617 "2023-11-04T00:45:44Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![Hasnain\_Raza](https://discourse.vtk.org/user_avatar/discourse.vtk.org/hasnain_raza/32/7943_2.png) [@Hasnain\_Raza](https://discourse.vtk.org/u/Hasnain_Raza)
#### Post date: [November 4, 2023, 12:45am UTC](https://discourse.vtk.org/t/openxr-meta-quest2-controller-profile-missing/12617/1 "2023-11-04T00:45:44Z")

</div>

When using the OpenXR Interface in ParaView using OpenVR with the Meta Quest 2 headset, my controllers are rendered with an actual Quest 2 controller model and they are able to perform the supported range of motions such as those mentioned [here](https://www.kitware.com/navigation-basics-in-virtual-reality-with-paraview/).

However, when using OpenXR with the Meta Quest 2 headset, the controllers are rendered as green wedges and they are not able to perform most of the supported range of motions. They are only able to move the camera around, move the data, and open the context menu (by pressing the B button on the right controller).

My understanding is that the binding of these controls is affected by code inside VTK and not ParaView itself. I looked at the VTK GitHub repository and found that the module for [OpenVR](https://github.com/Kitware/VTK/tree/master/Rendering/OpenVR) contains a JSON file called `vtk_openvr_binding_oculus_touch.json`. However, I found no similar file in the module for [OpenXR](https://github.com/Kitware/VTK/tree/master/Rendering/OpenXR).

To confirm that this is, in fact, causing the issues, I tried to compile VTK from the source, however, I ran into issues [here](https://discourse.vtk.org/t/building-vtk-from-source-with-modules/12608). Therefore, I would like to request someone else to take a look at this.

---

<div class="post-metadata">

### Author: ![mwestphal](https://discourse.vtk.org/user_avatar/discourse.vtk.org/mwestphal/32/19_2.png) [@mwestphal](https://discourse.vtk.org/u/mwestphal)
#### Post date: [November 6, 2023, 9:48am UTC](https://discourse.vtk.org/t/openxr-meta-quest2-controller-profile-missing/12617/2 "2023-11-06T09:48:08Z")

</div>

Indeed, this is correct!

We would be happy to see this fixed though, I will try to help you with compiling VTK, but you may also want to compile ParaView as well.

@LucasGandel and @Thomas_Galland may have more to say about the right way to add the bindings.

---

<div class="post-metadata">

### Author: ![count](https://discourse.vtk.org/letter_avatar_proxy/v4/letter/c/bcef8e/32.png) [@count](https://discourse.vtk.org/u/count)
#### Post date: [May 30, 2024, 7:59pm UTC](https://discourse.vtk.org/t/openxr-meta-quest2-controller-profile-missing/12617/3 "2024-05-30T19:59:30Z")

</div>

Hi Mathieu, I’m wondering is there any news on this topic?

I managed to compile VTK (v9.3.0) with OpenXR and python API enabled, and added an customized action binding json for quest2, following the OpenXR specification [here](https://registry.khronos.org/OpenXR/specs/1.0/html/xrspec.html#_oculus_touch_controller_profile), see attachment. The rendering of scene (i.e. the camera of HMD) is working as expected.

However, I found that VTK failed to recognize the controller as a quest 2 controller. In fact, vtkOpenXRManager always consider the controller as “/interaction\_profiles/khr/simple\_controller” (seen by enabling debug in source code [here](https://github.com/Kitware/VTK/blob/a6cdc70c0981765898ba62e0e46a71b6501467b6/Rendering/OpenXR/vtkOpenXRRenderWindowInteractor.cxx#L186)). And the “khr/simple\_controller” supports only few actions.

I’m using the Meta Quest Link for the OpenXR runtime, no idea why the controller is not correctly recognized. Is there anywhere I could force the runtime to set the controller profile?

[vtk\_openxr\_binding\_oculus\_touch.json](https://discourse.vtk.org/uploads/short-url/kvgxBjHmaaK2fzxXz7XhYDNuPkx.json) (1.9 KB)

[vtk\_openxr\_actions.json](https://discourse.vtk.org/uploads/short-url/arhWPFeyCdU1fxTFyxRtjKRso8y.json) (2.3 KB)

---

<div class="post-metadata">

### Author: ![mwestphal](https://discourse.vtk.org/user_avatar/discourse.vtk.org/mwestphal/32/19_2.png) [@mwestphal](https://discourse.vtk.org/u/mwestphal)
#### Post date: [May 31, 2024, 7:19am UTC](https://discourse.vtk.org/t/openxr-meta-quest2-controller-profile-missing/12617/4 "2024-05-31T07:19:46Z")

</div>

I’m afraid this issue ([https://gitlab.kitware.com/vtk/vtk/-/issues/19037](https://gitlab.kitware.com/vtk/vtk/-/issues/19037)) have yet to be adressed.

Do not hesitate to contribute to it though!
