BlacklistsAndWhitelists: Difference between revisions

From WebGL Public Wiki
Jump to navigation Jump to search
Zhenyao (talk | contribs)
Updated Chrome on OS X antialiasing discussion.
 
(5 intermediate revisions by 4 users not shown)
Line 25: Line 25:
==Chrome==
==Chrome==


The file encoding the rules for the Chrome browser may be [http://src.chromium.org/viewvc/chrome/trunk/src/content/browser/gpu/software_rendering_list.json browsed here]. The following sections summarize the rules affecting WebGL.
The file encoding the rules for the Chrome browser may be [https://code.google.com/p/chromium/codesearch#chromium/src/gpu/config/software_rendering_list_json.cc browsed here]. It changes often, so best to check in there. A snapshot of the WebGL-related blacklisting rules are summarized below. Keep in mind they may be out of date.
 
In addition to the blacklist, several [https://code.google.com/p/chromium/codesearch#chromium/src/gpu/config/gpu_driver_bug_list_json.cc GPU driver bug workarounds] are applied on various platforms. Ideally these bugs will all be fixed. The [https://github.com/KhronosGroup/WebGL/tree/master/other/test-runner WebGL conformance test runner] disables the browser's driver bug workarounds to expose the underlying issues.


===Chrome on All Platforms===
===Chrome on All Platforms===
Line 49: Line 51:
===Chrome on Mac OS X===
===Chrome on Mac OS X===


On Mac OS X, WebGL is disabled on:
* On Mac OS X, WebGL is disabled on:
 
** ATI Radeon X1900
* ATI Radeon X1900
** NVIDIA GeForce 7300 GT
* NVIDIA GeForce 7300 GT


Additionally, WebGL's antialiasing support is disabled on all cards on Mac OS X, although WebGL is otherwise supported on these cards.
* Additionally, when an external monitor is plugged in to a Mac OS X laptop, multisampling is disabled because of rendering corruption bugs (http://crbug.com/237931).


===Chrome on Linux===
===Chrome on Linux===
Line 64: Line 65:


* WebGL is enabled on NVIDIA GPUs with proprietary NVIDIA drivers newer than 295.
* WebGL is enabled on NVIDIA GPUs with proprietary NVIDIA drivers newer than 295.
** WebGL on NVIDIA Quadro FX 1500 is always disabled.
** WebGL is always disabled on NVIDIA Quadro FX 1500.
** WebGL on those dynamic switching NVIDIA+Intel GPUs is disabled.
** WebGL is disabled on the dynamically switching NVIDIA+Intel GPUs.
 
===Chrome on Android===
 
* WebGL is disabled on devices that do not support [http://www.opengl.org/registry/specs/ARB/robustness.txt ARB_robustness] or [https://www.khronos.org/registry/gles/extensions/EXT/EXT_robustness.txt EXT_robustness] with context reset notification.

Latest revision as of 19:09, 3 June 2015

In order to provide the best user experience, browsers may selectively enable or disable support for WebGL, or certain sub-features, in certain situations. This special treatment is typically used to work around stability or conformance problems. The rules in these blacklists and whitelists are currently browser-specific, although work is underway to share them between browsers. As the rules are too complicated to fit in a simple table, this page uses one section per browser to describe the rules as of this writing.

Firefox

Firefox's graphics driver blacklist is fully documented on Mozilla's wiki. Below is a summary of the main rules affecting WebGL.

Firefox on Windows

For WebGL in Firefox on Windows, Windows XP or newer is required. The following minimal driver versions are required: either NVIDIA >= 257.21, or ATI/AMD >= 10.6, or Intel driver versions from September 2010 or newer.

Firefox on Mac OS X

For WebGL in Firefox on Mac, Mac OS 10.6 or newer is required.

Firefox on X11

In Firefox 4 and 5 on X11, only the NVIDIA driver is whitelisted.

In Firefox 6 and newer on X11, the following minimal versions are required: either Mesa >= 7.10.3 (or Mesa >= 8.0 for the Nouveau driver), or NVIDIA >= 257.21, or any version of FGLRX implementing OpenGL 3.0 or newer (but FGLRX is blacklisted when the Linux kernel version is 2.6.32)

Firefox Mobile

Firefox Mobile is not currently using any blacklist for WebGL.

Chrome

The file encoding the rules for the Chrome browser may be browsed here. It changes often, so best to check in there. A snapshot of the WebGL-related blacklisting rules are summarized below. Keep in mind they may be out of date.

In addition to the blacklist, several GPU driver bug workarounds are applied on various platforms. Ideally these bugs will all be fixed. The WebGL conformance test runner disables the browser's driver bug workarounds to expose the underlying issues.

Chrome on All Platforms

On all operating systems, WebGL is disabled on:

  • The Intel Mobile 945 Express family of chipsets
  • NVIDIA GeForce FX Go5200

Chrome on Windows

  • On all versions of Windows, WebGL is disabled on all graphics drivers older than January 1, 2009.
  • Additionally, on Windows XP, WebGL is disabled on ATI/AMD drivers older than version 10.6, on NVIDIA drivers older than version 257.21, and on Intel drivers older than version 14.42.7.5294.
    • WebGL is disabled on NVIDIA driver 6.14.11.9621 on Windows XP.
  • WebGL is always disabled on ATI FireNV 2400.
  • WebGL is disabled on Parallels drivers older than 7.
  • WebGL is always disabled on S3 Trio cards.

Chrome on Mac OS X

  • On Mac OS X, WebGL is disabled on:
    • ATI Radeon X1900
    • NVIDIA GeForce 7300 GT
  • Additionally, when an external monitor is plugged in to a Mac OS X laptop, multisampling is disabled because of rendering corruption bugs (http://crbug.com/237931).

Chrome on Linux

  • WebGL is enabled on ATI/AMD GPUs with proprietary AMD drivers 8.98 or newer.
  • WebGL is enabled on certain Intel GPUs with recent Mesa drivers.
    • Multisampling is disabled on Intel IvyBridge cards.
  • WebGL is enabled on NVIDIA GPUs with proprietary NVIDIA drivers newer than 295.
    • WebGL is always disabled on NVIDIA Quadro FX 1500.
    • WebGL is disabled on the dynamically switching NVIDIA+Intel GPUs.

Chrome on Android