Monado OpenXR Runtime
|
Monado uses the Perfetto/Percetto framework for tracing support. You need to first build and install Percetto in a place where CMake can find it. Build Perfetto (you will have gotten the source at least as part of build Percetto). It is a good idea to familiarise yourself with Perfetto before proceeding. You then need to build Monado with CMake and make sure XRT_FEATURE_TRACING
is enabled.
sdk/
directory and amalgamated files is only made there.XRT_FEATURE_TRACING
being ON
.Save the following file to data_events.cfg
, next to your perfetto folder. Please refer to Perfetto documentation about the format and options of this config file, but the most important bits is the tracker_event
section.
Then run the following commands before launching Monado.
Finally run the App and Monado with XRT_TRACING=true
exported.
Here's where we write down bugs or other sharp corners that we found while running Monado with Perfetto/Percetto and tracing enabled.
Running multiple CTS tests in one run causes Perfetto to crash, this is because the CTS loads and unloads the OpenXR runtime multiple times, and there seems to be a race on destruction.
This is probably because you don't have read permissions on your tracefile, probably because you ran traced/tracebox as root. Don't do that, instead do sudo chown -R $USER /sys/kernel/tracing
and run traced/tracebox as your normal user.
(If you really have to run it as root, then before you open the tracefile do sudo chown $USER <tracefile>
).