Aframe: `Enter VR` goggles stop working in Oculus Browser in Go

Created on 5 Mar 2019  路  18Comments  路  Source: aframevr/aframe

Description:
While in Oculus Browser on Oculus Go, clicking the VR goggles on the bottom right corner seems to stop working eventually, requiring a reboot of the device.

It sometimes appears as if the camera slightly moves in 2D mode when the icon is clicked, but the icon remains and there is no other noticeable difference.

  • A-Frame Version: 0.9.0
  • Platform / Device: Oculus Browser / Oculus Go
  • Reproducible Code Snippet or URL:
needs answers / feedback

All 18 comments

Any errors on console?

oculus go Failed to enter VR mode (`requestPresent`): Presentation request was denied.
But I can only reproduce after manually removing an incorrectly injected default camera trying to debug #3921

I haven't been able to narrow down the conditions under which this happens yet in order to consistently reproduce. I will do some remote debugging shortly and see what I can see in console.

Just noticed this happening on this simple glitch sketch to dive into an unrelated a-link issue ( https://glitch.com/~portal-test-af-1 ); but had difficulty reproducing this issue consistently.

A couple of things to add to the mystery though:

  1. a restart fixes it and allows you to jump into VR again with no modification to the code
  2. going to the pure three.js cubes example here in another tab ( https://threejs.org/examples/webvr_cubes.html ) after it stops responding also resulted in "Presentation request denied" until a restart, so it seems to affect all A-Frame (and three.js) tabs once it happens.

Need to test further in Firefox Reality on the GO ...

@dmarcos Sorry for the delay here, this is the error I'm getting when I can't enter VR in Oculus Browser:

image

When it happens, it requires a complete restart of the device, so that's kind of a pain.

I can report that this behavior occurs on Oculus Quest as well after a few reloads of the same page.

By the way, is this is 0.9.2 or 0.9.0?

@briancw Can you reproduce with any of the A-Frame examples? https://aframe.io/aframe/examples/

Like @briancw I am also seeing this issue on the Quest. If anyone is debugging while this happens then

adb shell am force-stop com.oculus.browser

will also fix this which saves a bit of time over having to restart the quest. Probably sideloading a process manager that can force stop Oculus Browser will also work.

I am able to get close to a reproducible pattern using https://aframe.io/a-painter/ (A-Frame Version: 0.7.0 (Date 2018-02-05, Commit #39daf67)). Here are the steps

  1. Open up Oculus Browser
  2. Navigate to https://aframe.io/a-painter/
  3. Open up a remote debugging session in Chrome on a dev machine
    Note that ideally this should be done while the headset display is still on, otherwise the preview window in the remote control panel will not be generated, which is somewhat necessary for later steps. I found that if you just slide your headset up onto your forehead so that that the proximity sensor is still detecting your face and then open a remote session on you dev machine
  4. Enter VR mode pressing the goggles button in Oculus Browser
    the remote session preview should go black
  5. Press power off on the headset so it goes into standby
  6. Refresh the page using the remote session controls
    Do this until the preview refreshes and you see the *A-Frame painted text which suggested that Oculus Browser has dropped out of VR mode.*
  7. Press the power button
    You should be out of VR mode in Oculus Browser
  8. Attempt to go into VR mode
    You should get an error like https://github.com/aframevr/aframe/issues/4053#issuecomment-469585245

I've performed these steps multiple times (>3) for https://aframe.io/a-painter/ and it always end up at the error using v0.7.0.

Similarly the error will occur when following these steps for an in development app using 00b3d40330145b6c2f4fde90d5860e927db98708 (which is between v0.9.0 and v0.9.1).

However using v0.9.2 I have not be able to reproduce this issue using these steps. I get can get through to step 7 where it drops me out of VR mode, however I am able to then still re-enter VR mode without a restart or force stop of Oculus Browser. I repeated the steps in a loop right after each other without any restart, same tab session, >3 times cycling to VR mode then dropping to 2D mode and the error never occurred.

I realise these steps are unlikely to be the pattern that has lead to others experiencing this error. However from what I have found v0.9.2 looks to have fixed the issue.

Apologies for the delay.
I am able to get the Quest to start rejecting presentation requests seemingly with any library that calls requestPresent which is then blanket denied in Oculus browser for any other domain as far as I can tell.
I seem to be able to get this to happen just by refreshing a page that calls requestPresent enough times in a short time period.
This appears to be a bug in the Oculus browser itself. (Maybe some kind of protection feature?)

@Galadirith Thanks for the tip! Thats going to save me tons of time in dev.

Screen Shot 2019-05-30 at 1 50 39 PM

Thanks all for the research. It鈥檚 awesome. For people getting here, I recommend migrating to 0.9.2. We made the enter-vr code path much more robust.

Hi, I think I'm having this problem on the Oculus Quest using Aframe 1.0.0. Once the problem arises I can't access any VR or XR, I tried the WebXR demos too which are normally fine.

As a work around does anyone know how to restart the Oculus browser? Or any other debugging tips for using Aframe with the Quest? Thanks

You can restart the browser with adb shell am force-stop com.oculus.browser . You will need to put it in developer mode. A-Frame examples work fine for me on Quest. @aubergene Do you have a link / steps to reproduce?

I think it's more a general problem with Oculus browser that if you press the home menu button and the click resume it does it. Thanks for the help!

I've been having this issue today when trying aframevr on my Oculus Quest : I noticed that this happened as soon as I added oculus-touch-controls to the basic 'hello world' example.

I've been able to reproduce with this project : https://glitch.com/~aframe-enter-issue4053

I'm using Oculus Browser v77.0.3865.126

@rotoglup It works for me https://glitch.com/edit/#!/generated-wrench-mf2sia77kp?path=index.html:7:49

FYI, you are in an old A-Frame version. Use 1.0.3

Thanks for your feedback - I'll try with 1.0.3 (I don't have the Quest ATM), I copied some exemple somewhere and did not think about changing the version

Since this issue was filed Oculus Browser has replaced WebVR in favor of WebXR (requestPresent no longer exists). This bug no longer reproduces. I'm closing but can reopen if someone manages to reproduce with the WebXR implementation.

Was this page helpful?
0 / 5 - 0 ratings