facebook/igl

Build issues on Android / OpenXR, runtime assert, and GL ES support on Quest.

BattleAxeVR opened this issue · 9 comments

Hi, thanks for getting IGL to work (more or less) on Quest.

I have a few issues to report and some comments:

  1. It won't build without modifying the manifest file to be the content of the target, instead of the actual manifest.

image

I get "content not allowed in prolog". This is following the build instructions to the letter.

  1. When I start the app on Quest Pro, I get an assert here:

image

  1. The left/right eyes aren't rendering properly on Quest Pro.

  2. On PC, there are a bunch of asserts in debug mode, several of the apps don't run properly or crash. Only TinyLarge works.

  3. Is there a plan to make GL ES + OpenXR run on Android / Quest?

Or just leave it at Vulkan.

Because I have a third party library that only supports GL ES so far, and a Vulkan-only graphics library is basically just a wrapper and that doesn't add much real value. I don't have time to make this sample work on GL ES myself. It has to do this for me to consider using the IGL library.

I reported several of these issues six months ago and the stereo graphics still don't render properly. I believe it needs more testing.

#41

You needn't consider this as 5 different issues, just one "issue" : please make this sample run properly on Quest, first on Vulkan, and then consider adding GL ES support which I need going forward. If this is too much to ask, fine, I'll just code it myself from scratch.

@BattleAxeVR Hey! Thanks for report, what's your OS? Windows?

What exactly do you mean by "The left/right eyes aren't rendering properly on Quest Pro." ?

The stereo view/projection matrices aren't passed in correctly, either in single-pass stereo mode or not. I remember looking at the XR code a while back but didn't see anything obviously wrong at first glance

The stereo view/projection matrices aren't passed in correctly, either in single-pass stereo mode or not. I remember looking at the XR code a while back but didn't see anything obviously wrong at first glance

What render session do you launch?

@BattleAxeVR, please update the repository; HelloOpenXRSession should be what you were looking for.

Thank you, I will try it today.

Both GL ES and Vulkan work! thanks so much. There's a minor lint error during assembling the APKs in release mode, which I'm sure you'll get to, but I'm unblocked now. (debug is more important for me right now)

It would be great to have the new HelloOpenXRSession added to the Windows CMAKE so I can test the same working app on both hardware platforms. This will give the repo feature parity with hello_xr in terms of me validating it for my uses. As you probably know, iterating on Windows is much faster than Android and anyway, supporting more than 1 platform makes your code more robust to weird issues involving timing or file paths being incorrectly set per platform, etc.

Currently both Windows OpenXR sample crash, both in debug and release, but I suppose I can open up a different issue for that. Let me know which you prefer.

Yes, thanks, different issue would be better. It's different from Android OpenXR