Blocklisting/Blocked Graphics Drivers: Difference between revisions

no edit summary
No edit summary
 
(119 intermediate revisions by 8 users not shown)
Line 1: Line 1:
= Downloaded blacklist =
= Downloaded blacklist =
To request a block, file a bug using the appropriate request form and filling in all requested details:
* [https://bugzilla.mozilla.org/enter_bug.cgi?comment=OS%3A%20%20%20%20%20%28e.g%20WINNT%206.1%20for%20Windows%207%2C%20Darwin%2011%20for%20Mac%20OS%20X%2010.7%2C%20Linux%2C%20Android%2C%20All%29%0D%0AVendor%3A%20%20%20%20%20%20%20%280x10de%20for%20NVIDIA%2C%200x8086%20for%20Intel%2C%200x1022%20for%20AMD%2C%200x1002%20for%20ATI%29%0D%0ADevices%3A%0D%0AFeature%3A%20%20%20%20%20%28DIRECT2D%2C%20DIRECT3D_9_LAYERS%2C%20DIRECT3D_10_LAYERS%2C%20DIRECT3D_10_1_LAYERS%2C%20OPENGL_LAYERS%2C%20WEBGL_OPENGL%2C%20WEBGL_ANGLE%2C%20WEBGL_MSAA%2C%20STAGEFRIGHT%29%0D%0AFeature%20status%3A%20%20%20%20%20%20%20%28BLOCKED_DRIVER_VERSION%2C%20BLOCKED_DEVICE%2C%20DISCOURAGED%2C%20BLOCKED_OS_VERSION%29%0D%0ADriver%20version%3A%0D%0ADriver%20version%20comparator%3A%20%20%20%20%20%20%20%28LESS_THAN%2C%20LESS_THAN_OR_EQUAL%2C%20GREATER_THAN%2C%20GREATER_THAN_OR_EQUAL%2C%20EQUAL%2C%20NOT_EQUAL%2C%20BETWEEN_EXCLUSIVE%2C%20BETWEEN_INCLUSIVE%2C%20BETWEEN_INCLUSIVE_START%29%0D%0A%0D%0AHomepage%20and%20other%20references%20and%20contact%20info%3A%20%0D%0A%0D%0AReasons%3A&component=Blocklisting&op_sys=All&product=Toolkit&rep_platform=All&short_desc=Graphics%20driver%20block%20request%3A%20%3Cvendor%3E%20driver%20%3Cdriver%20version%3E%2F%3Cdevices%3E%20for%20%3Cfeature%3E%20on%20%3Cos%3E&status_whiteboard=%5Bgfx%5D&version=unspecified Graphics Driver Block Request]
* [https://bugzilla.mozilla.org/enter_bug.cgi?comment=OS%3A%20Android%0D%0AOS%20version%3A%20%20%20%20%28e.g.%2013%20for%20Android%203.2.6%2C%2015%20for%20Android%204.0.4%29%0D%0AVendor%3A%20%20%20%20%20%20%20%28e.g%20Qualcomm%2C%20ARM%2C%20NVIDIA%20Corporation%2C%20Imagination%20Technologies%29%0D%0ADevices%3A%20%20%20%20%20%20%20%28e.g.%20Adreno%20%28TM%29%20220%2C%20Adreno%20205%2C%20Mali-400%20MP%2C%20NVIDIA%20Tegra%2C%20NVIDIA%20Tegra%203%2C%20PowerVR%20SGX%20540%29%0D%0AModel%3A%0D%0AProduct%3A%0D%0AManufacturer%3A%20%20%20%28e.g.%20samsung%2C%20Motorola%2C%20Acer%2C%20Sony%29%0D%0AHardware%3A%0D%0AFeature%3A%20%20%20%20%20%28OPENGL_LAYERS%2C%20WEBGL_OPENGL%2C%20WEBGL_ANGLE%2C%20WEBGL_MSAA%2C%20STAGEFRIGHT%29%0D%0AFeature%20status%3A%20%20%20%20%20%20%20%28BLOCKED_DEVICE%2C%20BLOCKED_OS_VERSION%29%0D%0A%0D%0AHomepage%20and%20other%20references%20and%20contact%20info%3A%20%0D%0A%0D%0AReasons%3A&component=Blocklisting&op_sys=All&product=Toolkit&rep_platform=All&short_desc=Android%20graphics%20block%20request%3A%20%3Cdevice%3E%2F%3Cmodel%3E%20for%20%3Cfeature%3E%20on%20API%20version%20%3Cosversion%3E&status_whiteboard=%5Bgfx%5D&version=unspecified Android Graphics Block Request]


== On desktop ==
This is a list of all the GPU/driver/OS combinations that we have blocked using the downloaded [[Firefox/Projects/VideoDriverBlacklisting|Video card blacklisting]] feature of Firefox 4.
This is a list of all the GPU/driver/OS combinations that we have blocked using the downloaded [[Firefox/Projects/VideoDriverBlacklisting|Video card blacklisting]] feature of Firefox 4.


Line 10: Line 14:
! scope="col" | Features
! scope="col" | Features
! scope="col" | Reason
! scope="col" | Reason
! scope="col" | Bug
|-
|-
| NVIDIA NVS 3100M
| NVIDIA NVS 3100M
Line 16: Line 21:
| Layers acceleration and Direct2D
| Layers acceleration and Direct2D
| Driver crashes multiple times per day
| Driver crashes multiple times per day
| {{bug|635044}}
|-
| All NVIDIA hardware
| >= 7.0.0.0
| Windows XP
| Layers acceleration
| Driver version does not match known NVIDIA drivers
| {{bug|638936}}, {{bug|639698}}
|-
| All AMD/ATI hardware
| 8.982.0.0
| Windows
| Layers acceleration and Direct2D
| Firefox crashes multiple times per day
| {{bug|792480}}, {{bug|793869}}
|-
| All NVIDIA&Intel hardware
| All
| >= Mac OS X 10.6
| WebGL anti-aliasing
| Security issues
| {{bug|809550}}
|-
| AMD Radeon HD 6290/6300/6310/6320
| All
| Windows 7
| Layers acceleration and Direct2D
| Firefox crashes multiple times per day
| {{bug|840161}}
|}
== On Android ==
This is a list of all the Hardware/OS combinations that we have blocked using the downloaded [https://bugzilla.mozilla.org/show_bug.cgi?id=806369 StageFright decoding blacklisting] feature introduced in Firefox 17 for Android.
{| width="100%" cellspacing="1" cellpadding="1" border="0"
|-
! scope="col" | Hardware
! scope="col" | OS
! scope="col" | Feature
! scope="col" | Reason
! scope="col" | Bug
|-
|None
<!--
| antares, endeavoru, harmony, picasso, picasso_e, ventana
| Android
| StageFright
| Crashes while viewing videos
| {{bug|824118}}
|-
| rk30board
| Android
| StageFright
| Crashes while viewing videos
| {{bug|836203}}
-->
|}
|}


= Compiled-in blacklist =
= Compiled-in blacklist =


The compiled-in blacklist is implemented separately for each OS/platform (Windows, Mac, X11).
The compiled-in blacklist is implemented separately for each OS/platform (Windows, Mac, X11).  This list is presented for historical reasons, and is not currently up to date.


== On Windows ==
== 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.
All vendors other than AMD/ATI, NVIDIA, Intel are blocked ({{bug|623338}}). 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.
Windows 2003 is identified as Windows XP for the present purposes.


Layers acceleration is blocked on Windows versions older than Windows XP.
Layers acceleration is blocked on Windows versions older than Windows XP.
Line 32: Line 93:
=== NVIDIA cards ===
=== NVIDIA cards ===


We require NVIDIA driver version 257.21 or newer (June 2010), see {{bug|623338}}.
We require NVIDIA driver version 257.21 (June 2010) or newer, see {{bug|623338}}. Notice that 257.21 is the ''commercial'' version number. This corresponds to the last 5 digits in the ''technical'' version number, which for instance is 8.17.12.5721 on Windows 7/Vista.
 
On NVIDIA GeForce 6100/6150/6200 TurboCache cards, we block Direct3D 9 accelerated layers, see {{bug|612007}}, {{bug|644787}}, {{bug|645872}}.


On NVIDIA GeForce 6200 TurboCache cards, we block Direct3D 9 accelerated layers.
On Optimus devices, ANGLE rendering for WebGL is blocked ({{bug|636870}}). So WebGL should still work, but will use the OpenGL driver.


=== AMD/ATI cards ===
=== AMD/ATI cards ===


We require ATI driver version 10.6 or newer (June 2010), see {{bug|623338}}.
We require AMD driver version 10.6 (June 2010) or newer on Windows up to 7, see {{bug|623338}}. Notice that 10.6 is the ''commercial'' version number. The actual check is performed on the ''technical'' version number, and we require it to be at least 8.741.0.0.
 
We require AMD driver version greater than 12.11 beta (November 2012) on Windows 8, see {{bug|806991}}. Notice that 12.11 beta is the ''commercial'' version number. The actual check is performed on the ''technical'' version number, and we require it to be strictly higher than 9.10.8.0.


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.
We block the OpenGL drivers on AMD cards on Windows, see {{bug|619773}}. This does not affect default functionality, as we use ANGLE instead of OpenGL by default for WebGL rendering anyway.


=== Intel cards ===
=== Intel cards ===


We require the following Intel driver versions, or newer (September 2010):
We require the following Intel driver versions, or newer (September 2010), see {{bug|594877}}.
* You can determine the driver version by entering <tt>about:support</tt> in the Firefox location bar; look under the Graphics section.
* The "GPU family" below doesn't necessarily match the "Adapter Description" in <tt>about:support</tt>. Indeed, Intel has multiple, overlapping product numbering schemes. For example, the "965 chipset family" encompasses the Q965 which is a GMA 3150 chip, and the G965 which is a GMA X3000 chip. Details of your Intel graphics chip are available from the Adapter tab of the Display Settings dialog in Windows. For example, in Windows Vista, one way to get to this in Windows Vista is right-click the desktop, choose Personalize > Display Settings > Display Settings > Monitor > Advanced Settings...  > Adapter, and look for the Adapter String under Adapter Information.
* Intel GPUs have been grouped by families in the table below. For example, by "GMA X3000" we mean all Intel GMA X3000, X3100, X3500 products.
{| width="100%" cellspacing="1" cellpadding="1" border="1"
{| width="100%" cellspacing="1" cellpadding="1" border="1"
|-
|-
Line 120: Line 188:
|-
|-
| Windows 7
| Windows 7
| Intel GMA X4500/HD
| Intel HD Graphics Ironlake
| 8.15.10.2202 up to Firefox 19<br>> 8.15.10.2302 in Firefox 20 and above (see {{bug|843273}})
|-
| Windows 7
| Intel GMA X4500 and other HD Graphics
| 8.15.10.2202
| 8.15.10.2202
|-
| Windows 8
| Intel HD Graphics Ironlake
| > 8.15.10.2302 in Firefox 23 and above (see {{bug|804144}})
|}
|}


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}}.
We block Direct3D 10 features (including Direct2D) on buggy installations where the Intel driver version 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}}.
Up to and including Firefox 6, on certain GPUs in the GMA X3000 generation (G35, GL960, GM965), we block Direct2D. See {{bug|595364}}. In Firefox 7 and newer, Direct2D is no longer blacklisted on these GPUs.


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.
We block the OpenGL drivers on Intel cards on Windows, see {{bug|625118}}. This does not affect default functionality, as we use ANGLE instead of OpenGL by default for WebGL rendering anyway.


=== Dual-GPU systems ===
=== Dual-GPU systems ===
Line 136: Line 212:
== On Mac ==
== 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}}


For WebGL, we require Mac OS version 10.6 or newer. See {{bug|636611}}
For layers acceleration, we require Mac OS version 10.6.3 or newer. See {{bug|629016}}. One exception is &lt;video&gt; acceleration, which is enabled on all Mac OS versions.


The only hardware acceleration feature that we enable on Mac OS 10.5 is <video> acceleration.
For layers acceleration, we also block all old graphics adapters 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.


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.
For MSAA, we block all ATI cards except for AMD Radeon HD 6490M (device id 0x6760) and ATI Radeon HD 4670 (device id 0x9488). See Chromium issue 83153 [http://code.google.com/p/chromium/issues/detail?id=83153].


== On X11 ==
== On X11 ==
Line 148: Line 224:
XRender is used via Cairo, and is not subject to any blacklisting.
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 ([http://lists.freedesktop.org/archives/mesa-dev/2011-February/005267.html see this conversation]). Define the MOZ_GLX_IGNORE_BLACKLIST environment variable to bypass that.
WebGL is enabled by default, so it works if your OpenGL driver is whitelisted or if you bypass the blocking (see below).
 
GL layers acceleration is not yet enabled by default (see {{bug|594876}}). You can enable it by setting '''layers.acceleration.force-enabled=true''' in about:config.
 
The following drivers are whitelisted:
* Mesa drivers are whitelisted if the Mesa version is at least 7.10.3 (see {{bug|659560}}).
** Exception: with the Nouveau 3D driver, the Mesa version is required to be at least 8.0 (see {{bug|729817}})
* For the NVIDIA driver, versions 257.21 and newer are whitelisted, exactly like on Windows (see above).
* For the FGLRX (proprietary ATI) driver, we whitelist the newer versions that implement OpenGL 3.0 or newer. Indeed, FGLRX does not return any version number of its own, so we had to use the OpenGL version as a differentiator.
** FGLRX is blacklisted when the Linux kernel version is 2.6.32.
 
== On Android ==
 
WebGL is disabled for Adreno 200/205 GPUs (see {{bug|736123}}).
 
StageFright software decoding (see {{bug|759945}}) and/or hardware decoding (see {{bug|782508}}) are enabled depending on the Android version, Firefox version and device capability:
{| cellspacing="1" cellpadding="1" border="0"
|-
! scope="col" | Android version
! scope="col" | Device
! scope="col" | First version
! scope="col" | Bug
|-
| 2.2
| LG devices
| Firefox 21
| {{bug|823253}}
|-
| 2.3
| HTC and Samsung devices
| Firefox 21
| {{bug|823253}}
|-
| 3.x
| Samsung devices
| Firefox 21
| {{bug|823253}}
|-
| 4.0
| Samsung devices and Galaxy Nexus
| Firefox 17
| {{bug|806369}}
|-
| 4.0
| Sony Xperia Ion (LT28h)
| Firefox 22
| {{bug|845639}}
|-
| 4.1, 4.2, 4.3
| Any devices
| Firefox 17
| {{bug|806369}}
|}
 
 
The following devices or hardware are blocked for StageFright decoding even if they are in the table above:
{| cellspacing="1" cellpadding="1" border="0"
|-
! scope="col" | Android version
! scope="col" | Device
! scope="col" | Hardware
! scope="col" | First version
! scope="col" | Reason
! scope="col" | Bug
|-
| All
| -
| antares, endeavoru, harmony, picasso, picasso_e, ventana, rk30board
| Firefox 21
| Crashes
| {{bug|862523}}, {{bug|863843}}
|-
| 2.3
| Samsung GT-I8160, GT-I8160L, GT-I8530, GT-I9070, GT-I9070P, GT-I8160P, GT-S7500, GT-S7500T, GT-S7500L, GT-S6500T
| -
| Firefox 21
| Crashes
| {{bug|847837}}
|-
| 2.3
| -
| smdkc110, smdkc210, herring, shw-m110s, shw-m180s, n1, latona, aalto, atlas, qcom
| Firefox 21
| Crashes
| {{bug|864734}}
|-
| 2.3
| Samsung SGH-T989
| -
| Firefox 23
| Crashes
| {{bug|818363}}
|-
| 4.0
| Samsung SGH-I717, SGH-I727, SGH-I757, SGH-T989
| -
| Firefox 21
| Crashes
| {{bug|845729}}
|-
| 4.1
| Samsung GT-P3100, GT-P3110, GT-P3113, GT-P5100, GT-P5110, GT-P5113
| -
| Firefox 22
| Crashes
| {{bug|853522}}
|-
| 4.1
| Motorola XT890
| -
| Firefox 24
| Crashes
| {{bug|882342}}
|-
| 4.1
| Sony devices
| -
| Firefox 21
| Crashes
| {{bug|845734}}
|-
| 4.1
| Sony Ericsson devices
| -
| Firefox 22
| Crashes
| {{bug|879172}}
|-
| 4.2
| Sony Ericsson devices
| -
| Firefox 23
| Crashes
| {{bug|889433}}
|}
 
= How to force-enable blocked graphics features =
 
If you would like to forcibly enable a graphics feature that is blocked on your system, follow these instructions. '''Warning:''' do this at your own risk. There usually are good reasons why features are blocked.
 
To force-enable WebGL, go to about:config and set '''webgl.force-enabled=true'''.
 
To force-enable WebGL anti-aliasing, go to about:config and set '''webgl.msaa-force=true'''.
 
To force-enable Layers Acceleration, go to about:config and set '''layers.acceleration.force-enabled=true'''.
 
On Windows Vista and Windows 7, to force-enable Direct2D Content Acceleration, go to about:config and set '''gfx.direct2d.force-enabled=true'''.
 
On Android, to force-enable StageFright software decoding, go to about:config and set '''stagefright.force-enabled=true'''.


WebGL is enabled by default, so it works if your driver is whitelisted (see above).
On Windows, you can also spoof your graphics system information to help debug driver blacklisting issues (see {{bug|604771}}):
# Create spoofed-firefox.bat in the installation folder (e.g. C:\Program Files (x86)\Mozilla Firefox)
# Set the new values of spoofed variables ending with a command to launch Firefox:<br>SET MOZ_GFX_SPOOF_WINDOWS_VERSION=60001<br>SET MOZ_GFX_SPOOF_VENDOR_ID=0x8086<br>SET MOZ_GFX_SPOOF_DEVICE_ID=0x0046<br>SET MOZ_GFX_SPOOF_DRIVER_VERSION=8.15.10.2302<br>"C:\Program Files (x86)\Mozilla Firefox\firefox.exe" -p -no-remote
# Double-click spoofed-firefox.bat and create a profile if required
# Click the Firefox button, then select Help, finally Troubleshooting Information and check the Graphics section.


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.
If force-enabling a feature doesn't work, that probably means that your hardware doesn't support it. For example, layers acceleration currently requires support for 4Kx4K textures, which rules out some graphics cards, [http://software.intel.com/en-us/articles/intel-gma-3000-and-x3000-developers-guide/ like the Intel G31/G33].
Confirmed users
448

edits