godot icon indicating copy to clipboard operation
godot copied to clipboard

HMD mode fails for Meta Quest 3 with custom builds

Open fire opened this issue 1 year ago • 3 comments
trafficstars

Tested versions

  • Reproducible https://github.com/godotengine/godot/commit/db66bd35af704fe0d83ba9348b8c50a48e51b2ba
  • Not reproducible in Meta Store Godot Engine (4.4?)

System information

Meta Quest 3

Issue description

Error: OpenXR was requested but failed to start. Please Check if your hmd is connected. Godot will start in normal mode.

com oculus metacam-20241006-165641

Steps to reproduce

  1. Download the android-editor from the github actions on https://github.com/godotengine/godot/commit/db66bd35af704fe0d83ba9348b8c50a48e51b2ba
  2. Use the horizon os apk. image
  3. Use sidequest to load apk onto the Quest 3 (assumed partnership agreement with Meta)
  4. Launch project from downloaded folder
  • To launch on the left side of the app browser select "other" applications to find non appstore apps.
  1. Click play.

Minimal reproduction project (MRP)

demo-bug.zip

fire avatar Oct 07 '24 00:10 fire

@fire does the project you are running works with the store version of the editor (version 4.4-dev3)?

m4gr3d avatar Oct 07 '24 01:10 m4gr3d

As far as I know it should play in the xr with the store version. The result is that the HMD is placed into the scene with the physical sky with no controllers.

Not reproducible in Meta Store Godot Engine (4.4?)

fire avatar Oct 07 '24 01:10 fire

Here's a video with the store version of the editor.

https://github.com/user-attachments/assets/80ac4447-449c-46b5-968c-3e277b4b04f7

fire avatar Oct 07 '24 02:10 fire

Unfortunately, I'm not able to reproduce this.

I tried both the artifacts from GitHub actions on PR https://github.com/godotengine/godot/pull/97820 (which is where https://github.com/godotengine/godot/commit/db66bd35af704fe0d83ba9348b8c50a48e51b2ba is from) and building latest master locally (currently 842f98239713fd10cfd648cd6aa3781895f289eb), and both were able to correctly run a simple immersive project.

I'm not sure what could be different between your setup and mine?

dsnopek avatar Oct 08 '24 14:10 dsnopek

Are you clicking play in the editor?

fire avatar Oct 08 '24 16:10 fire

Yes. My understanding is that was what you are doing too?

dsnopek avatar Oct 08 '24 16:10 dsnopek

How are you loading the apk? Maybe sidequest tinkers with the upload.

fire avatar Oct 08 '24 16:10 fire

How are you loading the apk? Maybe sidequest tinkers with the upload.

Just adb install android_editor-horizonos-debug.apk in a terminal

dsnopek avatar Oct 08 '24 17:10 dsnopek

I'll try that.

fire avatar Oct 08 '24 18:10 fire

Using a custom build also works now for me on the Meta Quest 3.

I suspect that the Godot Engine is loaded as a 2d app and when the custom editor build works it reuses the manifests from the Meta App store app but that makes no sense.

To test this theory I used the htc xr elite which has no store app and the same message of Openxr failed to start in XR mode.

fire avatar Oct 08 '24 21:10 fire

I suspect that I may have accidently installed android_editor-android-debug.apk because android_editor-horizonos-debug.apk seems to work.

Everything seems to work. Not sure how to make this better.

fire avatar Oct 08 '24 21:10 fire

To test this theory I used the htc xr elite which has no store app and the same message of Openxr failed to start in XR mode.

Using it with the HTC headset will also have issues because it has the wrong OpenXR loader.

dsnopek avatar Oct 08 '24 23:10 dsnopek

To test this theory I used the htc xr elite which has no store app and the same message of Openxr failed to start in XR mode.

Using it with the HTC headset will also have issues because it has the wrong OpenXR loader.

Also HTC requires different manifest entries, though from all the headset HTC is the least difficult as all features are purely to steer the store entry and have no impact on whether an app runs or not. There is one HTC specific manifest entry required to tell the OS that it is a VR app or it will run it as a normal Android app.

BastiaanOlij avatar Oct 09 '24 08:10 BastiaanOlij

Do you know what the exact definition of that HTC specific manifest to enable VR app.

fire avatar Oct 09 '24 21:10 fire

I'll close soon as I was able to test the feature and it works.

The HTC specific manifest entry is a different issue / feature request.

fire avatar Oct 13 '24 17:10 fire

@fire were you able to test that the issue is resolved on the Quest 3? For HTC devices, we should create a separate issue and close this one.

m4gr3d avatar Oct 14 '24 04:10 m4gr3d

it is resolved

fire avatar Oct 14 '24 07:10 fire

my quest 2 does the same, how did you fix it ??

I want to run the game normally without any computers, like a simple game, how ?

sopdevv avatar Nov 14 '24 18:11 sopdevv