Closed Bug 1424802 Opened 7 years ago Closed 5 years ago

Intermittently, SteamVR Home boots up while using WebVR on Firefox.

Categories

(Core :: WebVR, defect)

59 Branch
defect
Not set
normal

Tracking

()

RESOLVED FIXED
Tracking Status
firefox63 --- affected
firefox64 --- affected
firefox65 --- affected

People

(Reporter: ktngo09, Assigned: kip)

Details

Attachments

(1 file)

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:58.0) Gecko/20100101 Firefox/58.0 Build ID: 20171207170405 Steps to reproduce: Still working on getting steps to reproduce, but hope to get it in your radar, maybe you have an idea. Happens sometimes with entering and exiting VR quickly, sometimes with multiple tabs. Actual results: Sometimes, SteamVR Home tries to starts booting up. And then Firefox gets locked out from presenting or entering VR. SteamVR Home usually fails to boot at all, just stuck in the booting screen, and I have to restart steamVR. Sometimes, when SteamVR Home boots up, Firefox displays a white page with a gray spinner. Expected results: SteamVR Home should not try to boot at all while using WebVR on Firefox.
We're seeing these symptoms as well. Here's how I've been able to reproduce it: 1. Head to https://vr.with.in/ 2. Click "Enter VR" button on the bottom of the screen. 3. Select a thumbnail to play a film. 4. Detail pops up. 5. Hit "Play" Expected Result: The view goes to black and the film begins to play. Actual Result: The view fades in the SteamVR Home for a moment, then goes to black and the film begins to play. This is in Firefox 58.02 with an HTC Vive on Windows.
Attached is a video of what it the symptoms look like in headset.
I could not reproduce this issue following steps from comment 1. Is it still reproducible?
Flags: needinfo?(jono)
I can confirm this tomorrow. Thanks for following up!
Flags: needinfo?(jono)
Yes, this issue still occurs for me on Windows machine with Steam VR running FF62 and 63. Underlying in the code we render two different scenes with Three.js — could this occur if there is some amount of time that has elapsed without a render call?
I managed to reproduce it, thank you! It is hard to reproduce this issue using Oculus Rift, however it is easily reproducible using HTC Vive.
Status: UNCONFIRMED → NEW
Ever confirmed: true

Opening the birthday scene from this very nice Mozilla YouTube tutorial *1, as well as starting Mozilla's Spoke will start SteamVR for me.

Clearly this should not happen right on launch.

*1 https://www.youtube.com/playlist?list=PLo3w8EB99pqKLF6R8eAaleDeS-vUqOzin

Disabling the setting in SteamVR developer settings "Start SteamVR when an application starts" seems to help. But still didn't make the mouse cam work in the example from the linked tutorial.

Disabling dom.vr.enabled in about:config - to stop SteamVR from loading all the time (causing issues like no video showing on YouTube), also then not showing the load in vr button in the scene - does make the mouse cam work.

That's great to know. Thanks @Alex!

The issue is fundamentally caused by the WebVR API requiring more than just "presence" of a headset after enumeration. A WebVR site can't query for the presence independently of information such as the resolution and tracking capabilities. In order to know when to show the "enter vr" button, the site needs to do such an enumeration and inadvertently activates SteamVR.

WebXR helps in part, as it provides a well defined mechanism to query just the presence of VR or AR hardware. Our WebXR implementation is underway in Bug 1419190.

Even after Bug 1419190 lands, we won't be shutting off WebVR until sites have had time to migrate to the newer WebXR api.

A solution for the WebVR sites will involve additional UX (eg, asking the user if the browser can use your headset if it needs to be activated for enumeration). We will also look into smoother ways to detect the presence of the headset without activating SteamVR so that we don't display such a prompt to users that don't have one connected.

Assignee: nobody → kgilbert

Ah, that totally makes sense. The latest versions of Three.js prioritize WebXR so I think this should be squared away organically. I'll follow Bug 1419190 for the latest XR developments. Thanks!

In Bug 1580567, we have landed permission UI for VR devices. This UI includes a prompt that must be accepted before starting VR runtimes and an interface for managing whitelists and blacklists of sites that should / should not always have access to VR devices.

This also prevents any inadvertent launching of SteamVR or Steam Home.

Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: