For learning purposes, I am attempting to implement headtracking using an HMD into a fork of an existing project. I have made a bit of progress through the initialization steps, but I have hit a roadblock when trying to create a Vulkan device through the PFN_xrCreateVulkanDeviceKHR pointer function.
The PFN_xrCreateVulkanInstanceKHR pointer function, which is called earlier, doesn’t have this segfault. I can’t figure out why this segfault is occurring.
To test it yourself, run boo/test/main.cpp with the argument --openxr and see it segfault.
Note:
The project that I am forking, Boo, is part of a larger project called MetaForce by AxioDL.
IIRC recently there was talk about the OpenXR validation layer lacking checks for this sequence of function calls and our own Monado runtime currently only prints a somewhat opaque message
Thanks this appears to have done the trick. I was basing my implementation of OpenXR from the hello_xr test project within OpenXR-SDK-Source. Looks like I missed the getVulkanGraphicsDevice2KHR part entirely.
Regarding logvisor you are supposed to close the repository recursively. That’s how it was set-up in the original project.