Closed Bug 1304360 Opened 3 years ago Closed 3 years ago

Firefox49 showing graphics artifacts with HWA enabled

Categories

(Core :: Graphics, defect, P1)

49 Branch
Unspecified
Windows 7
defect

Tracking

()

RESOLVED FIXED
mozilla52
Tracking Status
firefox49 + fixed
firefox50 + fixed
firefox51 + fixed
firefox52 + fixed

People

(Reporter: olisek, Assigned: gw280, NeedInfo)

References

(Blocks 1 open bug)

Details

(Keywords: regression, Whiteboard: [gfx-noted])

Attachments

(5 files, 2 obsolete files)

Attached image 1.png
User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0
Build ID: 20160916101415

Steps to reproduce:

After updating to 49 Just start Firefox and browse web


Actual results:

glyphs, artefacts on web pages
Severity: normal → major
OS: Unspecified → Windows 7
Severity: major → critical
That sounds like a graphics issue.

Type about:support in the location bar and copy here the section 'graphics'.

In addition, could you test with HWA disabled (restart FF to apply):
https://support.mozilla.org/en-US/kb/forum-response-disable-hardware-acceleration
Severity: critical → normal
Component: Untriaged → Graphics
Flags: needinfo?(olisek)
Product: Firefox → Core
Attached image graphic.png
after disabling HWA all is ok, no artefacts.
I know some patches about improve HWA have been pushed into FF49.

Dawid, could you provide the model name of your CPU/GPU?
Summary: New Firefox showing artefacts instead normal web page → Firefox49 showing graphics artifacts with HWA enabled
Laptop Lenovo ThinkPad T61

Windows 7 Ultimate (64bit) SP1
CPU: Intel Core Duo T7300 @2,00 Ghz
GPU: Mobile Intel 965 Express chipset family (GMA X3100)
Thank you. I checked and it seems you have the latest EOLed drivers installed.
https://downloadcenter.intel.com/download/18228/Intel-Graphics-Media-Accelerator-Driver-for-Windows-7-64-exe-?product=81508

If you have some time, could you download the tool Mozregression to narrow down a regression range in FF49, it would help a lot to find the offending bug.
See http://mozilla.github.io/mozregression/ for details.
You can run the commande "mozregression --good=48 (or 47)", then copy here the final pushlog from the mozilla-inbound repository.
i dont have experience with this program. Last output from it:

32:09.09 INFO: Narrowed inbound regression window from [a31ebd5b, 77d8a27b] (3 r
evisions) to [8d62ba5d, 77d8a27b] (2 revisions) (~1 steps left)
32:09.09 INFO: Oh noes, no (more) inbound revisions :(
32:09.09 INFO: Last good revision: 8d62ba5ddb0b41ee4310454c73c5f44384690f37
32:09.09 INFO: First bad revision: 77d8a27b5515b77caa0d4d79641806662638bf32
32:09.09 INFO: Pushlog:
https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=8d62ba
5ddb0b41ee4310454c73c5f44384690f37&tochange=77d8a27b5515b77caa0d4d79641806662638
bf32

32:10.32 INFO: Looks like the following bug has the changes which introduced the
 regression:
https://bugzilla.mozilla.org/show_bug.cgi?id=1262187
C:\>
Thank you, that's helpful.

Milan, is it the expected behavior after your patch in bug 1262187?
Blocks: 1262187
Flags: needinfo?(olisek) → needinfo?(milan)
Expected, but not preferable :)  Dawid, instead of outright disabling hardware acceleration, could you set layers.allow-d3d9-fallback preference (in about:config) to false, restart, and see if the problems are gone?

If the problems are gone with that change, we will want to blocklist this configuration.  With the bug 1262187, this configuration would have gone from not being accelerated, to being D3D9 accelerated, and there may be issues with that driver.

George, if the answer comes back as yes, could you deal with the blocklisting?  We will want the in-code version, but given this is 49, probably a downloadable one as well.  This code may have changed since 49 though.
Assignee: nobody → gwright
Flags: needinfo?(milan)
Priority: -- → P1
Whiteboard: [gfx-noted]
Flags: needinfo?(gwright)
if layers.allow-d3d9-fallback is set to `false` there is no problem and scrolling is normal no artefacts.
Flags: in-testsuite?
Great, thanks Dawid.  George, all you :)
Tracking 52+ for this graphics regression.
Status: UNCONFIRMED → NEW
Ever confirmed: true
I think this should be sufficient. We only want to blocklist this exact driver version, and on Win7, right?
Flags: needinfo?(gwright)
Attachment #8793892 - Flags: review?(milan)
Comment on attachment 8793892 [details] [diff] [review]
0001-Bug-1304360-Add-Windows-7-w-Intel-8.15.10.1749-to-th.patch

Review of attachment 8793892 [details] [diff] [review]:
-----------------------------------------------------------------

This being Intel, should we use the driver build id, rather than version? Also, do we think it's just this version, or everything before it as well?
Attachment #8793892 - Flags: review?(milan)
Tracked since this is a pretty bad issue.
Latest drivers (8.15.10.1930) from Intel works well, no artefacts on my Laptop.
I can see an argument for it going both ways. On the one hand, it sounds like from comment 9 that before the change that caused this regression, we were unaccelerated anyway, so forcibly blocklisting d3d9 on all intel driver versions up to and including this one wouldn't be a regression.

That being said, I don't think we have any data that the previous versions are busted, so I can see an argument to only blocklist this one. That was my original thinking.

I think given that this was always unaccelerated before, I'm now leaning towards the other option.
I have the same problem with ancient nvidia card. Seems last line is repeating instead of drawing the next one.
Attached image Capture.PNG
Attached file about_support.txt
Duplicate of this bug: 1305146
Same chipset in the dupe bug, see about:support https://bugzilla.mozilla.org/show_bug.cgi?id=1305146#c3
Block all prior drivers too.
Attachment #8793892 - Attachment is obsolete: true
Attachment #8794981 - Flags: review?(milan)
Oops, should be LESS_THAN_OR_EQUAL not just LESS_THAN.
Attachment #8794981 - Attachment is obsolete: true
Attachment #8794981 - Flags: review?(milan)
Attachment #8794983 - Flags: review?(milan)
Duplicate of this bug: 1305584
Comment on attachment 8794983 [details] [diff] [review]
0001-Bug-1304360-Add-Windows-7-w-Intel-drivers-less-than-.patch

Review of attachment 8794983 [details] [diff] [review]:
-----------------------------------------------------------------

Looks good.  Let's consider blocking the combo from comment 20 if we find a version of the driver that fixes it.
Attachment #8794983 - Flags: review?(milan) → review+
(In reply to Armands Liepins from comment #20)
> Created attachment 8794500 [details]
> about_support.txt

Armands, is there a newer driver that fixes the problem for you?  If we are going to block the old version, we would want to know if there is a version without the problem.
Flags: needinfo?(armandsl)
We may want to consider a downloadable blocklist for this, except we probably couldn't use the build id for 49.
these are the gpu specifications of users reporting on sumo about the exact same issue (vertical tear) & they are all on older hardware as well in case you want to include them in a block-listing entry:

adapterDescription: ATI Mobility Radeon X2300
adapterDeviceID: 0x7188
adapterSubsysID: 30c1103c
adapterVendorID: 0x1002
driverDate: 12-1-2008
driverVersion: 8.561.0.0 
https://support.mozilla.org/en-US/questions/1140847

adapterDescription: Intel(R) G41 Express Chipset 
adapterDeviceID: 0x2e32 
adapterSubsysID: 04001028 
adapterVendorID: 0x8086 
driverDate: 7-19-2010 
driverVersion: 8.15.10.2182 
https://support.mozilla.org/en-US/questions/1140716
https://support.mozilla.org/en-US/questions/1140832

adapterDescription: Mobile Intel(R) 965 Express Chipset Family (Microsoft Corporation - WDDM 1.1) 
adapterDeviceID: 0x2a02 
adapterSubsysID: 022f1028
adapterVendorID: 0x8086 
driverDate: 5-6-2009 
driverVersion: 8.15.10.1749
https://support.mozilla.org/en-US/questions/1140618

adapterDescription: Mobile Intel(R) 965 Express Chipset Family
adapterDeviceID: 0x2a02
adapterSubsysID: 30cc103c
adapterVendorID: 0x8086
driverDate: 2-26-2009
driverVersion: 7.15.10.1666 
https://support.mozilla.org/en-US/questions/1140847
Pushed by gwright@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/fa29485efec0
Add Windows 7 w/Intel drivers less than or equal to build ID 1749 to the blocklist for D3D9 layers r=milan
Filed bug 1305833 for the downloadable blocklist entry.
So, the user here: https://support.mozilla.org/en-US/questions/1140832 seems to be running into the  same problem (was basic, now fails D3D11, fallback to D3D9 has issues), but has version 8.15.10.2182, so the above entry wouldn't catch it as we're looking for build id 1749.

Jeff, Bas, should we just disallow D3D9 fallback by default (e.g., partially undo bug 1262187)?
Flags: needinfo?(jmuizelaar)
Flags: needinfo?(bas)
(In reply to Milan Sreckovic [:milan] from comment #32)
> So, the user here: https://support.mozilla.org/en-US/questions/1140832 seems
> to be running into the  same problem (was basic, now fails D3D11, fallback
> to D3D9 has issues), but has version 8.15.10.2182, so the above entry
> wouldn't catch it as we're looking for build id 1749.
> 
> Jeff, Bas, should we just disallow D3D9 fallback by default (e.g., partially
> undo bug 1262187)?

Never been a big fan of D3D9 fallback but accelerated video is pretty important. I'm not sure, I wasn't very involved in the actual decision making process behind bug 1262187 so I'm not sure what the considerations initially were.
Flags: needinfo?(bas)
Duplicate of this bug: 1304711
In bug 1304711, same issue with the Intel(R) G41 Express Chipset.
See https://bugzilla.mozilla.org/show_bug.cgi?id=1304711#c3 for the log "about:support>graphics".
https://hg.mozilla.org/mozilla-central/rev/fa29485efec0
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla52
Hi Milan, George, should we uplift this fix to Beta50 and Aurora51?
Flags: needinfo?(milan)
Flags: needinfo?(gwright)
May want to go beyond this, and just disable the D3D9 fallback, except that would impact video a great deal.  Anthony, need your take on this.  What would disabling D3D9 fallback mean for video?
Flags: needinfo?(milan)
Flags: needinfo?(gwright)
Flags: needinfo?(ajones)
In the meantime - George, can you get us a 49 and 50 patches that disable D3D9 fallback by default?
Flags: needinfo?(gwright)
Filed bug 1306465 to track that.
Flags: needinfo?(gwright)
Depends on: 1306465
(In reply to Milan Sreckovic [:milan] from comment #38)
> May want to go beyond this, and just disable the D3D9 fallback, except that
> would impact video a great deal.  Anthony, need your take on this.  What
> would disabling D3D9 fallback mean for video?

Actually, in this particular case, HW video decoding is already blocked.
Flags: needinfo?(jmuizelaar)
Flags: needinfo?(ajones)
Dawid, would it be possible for you to attach the snapshot of the first section (Application Basics) in about:support?  I'm interested in the "Multiprocess Windows" setting.  If that has 1 as the first number, could you go to about:config, set browser.tabs.remote.autostart.2 to false, restart Firefox and see if the problem is still there, with acceleration?
Flags: needinfo?(olisek)
I'm not super worried about the effect on video playback. Early Intel drivers are blacklisted for decode anyway and basic layers is performing a lot better these days. The main downside for most users is probably fan noise.
See Also: → 1306953
Hello, I'm a SUMO forum & social media contributor. I realize the bug is marked fixed but wanted to share some of the about:support graphics cards section with you to give you more data to work with if you decide to blacklist more cards.

https://support.mozilla.org/en-US/questions/1141045#answer-922508
Description: Mobile Intel(R) 4 Series Express Chipset Family
Vendor ID: 0x8086
Device ID: 0x2a42
Driver Version: 7.15.10.1670
Driver Date: 3-3-2009

Diagnostics
AzureCanvasAccelerated: 0
AzureCanvasBackend: skia
AzureContentBackend: cairo
AzureFallbackCanvasBackend: cairo
failures: [GFX1]: D3D11 device creation failed: 0x887a0004
Decision Log
D3D11_COMPOSITING:
failed by runtime: Failed to acquire a D3D11 device
DIRECT2D:
Blocklisted; failure code BLOCKLIST_FEATURE_FAILURE_DL_BLACKLIST_g984
D3D11_HW_ANGLE:
disabled by env: D3D11 compositing is disabled
Failure Log
(#0) Assert: D3D11 device creation failed: 0x887a0004

And 2 Facebook users using Radeon cards:
Description Radeon X1300/X1550 Series (Microsoft Corporation - WDDM)
Vendor ID 0x1002
Device ID 0x7183
Driver Version 8.56.1.16
Driver Date 4-25-2009

Beskrivelse Radeon X1650 Series
Producent-ID 0x1002
Enheds-ID 0x7291
Driver-version 8.593.100.0
Driver-dato 2-10-2010
Thanks Noah - since you're running into this problem, could you verify if setting layers.allow-d3d9-fallback to false (in about:support) and restarting makes the problem go away?
Noah, are you able to verify that flipping the pref fixes this issue?
Flags: needinfo?(krystaiceman)
Duplicate of this bug: 1309590
(In reply to Milan Sreckovic [:milan] from comment #27)
> Armands, is there a newer driver that fixes the problem for you?  If we are
> going to block the old version, we would want to know if there is a version
> without the problem.

No newer driver for this card. Even current driver is actually Vista driver.
Duplicate of this bug: 1310347
Hi, coming from duplicate 1310347...same problem with an ATI Mobility Radeon X1600, on a HP Compaq nc8430.
Setting layers.allow-d3d9-fallback to false fixed the problem for me too.
Excerpt from about:config (before disabling layers.allow-d3d9-fallback) :

Paramètres de base de l’application
-----------------------------------

Nom: Firefox
Version: 49.0.1
Identifiant de compilation: 20160922113459
Canal de mise à jour: release
Agent utilisateur: Mozilla/5.0 (Windows NT 6.1; rv:49.0) Gecko/20100101 Firefox/49.0
Système d’exploitation: Windows_NT 6.1
Fenêtres multi-processus: 1/1 (Activé par défaut)
Mode sans échec: false

Accélération graphique
----------------------

Fonctionnalités
Composition: Direct3D 9
Zoom/Panoramique asynchrones: entrée molette activée
Rendu WebGL: Google Inc. -- ANGLE (ATI Mobility Radeon X1600 Direct3D9Ex vs_3_0 ps_3_0)
Décodage matériel H264: No; Hardware video decoding disabled or blacklisted
DirectWrite: false (6.2.9200.21976)
GPU 1
Actif: Oui
Description: ATI Mobility Radeon X1600
ID du vendeur: 0x1002
ID du périphérique: 0x71c5
Version du pilote: 8.593.0.0
Date du pilote: 3-12-2009
Pilotes: atiumdag atiumdva atitmmxx
ID du sous-système: 30a3103c
RAM: Unknown

Diagnostics
AzureCanvasAccelerated: 0
AzureCanvasBackend: skia
AzureContentBackend: cairo
AzureFallbackCanvasBackend: cairo
failures: [GFX1-]: [D3D11] create component blender failed: 0x80070057, 0
Journal des décisions
DIRECT2D:
failed by runtime: Direct3D11 device does not support texture sharing
D3D11_HW_ANGLE:
broken by runtime: RenderTargetViews need recreating


Journal des échecs
(#0) Error: [D3D11] create component blender failed: 0x80070057, 0
(#1) Error: [D3D11] create component blender failed: 0x80070057, 0
(#2) Error: [D3D11] create component blender failed: 0x80070057, 0

Préférences modifiées importantes
---------------------------------

accessibility.typeaheadfind.flashBar: 0
browser.cache.disk.capacity: 317440
browser.cache.disk.filesystem_reported: 1
browser.cache.disk.hashstats_reported: 1
browser.cache.disk.smart_size.first_run: false
browser.cache.disk.smart_size.use_old_max: false
browser.cache.frecency_experiment: 4
browser.download.importedFromSqlite: true
browser.download.useDownloadDir: false
browser.places.smartBookmarksVersion: 8
browser.search.suggest.enabled: false
browser.sessionstore.upgradeBackup.latestBuildID: 20160922113459
browser.startup.homepage_override.buildID: 20160922113459
browser.startup.homepage_override.mstone: 49.0.1
browser.tabs.remote.autostart.2: true
dom.apps.lastUpdate.buildID: 20160922113459
dom.apps.lastUpdate.mstone: 49.0.1
dom.apps.reset-permissions: true
dom.mozApps.used: true
extensions.lastAppVersion: 49.0.1
font.internaluseonly.changed: true
gfx.crash-guard.d3d11layers.appVersion: 49.0.1
gfx.crash-guard.d3d11layers.deviceID: 0x71c5
gfx.crash-guard.d3d11layers.driverVersion: 8.593.0.0
gfx.crash-guard.d3d11layers.feature-d2d: true
gfx.crash-guard.d3d11layers.feature-d3d11: true
gfx.crash-guard.status.d3d11layers: 2
gfx.driver-init.appVersion: 42.0
gfx.driver-init.deviceID: 0x71c5
gfx.driver-init.driverVersion: 8.593.0.0
gfx.driver-init.feature-d2d: false
gfx.driver-init.feature-d3d11: false
gfx.driver-init.status: 2
media.gmp-eme-adobe.abi: x86-msvc-x86
media.gmp-eme-adobe.lastUpdate: 1462531464
media.gmp-eme-adobe.version: 17
media.gmp-gmpopenh264.abi: x86-msvc-x86
media.gmp-gmpopenh264.lastUpdate: 1471470053
media.gmp-gmpopenh264.version: 1.6
media.gmp-manager.buildID: 20160922113459
media.gmp-manager.lastCheck: 1476480689
media.gmp-widevinecdm.abi: x86-msvc-x86
media.gmp-widevinecdm.lastUpdate: 1476480694
media.gmp-widevinecdm.version: 1.4.8.903
media.gmp.storage.version.observed: 1
media.hardware-video-decoding.failed: false
media.youtube-ua.override.to: 43
network.auth.allow-subresource-auth: 2
network.cookie.prefsMigrated: true
network.predictor.cleaned-up: true
places.database.lastMaintenance: 1476526608
places.history.expiration.transient_current_max_pages: 34897
plugin.disable_full_page_plugin_for_types: application/pdf
plugin.importedState: true
privacy.cpd.offlineApps: true
privacy.cpd.siteSettings: true
privacy.sanitize.migrateClearSavedPwdsOnExit: true
privacy.sanitize.migrateFx3Prefs: true
services.sync.declinedEngines:
storage.vacuum.last.index: 1
storage.vacuum.last.places.sqlite: 1475868591
(In reply to Milan Sreckovic [:milan] from comment #45)
> Thanks Noah - since you're running into this problem, could you verify if
> setting layers.allow-d3d9-fallback to false (in about:support) and
> restarting makes the problem go away?

(In reply to Liz Henry (:lizzard) (needinfo? me) from comment #46)
> Noah, are you able to verify that flipping the pref fixes this issue?

Hi Milan & Liz, sorry to leave you both hanging. I never forgot about this bug but I was not the one who was suffering from this issue. I gathered these reports from affected users thru my volunteer support work with SUMO. I was patiently waiting to hear back if flipping that pref worked here: https://support.mozilla.org/en-US/questions/1141045#answer-925457

But I doubt that user is going to reply. :/ Though JC in the previous comment says flipping that pref works for him. He has a Radeon card similar to the 2 affected Facebook users so I think we can say this will help more people than not.
See Also: → 1310976
See Also: 1310976
Duplicate of this bug: 1310976
We shipped a pref flip in a system add-on to fix this issue and its dupes/related bugs yesterday in bug 1309330.
Milan, is this still affecting 51?  What state is 51 going to be in for beta? 
We did turn off d3d9 fallback for 50, in bug 1306465.
Flags: needinfo?(milan)
We will disable the fallback in all releases, in bug 1306689 (also see bug 1306465).  Once bug 1309277 is fixed, we can try again, as there are some indications that deals with the issue.
Flags: needinfo?(milan)
Flags: needinfo?(krystaiceman)
You need to log in before you can comment on or make changes to this bug.