You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Monado does not support HTCX_vive_tracker_interaction, and so vive trackers when connected to Monado do not work here.
Monado's current solution to arbitrary trackers is MNDX_xdev_space. This extension provides just a list of all devices in the system which can be tracked in space. What I would recommend is, by default, filtering that list (case insensitive) for devices with names that contain the phrase tracke (to catch both Tracked and Tracker), and then having a "show all devices" button in your UI to show the full list incase users want to pick something that isn't named like that. (eg. if they connect a third controller to Monado, it won't be named "Tracker" or anything, it will just be "Index Controller").
XrXDevPropertiesMNDX::canCreateSpace is what you use to determine if a device is trackable, and XrXDevPropertiesMNDX::name is what you want to be filtering the list by.
Thank you for your insight. I'm not on linux, but I'll see what I can do to work on it.
This may take some time, but feel free to open a PR if you'd like to help implement it.
This is a linux build of what already exists. I tested it in WSL. Blender must be running in Vulkan mode for it to work. If you could give it a try, that'd be super helpful.
I can't test that build immediately, but you can actually build & run Monado entirely on Windows for development. There aren't super easy build instructions for Windows specifically, but it's just a regular CMake project, so any CMake build instructions apply. Make sure to configure it with -DXRT_FEATURE_OPENXR_XDEV_SPACE=ON so that the extension is compiled into the binary. Monado by default on Windows will boot up with a simulated hardware driver which should be enough to test if xdev_space is working, since it returns a list of all connected devices (that will be head and controllers with the simulated driver) and not just vive trackers.
You'll have to use some tool to switch your active OpenXR runtime to your Monado build though. On windows I'm not sure exactly where ittl place the files inside the build directory, but there's GUI tools available to set the active runtime once you do find where the build system placed the JSON manifest file.
This is a linux build of what already exists. I tested it in WSL. Blender must be running in Vulkan mode for it to work. If you could give it a try, that'd be super helpful.
I've just tested the build on Arch Linux with Blender 5.0.1 with WiVRn (monado). It works, but like @Beyley described it won't see the Vive trackers (3.0). It did see both Index and Quest controllers, as well as the headset position.
Activity
ethanporcaro commentedon Apr 7, 2026
Thank you for your insight. I'm not on linux, but I'll see what I can do to work on it.
This may take some time, but feel free to open a PR if you'd like to help implement it.
This is a linux build of what already exists. I tested it in WSL. Blender must be running in Vulkan mode for it to work. If you could give it a try, that'd be super helpful.
tracking_toolkit-2.0.1.zip
Beyley commentedon Apr 7, 2026
I can't test that build immediately, but you can actually build & run Monado entirely on Windows for development. There aren't super easy build instructions for Windows specifically, but it's just a regular CMake project, so any CMake build instructions apply. Make sure to configure it with
-DXRT_FEATURE_OPENXR_XDEV_SPACE=ONso that the extension is compiled into the binary. Monado by default on Windows will boot up with a simulated hardware driver which should be enough to test if xdev_space is working, since it returns a list of all connected devices (that will be head and controllers with the simulated driver) and not just vive trackers.You'll have to use some tool to switch your active OpenXR runtime to your Monado build though. On windows I'm not sure exactly where ittl place the files inside the build directory, but there's GUI tools available to set the active runtime once you do find where the build system placed the JSON manifest file.
polychromia commentedon Apr 8, 2026
I've just tested the build on Arch Linux with Blender 5.0.1 with WiVRn (monado). It works, but like @Beyley described it won't see the Vive trackers (3.0). It did see both Index and Quest controllers, as well as the headset position.
ethanporcaro commentedon Aug 9, 2026
We're moving to use blenders native XR API, so extensions will have to be enabled in blenders core source code going forward.
See #52