Investigate Chromium's WebXR under Linux
Chromium has a WebXR implementation using OpenXR, but this only works under Windows and relies on D3D11. There is a PR by someone allowing most of the OpenXR related code in Chromium to be compiled under Linux (https://github.com/chromium/chromium/pull/95). With some additional effort, it's possible to get Chromium under Linux to start an XrSession with SteamVR (and possibly other OpenXR runtimes). This does require --no-sandbox in my testing.
The HMD and controller are detected and their positions and orientations properly tracked. The missing part is getting the WebXR framebuffer to the process/thread the openxr_render_loop is on (zero-copy). It seems this should be possible with the code that has already landed in Chromium as part of https://bugs.chromium.org/p/chromium/issues/detail?id=1031269.
That's where I'm currently stuck. Not being familiar with the Chromium code base makes it hard to see the proper way forward :neutral_face:
WIP branch available (non-functional): https://github.com/mrxz/webxr-linux/tree/chromium
Thanks to the awesome work of @rcelyte there's now a 'mostly functional' patch to get WebXR working with Chromium (#6). This has been merged into master, hence closing this.