Open Bug 1299870 Opened 8 years ago Updated 2 years ago

[webvr] Implement `about:webvr`

Categories

(Core :: WebVR, enhancement)

enhancement

Tracking

()

People

(Reporter: kip, Unassigned)

References

()

Details

(Whiteboard: [webvr])

A suggestion was made on the mailing list to implement an about:webvr page in Firefox:

I'm current debugging some various flakiness in WebVR.  I think it is
related to NVIDIA drivers and VIVE drivers a lot of the time.  It
would be great to have a page in the web browser I could ask users to
view that would state the following:

Is WebVR supported?  (e.g. Chromium has a flag to enable WebVR, so it
may be supported by not enabled.)
Is WebVR enabled?    (Could be done easily via JavaScript and the WebVR API)

What is the version number of the underlying WebVR API - assuming
there are explicit revision numbers.

Is any VR devices detected? (Could be done easily via JavaScript and
the WebVR API)

For each detected VR device (including Cardboard, VIVE, Oculus):

- What is that VR device? (Could be done easily via JavaScript and the
WebVR API)
- What is the version number of the VR device's hardware.
- What is the version number of the VR device's driver.

This would go a long way to helping diagnose these issues.

I think that WebVR is likely going to follow the path of WebGL and
you'll have black listed drivers and various compensations for bad
hardware/drivers.  And thus sharing this information via such a page
would be a god send.
Whiteboard: [webvr]
Summary: [webvr] Implement about:webvr → [webvr] Implement `about:webvr`
Component: Graphics → WebVR
I would suggest some sort of "traffic light" status of WebVR components.
This page should also indicate if you are on 32-bit or 64-bit builds, and a notice that 64-bit build are needed.
(In reply to :kip (Kearwood Gilbert) from comment #0)
> What is the version number of the underlying WebVR API - assuming
> there are explicit revision numbers.

What are some methods or properties to check for this? Based on the spec (and Brandon's Chromium builds), do you think for now we ought to assume `navigator.vr` for 2.0 vs. `navigator.getVRDisplays()` for 1.1?

> - What is the version number of the VR device's hardware.

How can we get this info. introduced to the API or chrome-level JS?

> - What is the version number of the VR device's driver.

How can we get this info. introduced to the API or chrome-level JS?

> This would go a long way to helping diagnose these issues.

The rest of the info. I've been able to get just fine.
Flags: needinfo?(kgilbert)
BTW, FYI, as I'm sure you already know, re: the GPU, we're able to get the graphics card back from JavaScript:

    https://gist.github.com/cvan/042b2448fcecefafbb6a91469484cdf8

I had forgotten I had that snippet of code.

Still, we'll want some way to get the user's VR device hardware + driver information.
(In reply to Christopher Van Wiemeersch [:cvan] from comment #4)
> BTW, FYI, as I'm sure you already know, re: the GPU, we're able to get the
> graphics card back from JavaScript:
> 
>     https://gist.github.com/cvan/042b2448fcecefafbb6a91469484cdf8
> 
> I had forgotten I had that snippet of code.
> 
> Still, we'll want some way to get the user's VR device hardware + driver
> information.
More information is available in the underlying VR sdks than we expose through WebVR.  We can’t include all of it in WebVR due to some being device specific and due to fingerprinting concerns; however, we could expose this info as Chrome-only calls for the info page.
Flags: needinfo?(kgilbert)
Yep, that's exactly what I figured re: fingerprinting. Can we expose this as a WebExtension API? We could have it live under the `browser.vr` (or `browser.xr`) namespace. If so, I can file a bug and bring it to the attention of Andy and Kris on the WebExtensions team. Sound good to you? Thanks, Kip!
(In reply to Christopher Van Wiemeersch [:cvan] from comment #6)
> Yep, that's exactly what I figured re: fingerprinting. Can we expose this as
> a WebExtension API? We could have it live under the `browser.vr` (or
> `browser.xr`) namespace. If so, I can file a bug and bring it to the
> attention of Andy and Kris on the WebExtensions team. Sound good to you?
> Thanks, Kip!

I like the idea of a WebExtension API for this, and can imagine a few other things to include too.

Please add me to the CC for the bug :-)
Type: defect → enhancement

The bug assignee didn't login in Bugzilla in the last 7 months, so the assignee is being reset.

Assignee: kearwood → nobody
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.