[wpe-webkit] Status of WebXR on OpenXR

Jakob Bornecrantz wallbraker at gmail.com
Thu Feb 25 09:45:15 PST 2021

Hello Imanol,

Thank you for your detailed reply, answers inline.

On Thu, Feb 25, 2021 at 4:23 PM Imanol Fernandez <ifernandez at igalia.com> wrote:
> Hi Jakob,
> I'm Imanol Fernandez, and I'm currently working on the WPE WebXR and OpenXR platform implementation. We are using Monado to test the OpenXR runtime (using a HTC Vive), thanks for your great job on the runtime!

Thank you very much!

> We have landed several base functionality patches and WPE is already passing the XRReferenceSpace, getPose, getViewerPose and RAF related tests. We are currently working on all the rendering stuff and getting the Opaque Framebuffer implementation correctly rendering into OpenXR. Here [1] is a video of the tracking working on a hacked inline session.

Oh that's cool, making progress I see.

> If you want to test the current implementation you can compile the main WPE branch, enable the webxr pref, and apply this patch (https://bugs.webkit.org/show_bug.cgi?id=222173). I recommend that you wait for the upcoming OpaqueFramebuffer patch though, because I've been using some locally modified WebXR sample for the tests, and that code is not on the repository. The Opaque FBO patch should be ready for review in the next few days and with that patch applied you should be able to run the first WebXR samples without any modification.

Thank you, I will probably wait until the Opaque FBO patch goes in
then. That does probably answer my follow up question of 'Does it run
Mozilla hubs?'.

If there is a flatpak/snap/deb package down the line I could install
down the line it would be really nice (and point potential tests/users
to as well).

> One thing that would be great to have from Monado is the support for direct HMD rendering in Wayland. From what I tested using some native openxr-samples, Monado only supports direct rendering when using X11. WPE is expected to run on Wayland, so if we can have that support on Monado it would be really nice to get the best WebXR experience on Linux. Could you share the status or plans on that support?

We are concentrating on getting a single setup working really well
(tbh 'really well' is more like being a proper XR runtime that doesn't
make the users puke), in this case: AMD, X11, Index (and Vive). After
that branching out to work really well on other setups (North Star,
Wayland, long tail of devices), we got direct mode for free with X11
and we are working on trying to upstream much needed display timing
work into Mesa to get the good enough display timing information
needed for XR. Currently there is no upstream support for direct mode
in neither the Wayland protocol, Wayland Compositors or a Vulkan

But all that said we would love to support direct mode on Wayland,
there is code out there that works. We recently did a push to try and
get everything, but got bikeshedded at the finish line and we ran out
of time to do any more work on it. So either it will take a while
until we can free up resources to work on it again, or somebody else
picks up the work. All of the MR's are basically ready to go. And
Lubosz even made arch packages for everything to let people try it

Display timing: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9016

Monado: https://gitlab.freedesktop.org/monado/monado/-/merge_requests/683
Mesa: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8981
Vulkan: https://github.com/KhronosGroup/Vulkan-Docs/pull/1450
Arch packages: https://gitlab.freedesktop.org/lubosz/wlxr-pkgbuilds

Cheers, Jakob.

> [1] https://www.dropbox.com/s/natdozbo0v6o32b/webxr_inline_and_tracking.mkv?dl=0
> On 2/25/21 4:03 PM, Jakob Bornecrantz wrote:
> Hello
> A short introduction I'm Jakob Bornecrantz working on the Monado[1]
> project aiming to implement a complete open source OpenXR runtime on
> Linux. We just recently officially became a conformant OpenXR
> implementation.
> One thing we are missing is a browser that support WebXR on Linux that
> uses OpenXR. I have seen some patches float by in the commits
> mentioning OpenXR and WPE, so I'm wondering what the status of
> WebXR/OpenXR is on Linux? What is the easiest way to try this out? Are
> there any opportunities for collaboration?
> Cheers, Jakob.
> [1] https://monado.freedesktop.org/
>  _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> webkit-wpe mailing list      (webkit-wpe at lists.webkit.org)
> Help/Unsubscribe/Update your Subscription:
> https://lists.webkit.org/mailman//listinfo/webkit-wpe
>  _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> webkit-wpe mailing list      (webkit-wpe at lists.webkit.org)
> Help/Unsubscribe/Update your Subscription:
> https://lists.webkit.org/mailman//listinfo/webkit-wpe

More information about the webkit-wpe mailing list