Blocklisting/Blocked Graphics Drivers

From MozillaWiki
Jump to navigation Jump to search

Downloaded blacklist

This is a list of all the GPU/driver/OS combinations that we have blocked using the downloaded Video card blacklisting feature of Firefox 4.

GPU Driver OS Features Reason
NVIDIA NVS 3100M <= 258.96 Windows 7 Layers acceleration and Direct2D Driver crashes multiple times per day

Compiled-in blacklist

The compiled-in blacklist is implemented separately for each OS/platform (Windows, Mac, X11).

On Windows

All vendors other than AMD/ATI, NVIDIA, Intel are blocked. This was required primarily by various crashes on virtual machines with unusual vendor names (bug 621411). We're open to whitelisting more vendors if needed.

Windows 2003 is identified as Windows XP for the present purporses.

Layers acceleration is blocked on Windows versions older than Windows XP.

NVIDIA cards

We require NVIDIA driver version 257.21 or newer (June 2010), see bug 623338.

On NVIDIA GeForce 6200 TurboCache cards, we block Direct3D 9 accelerated layers.

AMD/ATI cards

We require ATI driver version 10.6 or newer (June 2010), see bug 623338.

We block the OpenGL drivers on ATI cards on Windows. This does not affect default functionality, as we use ANGLE instead of OpenGL by default for WebGL rendering anyway.

Intel cards

We require the following Intel driver versions, or newer (September 2010):

Windows version GPU family Required driver version
Windows XP Intel GMA 500 6.14.11.1018
Windows XP Intel GMA 900 6.14.10.4764
Windows XP Intel GMA 950 6.14.10.4926
Windows XP Intel GMA 3150 6.14.10.5260
Windows XP Intel GMA X3000 6.14.10.5218
Windows XP Intel GMA X4500/HD 6.14.10.5284
Windows Vista Intel GMA 500 7.14.10.1006
Windows Vista Intel GMA 900 All versions are blocked
Windows Vista Intel GMA 950 7.14.10.1504
Windows Vista Intel GMA 3150 7.14.10.2124
Windows Vista Intel GMA X3000 7.15.10.1666
Windows Vista Intel GMA X4500/HD 8.15.10.2202
Windows 7 Intel GMA 500 5.0.0.2026
Windows 7 Intel GMA 900 All versions are blocked
Windows 7 Intel GMA 950 8.15.10.1930
Windows 7 Intel GMA 3150 8.14.10.2117
Windows 7 Intel GMA X3000 8.15.10.1930
Windows 7 Intel GMA X4500/HD 8.15.10.2202

We block Direct3D 10 features (including Direct2D) on buggy installations where the Intel driver reported in the Windows Registry is not equal to the version of the driver DLL, igd10umd32.dll/igd10umd64.dll. See bug 590373.

Moreover, on certain GPUs in the GMA X3000 generation (G35, GL960, GM965), we block Direct2D. See bug 595364. We might however remove this bit as it seems to possibly be just a special case of bug 590373.

We block the OpenGL drivers on Intel cards on Windows. This does not affect default functionality, as we use ANGLE instead of OpenGL by default for WebGL rendering anyway.

Dual-GPU systems

Our current blacklisting implementation does not properly support dual-GPU systems (bug 628129).

On Mac

For layers acceleration, we require Mac OS version 10.6.3 or newer. See bug 629016

For WebGL, we require Mac OS version 10.6 or newer. See bug 636611

The only hardware acceleration feature that we enable on Mac OS 10.5 is <video> acceleration.

For layers acceleration, we also block all old hardware that do not fully support OpenGL 2.1 in hardware (use slow software fallbacks), or that can't render to non-power-of-two texture-backed framebuffers. That includes the following generations of GPUs: ATI Radeon X1000 and older, NVIDIA GeForce FX and older, and Intel GMA 950 and older.

On X11

XRender is used via Cairo, and is not subject to any blacklisting.

Regarding OpenGL drivers, the NVIDIA proprietary driver is currently whitelisted because of many crashes in other drivers, and difficulty determining driver info without risking crashing (see this conversation). Define the MOZ_GLX_IGNORE_BLACKLIST environment variable to bypass that.

WebGL is enabled by default, so it works if your driver is whitelisted (see above).

Layers acceleration is not yet enabled by default because it's not entirely ready; however it's known to give good results with the NVIDIA driver. You can enabled it by setting layers.acceleration.force-enabled=true in about:config.