Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use Khronos' OpenXR loader from Maven when supported #1405

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

svillar
Copy link
Member

@svillar svillar commented May 6, 2024

Most of the platforms used to distribute their own implementations/builds of the OpenXR loader. It was traditionally part of the propietary SDKs distributed by vendors. As they were under an EULA we had to keep them in a private repository only available to core devs (obviously any other external dev could download them on their own).

More recently, and driven by the AOSP flavor effort, we started to build the Khronos OpenXR loader from sources. Fortunatelly we got a well documented report explaining how to use the loader directly from the central Maven repository. This greatly simplifies the build process and also improves the open-source feel of the project by reducing our deps with the third-party repo.

So far this option is now available for the following flavors:

  • Meta Quest2, Quest3, QuestPro (requires firmware v62+)
  • Lynx R1
  • Magic Leap 2

It does not work for neither HVR, nor SnapdragonSpaces based devices nor Pico. For these ones we still need to rely on the loader from the SDK.

Fixes #1394

@svillar
Copy link
Member Author

svillar commented May 6, 2024

Note that this requires firmware v62+ in Meta devices. It's easy to check that in OpenXR but it's likely too late. I'd love to have some "external" mechanism to prevent/filter out Wolvic from executing depending on the firmware version. v62 is from February so perhaps a bit risky to enable it in a release in the following moths.

@svillar svillar force-pushed the standard-loader branch 2 times, most recently from 5e76acd to b461ff6 Compare May 6, 2024 16:03
Most of the platforms used to distribute their own
implementations/builds of the OpenXR loader. It was traditionally
part of the propietary SDKs distributed by vendors. As they were
under an EULA we had to keep them in a private repository only
available to core devs (obviously any other external dev could
download them on their own).

More recently, and driven by the AOSP flavor effort, we
started to build the Khronos OpenXR loader from sources.
Fortunatelly we got a well documented report explaining how
to use the loader directly from the central Maven repository.
This greatly simplifies the build process and also improves
the open-source feel of the project by reducing our deps with
the third-party repo.

So far this option is now available for the following flavors:
* Meta Quest2, Quest3, QuestPro (requires firmware v62+)
* Lynx R1
* Magic Leap 2

It does not work for neither HVR, nor SnapdragonSpaces based
devices nor Pico. For these ones we still need to rely on the
loader from the SDK.

Fixes #1394
Copy link
Member

@javifernandez javifernandez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd be more explicit in the commit message that this change breaks Wolvic in Meta platforms <v62.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Generic OpenXR build/loader usage
2 participants