Igalia / wolvic

A fast and secure browser for standalone virtual-reality and augmented-reality headsets.
https://wolvic.org
Mozilla Public License 2.0
796 stars 100 forks source link

Entering Immersive mode crashes the Wolvic Browser #1206

Closed sujay-digilens closed 3 months ago

sujay-digilens commented 8 months ago

Configuration

Wolvic version: 1.5.1 Wolvic build ID: 116.0

Hardware: Digilens ARGO

Steps to Reproduce

  1. Go to the following URL: [https://app.etherealengine.com/location/ar-fashion] or any website which offers XR experience.
  2. Enter immersive/VR/XR mode.
  3. This will crash the Wolvic browser.

Current Behavior

Expected Behavior

Possible Solution

Context

I’m trying to build a version of the Wolvic XR Browser integrated with Snapdragon Spaces for our ARGO smart glasses platform. Active Build Variant: SpacesArm64GeckoGenericDebug, Active ABI: arm64-v8a

Error Logs and Stack Traces

``` ```
svillar commented 8 months ago

Can you please attach a logcat ? Note that Gecko does not support AR features

sujay-digilens commented 8 months ago

I have attached the logs in this comment.

If Gecko does not support AR features, how do I support WebXR (specifically, Immersive-AR mode of WebXR) on our platform? logcat.txt

svillar commented 8 months ago

I have attached the logs in this comment.

If Gecko does not support AR features, how do I support WebXR (specifically, Immersive-AR mode of WebXR) on our platform? logcat.txt

There are 2 possibilities:

  1. Implement WebXR AR modules in Gecko, or hire someone to do it, like Igalia
  2. Wait for the Chromium backend which will allow WebXR AR at some point

Needless to say that the more partners supporting the development of Wolvic the faster features could be added/implemented

svillar commented 8 months ago

I have attached the logs in this comment.

If Gecko does not support AR features, how do I support WebXR (specifically, Immersive-AR mode of WebXR) on our platform? logcat.txt

BTW in the logs you shared there is a crash in Gecko in a media codec, so very likely some media codec that is missing in your platform or that has a bug:

01-29 13:05:00.296 11568 11568 W System.err: java.lang.Exception: codec error:0
01-29 13:05:00.296  1302  1890 V AudioSink: close
01-29 13:05:00.296 11568 11568 W System.err:    at org.mozilla.gecko.media.Codec$Callbacks.onError(Codec.java:50)
01-29 13:05:00.296 11568 11568 W System.err:    at org.mozilla.gecko.media.LollipopAsyncCodec$CodecCallback$Forwarder.handleMessage(LollipopAsyncCodec.java:60)
01-29 13:05:00.296 11568 11568 W System.err:    at org.mozilla.gecko.media.LollipopAsyncCodec$CodecCallback$Forwarder.notify(LollipopAsyncCodec.java:73)
01-29 13:05:00.296 11568 11568 W System.err:    at org.mozilla.gecko.media.LollipopAsyncCodec$CodecCallback$Forwarder.onError(LollipopAsyncCodec.java:91)
01-29 13:05:00.296 11568 11568 W System.err:    at org.mozilla.gecko.media.LollipopAsyncCodec$CodecCallback$Forwarder.-$$Nest$monError(Unknown Source:0)
01-29 13:05:00.296 11568 11568 W System.err:    at org.mozilla.gecko.media.LollipopAsyncCodec$CodecCallback.onError(LollipopAsyncCodec.java:134)
01-29 13:05:00.297 11568 11568 W System.err:    at android.media.MediaCodec$EventHandler.handleCallback(MediaCodec.java:1852)
01-29 13:05:00.297 11568 11568 W System.err:    at android.media.MediaCodec$EventHandler.handleMessage(MediaCodec.java:1743)
01-29 13:05:00.297 11568 11568 W System.err:    at android.os.Handler.dispatchMessage(Handler.java:106)
01-29 13:05:00.297 11568 11568 W System.err:    at android.os.Looper.loopOnce(Looper.java:201)
01-29 13:05:00.297 11568 11568 W System.err:    at android.os.Looper.loop(Looper.java:288)
01-29 13:05:00.297 11568 11568 W System.err:    at android.app.ActivityThread.main(ActivityThread.java:7912)
01-29 13:05:00.297 11568 11568 W System.err:    at java.lang.reflect.Method.invoke(Native Method)
01-29 13:05:00.297 11568 11568 W System.err:    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
01-29 13:05:00.297 11568 11568 W System.err:    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1009)
sujay-digilens commented 7 months ago

Thanks for the response @svillar .

  1. Is there any documentation on how to implement the WebXR AR modules in Gecko?
  2. Do you know how to fix the issue with media codec in the Gecko?
svillar commented 7 months ago

Thanks for the response @svillar .

  1. Is there any documentation on how to implement the WebXR AR modules in Gecko?

You have the specificacion https://github.com/immersive-web/webxr-ar-module. Then you have to implement it in Gecko. If you haven't touched a Web engine code previously then probably is not a task you could complete easily.

  1. Do you know how to fix the issue with media codec in the Gecko?

Sorry I don't have enough data to check what's going on. Even with it I don't think we'd have time for that in the following weeks/months as we have higher priority tasks

svillar commented 3 months ago

Provided the reporter is trying to use an unsupported feature on an unsupported device I think we should close this. Please reopen if you think this is still relevant for the project.