Summary:
The WEBGL_debug_renderer_info extension allows for querying which driver
(and commonly GPU) a WebGL context is running on. Specifically, it allows
querying the RENDERER and VENDOR strings of the underlying OpenGL driver.

By default, RENDERER and VENDOR queries in WebGL yield safe but useless
values. (For example, Gecko returns "Mozilla"/"Mozilla" for
RENDERER/VENDOR) Queries to UNMASKED_RENDERER_WEBGL and
UNMASKED_VENDOR_WEBGL yield the RENDERER and VENDOR string of the
underlying graphics driver. These values are combined to form the "WebGL
Renderer" field in about:support. On my system, these are:
* UNMASKED_RENDERER_WEBGL: "ANGLE (NVIDIA GeForce GT 750M Direct3D11 vs_5_0
ps_5_0)"
* UNMASKED_VENDOR_WEBGL: "Google Inc." [1]

Bug:
https://bugzilla.mozilla.org/show_bug.cgi?id=1171228

Link To Standard:
https://www.khronos.org/registry/webgl/extensions/WEBGL_debug_renderer_info/

Do other browser engines implement this:
Chrome and IE implement this; Safari does not.

Platform Coverage: All platforms.

Current Target Release: Firefox 41

Related Preferences:
* "webgl.disable-debug-renderer-info" (default: false): Disable this
extension for unprivileged content.
* "webgl.renderer-string-override" (default: ""): Overrides
UNMASKED_RENDERER_WEBGL query result when non-empty.
* "webgl.vendor-string-override" (default: ""): Overrides
UNMASKED_VENDOR_WEBGL query result when non-empty.

Security and Privacy Concerns:
* Traditional user-agent sniffing concerns. (Known antipattern)
* This info includes what GPU is being used, which may contribute to
marketing profiles.
* This info adds easily-accessible bits of entropy that improve
fingerprinting, reducing privacy. (Panopticlick and others have
demonstrated that this is already very effective)

Web Developer Use-Cases:
* Sites can more easily and immediately identify and address concerns
caused by specific hardware or drivers. Currently, apps must
unconditionally workaround an issue until we can ship a fix via browser
updates.This can mean performance degradation for unaffected machines for,
sometimes for weeks.
* Sites can collate and cross-reference drivers and hardware when tracking
issues both user-reported and auto-detected, which both helps sites
identify problematic hardware, and helps browsers fix these issues in turn.
* This allows sites to offer better estimates of performance, and offer
reasonable defaults for quality settings.

[1] On Windows, we use ANGLE as an intermediary driver on top of D3D, hence
the VENDOR string being "Google, Inc." and not "NVIDIA" here.
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to