Does Nsight graphics support OpenXR applications?

I tried with the Hello_XR application with Vulkan from OpenXR-SDK-Source/src/tests/hello_xr at main · KhronosGroup/OpenXR-SDK-Source · GitHub with the Monado (Monado / Monado · GitLab) runtime. The Nsight Graphics seems can not capture the Hello_xr application for debugging/profiling.
My questions are:

  1. Does Nsight Graphics support OpenXR applications?
  2. If not, is there a plan to support it?
  3. Is there a SDK available (similar to Perf SDK) that you can add code to you programs and do the captures?

Hello,
Thank you for using Nsight Graphics and I’m sorry you ran into this issue with OpenXR. I’ll discuss with the engineering team and get back to you on your questions.
Regards,

Unfortunately OpenXR is not officially supported at this time, nor are there immediate plans for support.

With regards to an SDK, there is the NSIGHT Injection API you can use to programmatically capture an application. However, if a standard capture through the GUI isn’t working there is no reason to believe this API will work.

Thanks for the reply. I assume Nsight capture relies on Present call to capture the frame? Can we extend the layers in OpenXR (for example inject some Nsight calls in XrEndFrame in our custom OpenXR layer) so that Nsight can do the capture?

I assume Nsight capture relies on Present call to capture the frame?

This is correct. For Vulkan, we expect to see a vkQueuePresentKHR to delimit the frame.

Can we extend the layers in OpenXR (for example inject some Nsight calls in XrEndFrame in our custom OpenXR layer) so that Nsight can do the capture?

That might be possible. I know other users have had luck calling vkQueuePresentKHR with dummy swapchain as a work around in compute-only cases.