Fail to detect the correct version of Intel graphics driver on Windows

VERIFIED FIXED in Firefox 21

Status

()

Core
Graphics
VERIFIED FIXED
4 years ago
4 years ago

People

(Reporter: Yuan Pengfei, Assigned: Yuan Pengfei)

Tracking

Trunk
mozilla23
x86_64
Windows 8
Points:
---

Firefox Tracking Flags

(firefox21 verified, firefox22 verified, firefox23 verified)

Details

Attachments

(1 attachment)

(Assignee)

Description

4 years ago
Created attachment 717033 [details] [diff] [review]
Fix Intel graphics driver detection

Intel graphics driver 15.31.1.3006 WHQL (9.18.10.3006) renamed igd10umd64.dll to igd10iumd64.dll. So the detection code in widget/windows/GfxInfo.cpp should be fixed.
(Assignee)

Comment 1

4 years ago
Driver upgraded to 15.31.2.3055 WHQL (9.18.10.3055).
Still the same problem.

Comment 2

4 years ago
Can you please also test 9.17.10.3071 driver? 

32bit
https://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&ProdId=3498&DwnldID=22610

64bit
https://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&ProdId=3498&DwnldID=22605

Also can we please get this fixed because hardware acceleration is totally broken on the newer Intel drivers it seems.

http://forums.mozillazine.org/viewtopic.php?p=12771545#p12771545

Comment 3

4 years ago
This is also an issue for me using Windows 7 SP1 x86_64, on an Optimus laptop with a HD4000 and GT650M.

Previous, working driver version: 9.17.10.2932
  [uses igd10umd64.dll and igd10umd32.dll]

Current, non-working driver version: 9.17.10.3071 (or rather 9.18.10.3071, there's a mismatch between the actual driver version number and the one on the DL page)
  [uses igd10iumd64.dll and igd10iumd32.dll]

Even after installation of the 9.18.10.3071 drivers, copies of the 9.17.10.2932 DLLs are still left in my System32, SysWOW64 and driver store folders.

Using the spoofing method documented in https://wiki.mozilla.org/Blocklisting/Blocked_Graphics_Drivers, I can get non-forced acceleration, but only if I set MOZ_GFX_SPOOF_DRIVER_VERSION to 9.17.10.2932.
Setting it to 9.17.10.2875 (a valid igd10umd64.dll and igd10umd32.dll driver number) does not work.

Updated

4 years ago
Status: UNCONFIRMED → NEW
Component: Widget: Win32 → Graphics
Ever confirmed: true

Comment 4

4 years ago
Forcing d2d and webgl the fishbowl performance are ok , but webgl still not working even is about:support say WebGL RendererGoogle Inc. -- ANGLE (Intel(R) HD Graphics 4000), 

plese try this demo

http://alteredqualia.com/three/examples/webgl_cubes.html

Comment 5

4 years ago
(In reply to Cykesiopka from comment #3)

> 
> Even after installation of the 9.18.10.3071 drivers, copies of the
> 9.17.10.2932 DLLs are still left in my System32, SysWOW64 and driver store
> folders.

form a command prompt use pnputil -e il will show you all the driver package , you should have two oemx.inf from intel driver , use pnputil -d  to remove the oldest related to 9.17 driver

this is mine

Published name :            oem5.inf
Driver package provider :   Intel Corporation
Class :                     Display adapters
Driver date and version :   03/19/2013 9.18.10.3071
Signer name :               Microsoft Windows Hardware Compatibility Publisher

Comment 6

4 years ago
(In reply to Yuan Pengfei from comment #0)
> Created attachment 717033 [details] [diff] [review]
> Fix Intel graphics driver detection
> 
> Intel graphics driver 15.31.1.3006 WHQL (9.18.10.3006) renamed
> igd10umd64.dll to igd10iumd64.dll. So the detection code in
> widget/windows/GfxInfo.cpp should be fixed.

Ask for a review?
(In reply to Cykesiopka from comment #6)
> (In reply to Yuan Pengfei from comment #0)
> > Created attachment 717033 [details] [diff] [review]
> > Fix Intel graphics driver detection
> > 
> > Intel graphics driver 15.31.1.3006 WHQL (9.18.10.3006) renamed
> > igd10umd64.dll to igd10iumd64.dll. So the detection code in
> > widget/windows/GfxInfo.cpp should be fixed.
> 
> Ask for a review?

FYI regarding providing Review/Feedback.
Flags: needinfo?(bjacob)
Comment on attachment 717033 [details] [diff] [review]
Fix Intel graphics driver detection

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

Looks good, thanks very much for this patch!
Attachment #717033 - Flags: review+
Attachment #717033 - Flags: checkin?
Flags: needinfo?(bjacob)
Attachment #717033 - Flags: checkin? → checkin+
https://hg.mozilla.org/integration/mozilla-inbound/rev/ea8f727040ce

Thanks for the patch, Yuan! One request - to make life easier for those checking in on your behalf, can you please make sure that future patches follow the guidelines at the link below to ensure that all needed commit information is present. Thanks!
https://developer.mozilla.org/en-US/docs/Mercurial_FAQ#How_can_I_generate_a_patch_for_somebody_else_to_check-in_for_me.3F
Assignee: nobody → coolypf
(Assignee)

Comment 10

4 years ago
(In reply to Ryan VanderMeulen [:RyanVM] from comment #9)
> https://hg.mozilla.org/integration/mozilla-inbound/rev/ea8f727040ce
> 
> Thanks for the patch, Yuan! One request - to make life easier for those
> checking in on your behalf, can you please make sure that future patches
> follow the guidelines at the link below to ensure that all needed commit
> information is present. Thanks!
> https://developer.mozilla.org/en-US/docs/
> Mercurial_FAQ#How_can_I_generate_a_patch_for_somebody_else_to_check-
> in_for_me.3F

I get it. Thank you for telling me the link.
https://hg.mozilla.org/mozilla-central/rev/ea8f727040ce
Status: NEW → RESOLVED
Last Resolved: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla23

Comment 12

4 years ago
Is there any chance this could be uplifted? It would probably be confusing for someone to update their driver and have it blocked, when it isn't listed on https://wiki.mozilla.org/Blocklisting/Blocked_Graphics_Drivers ...
Comment on attachment 717033 [details] [diff] [review]
Fix Intel graphics driver detection

[Approval Request Comment]
Bug caused by (feature/regressing bug #): it regressed not on our side (this code didn't change since Firefox 4) but since Intel changed the name of one of their DLLs
User impact if declined: Among Windows users with Intel graphics (half our userbase), users with certain driver versions (I suppose the most recent ones) will get wrongly blacklisted for D3D10 and as a result, will get inferior graphics performance.
Testing completed (on m-c, etc.): been on m-c for a couple days
Risk to taking this patch (and alternatives if risky): low risk: self-contained 10-line patch touching only one function, I think it fits in my head.
String or IDL/UUID changes made by this patch: none
Attachment #717033 - Flags: approval-mozilla-beta?
Attachment #717033 - Flags: approval-mozilla-aurora?
(In reply to Benoit Jacob [:bjacob] from comment #13)
> Comment on attachment 717033 [details] [diff] [review]
> Fix Intel graphics driver detection
> 
> [Approval Request Comment]
> Bug caused by (feature/regressing bug #): it regressed not on our side (this
> code didn't change since Firefox 4) but since Intel changed the name of one
> of their DLLs
> User impact if declined: Among Windows users with Intel graphics (half our
> userbase), users with certain driver versions (I suppose the most recent
> ones) will get wrongly blacklisted for D3D10 and as a result, will get
> inferior graphics performance.
> Testing completed (on m-c, etc.): been on m-c for a couple days
> Risk to taking this patch (and alternatives if risky): low risk:
> self-contained 10-line patch touching only one function, I think it fits in
> my head.
> String or IDL/UUID changes made by this patch: none


The patch looks good enough to get on aurora and get some feedback in preparation for Beta landing based on below.Can you provide some pointers to QA to help with testing/verification here ?

:bjacob, Can we have some sort of testcase added here to make sure the patch is doing everything as expected and covers all the possible cases which we may not catch during manual testing ? The patch seems simple but worried about the risk of repercussions here if we miss a corner case :-\ ?

Updated

4 years ago
Attachment #717033 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
https://hg.mozilla.org/releases/mozilla-aurora/rev/fc4552abab5b
status-firefox22: --- → fixed
status-firefox23: --- → fixed

Updated

4 years ago
Flags: needinfo?(bjacob)

Updated

4 years ago
Keywords: qawanted, verifyme
Ioana, do you have a Windows 8 computer with an Intel GPU that you could use to test this? Thanks.
QA Contact: ioana.budnar
Adding ni on Ioana, to help test this on aurora in preparation for Beta uplift by Tuesday .
Flags: needinfo?(ioana.budnar)
I've tested this on a Dell XPS with Windows 8 (with latest gfx card drivers as reported by System Update) and here's the info in about:support. Let me know if this verifies that this fix is working:

 Graphics

        Adapter Description
        Intel(R) HD Graphics 4000

        Adapter Drivers
        igdumd64 igd10umd64 igd10umd64 igdumd32 igd10umd32 igd10umd32

        Adapter RAM
        Unknown

        Device ID
        0x0166

        Direct2D Enabled
        true

        DirectWrite Enabled
        true (6.2.9200.16433)

        Driver Date
        9-2-2012

        Driver Version
        9.17.10.2849

        GPU #2 Active
        false

        GPU Accelerated Windows
        1/1 Direct3D 10

        Vendor ID
        0x8086

        WebGL Renderer
        Google Inc. -- ANGLE (Intel(R) HD Graphics 4000)

        AzureCanvasBackend
        direct2d

        AzureContentBackend
        direct2d

        AzureFallbackCanvasBackend
        cairo
Flags: needinfo?(ioana.budnar)
(In reply to bhavana bajaj [:bajaj] from comment #14)
> (In reply to Benoit Jacob [:bjacob] from comment #13)
> > Comment on attachment 717033 [details] [diff] [review]
> > Fix Intel graphics driver detection
> > 
> > [Approval Request Comment]
> > Bug caused by (feature/regressing bug #): it regressed not on our side (this
> > code didn't change since Firefox 4) but since Intel changed the name of one
> > of their DLLs
> > User impact if declined: Among Windows users with Intel graphics (half our
> > userbase), users with certain driver versions (I suppose the most recent
> > ones) will get wrongly blacklisted for D3D10 and as a result, will get
> > inferior graphics performance.
> > Testing completed (on m-c, etc.): been on m-c for a couple days
> > Risk to taking this patch (and alternatives if risky): low risk:
> > self-contained 10-line patch touching only one function, I think it fits in
> > my head.
> > String or IDL/UUID changes made by this patch: none
> 
> 
> The patch looks good enough to get on aurora and get some feedback in
> preparation for Beta landing based on below.Can you provide some pointers to
> QA to help with testing/verification here ?

Well, the test procedure is take a Windows 7 or 8 machine with a Intel GPU; install the latest Intel graphics driver (or whichever version is recent enough to have igd10iumd64.dll / igd10iumd32.dll instead of igd10umd64.dll / igd10umd32.dll). Restart Firefox. Go to about:support. Do you get Direct3D 10 layers and Direct 2D ? If yes, this patch is verified. If no, this patch didn't work.

> 
> :bjacob, Can we have some sort of testcase added here to make sure the patch
> is doing everything as expected and covers all the possible cases which we
> may not catch during manual testing ? The patch seems simple but worried
> about the risk of repercussions here if we miss a corner case :-\ ?

This is not very easy to test... Testing this is only valuable in real-world conditions, and it's hard to spoof the presence of a DLL file with the wrong DLL version.
Flags: needinfo?(bjacob)
Juan, can you please try the drivers from comment 2? In "broken" builds it should incorrectly report the version as "9.17.10.3071" instead of "9.18.10.3071". In "fixed" builds it should be correctly reported. Thanks.
Using the drivers from comment #2, on Win8, on a build from 2013-04-05 I get a driver version of:

9.18.10.3071

As reported in about:support. Same with latest Aurora from 04-15. I'm not seeing a difference.
Thanks Juan. Benoit do you know what could be going on here? 

Yuan, since you reported this originally can you do some testing to see if this is fixed for you in the latest Aurora and Nightly builds?
Flags: needinfo?(bjacob)
As discussed on IRC with Juan: his machine does not have igd10iumd64.dll or igd10iumd32.dll. See comment 3.
Flags: needinfo?(bjacob)

Comment 24

4 years ago
(In reply to Cykesiopka from comment #3)
> (or rather 9.18.10.3071,
> there's a mismatch between the actual driver version number and the one on
> the DL page)

Please ignore this part: I use Windows 7 and not Windows 8, so it might be that my driver versions are x.17.x.x instead of x.18.x.x.

The exact version probably doesn't matter as long as the driver includes the DLLs with the new names.

Also, thanks for the quick uplift!
Okay, thanks for the clarification. Based on Juan's driver list in comment 18 I think we can call this verified. Juan, can you please confirm which Firefox branches you tested and mark the status flags accordingly? Thank you.

Updated

4 years ago
status-firefox22: fixed → verified
status-firefox23: fixed → verified

Updated

4 years ago
Attachment #717033 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Thanks for the verification. Request to land asap to get this in our beta 3 , going to build shortly.
https://hg.mozilla.org/releases/mozilla-beta/rev/b30073a4dfd1
status-firefox21: --- → fixed
Dropping QAWANTED but leaving VERIFYME to track for Firefox 21b3 verification.
Keywords: qawanted
(In reply to Benoit Jacob [:bjacob] from comment #27)
> https://hg.mozilla.org/releases/mozilla-beta/rev/b30073a4dfd1

This push is empty.
status-firefox21: fixed → affected
Sorry, again:

https://hg.mozilla.org/releases/mozilla-beta/rev/28d4b9ca9ceb
status-firefox21: affected → fixed
User Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:21.0) Gecko/20100101 Firefox/21.0

On a Windows 8 machine with Intel Processor Graphics 2000, I've updated to the latest Intel graphics driver (version 9.17.10.3062). With Firefox 21 beta 3 (Build ID: 20130416200523) in about:support, I do get Direct3D 10 layers and Direct 2D, but the dll file is igd10umd64, not igd10iumd64. It's because igd10iumd64.dll is specific to 3rd generation processors?
(In reply to Bogdan Maris [QA] from comment #31)
> User Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:21.0) Gecko/20100101
> Firefox/21.0
> 
> the dll file is igd10umd64, not igd10iumd64.

I believe this is precisely what we are looking for to verify this is fixed. In other words if you had seen igd10iumd64 instead of igd10umd64 this would mean it is not fixed. Since you did not I'm marking this verified fixed. Please reopen if this is incorrect.
Status: RESOLVED → VERIFIED
status-firefox21: fixed → verified
Keywords: verifyme

Comment 33

4 years ago
(In reply to Anthony Hughes, Mozilla QA (:ashughes) from comment #32)
> I believe this is precisely what we are looking for to verify this is fixed.
> In other words if you had seen igd10iumd64 instead of igd10umd64 this would
> mean it is not fixed. Since you did not I'm marking this verified fixed.
> Please reopen if this is incorrect.

Not quite, although this would suggest that the fix hasn't regressed the previous check.

If this patch has worked, GPU acceleration should be present for drivers that use igd10umd{32|64}, as well as drivers that use igd10iumd{32|64}, without needing to force it through. (As long as the drivers are recent enough and aren't specifically blocked, of course)

FWIW, I've checked that the fix works in Firefox 21 Beta 3, using the igd10iumd64 9.17.10.3071 driver and Windows 7.
You need to log in before you can comment on or make changes to this bug.