Closed
Bug 594877
Opened 14 years ago
Closed 14 years ago
Update intel driver versions in GfxInfo blocklist
Categories
(Core :: Graphics, defect)
Tracking
()
RESOLVED
FIXED
mozilla2.0b7
Tracking | Status | |
---|---|---|
blocking2.0 | --- | betaN+ |
People
(Reporter: vlad, Assigned: bjacob)
References
Details
Attachments
(3 files, 3 obsolete files)
(deleted),
application/ods
|
Details | |
(deleted),
patch
|
vlad
:
review+
|
Details | Diff | Splinter Review |
(deleted),
patch
|
bjacob
:
review+
|
Details | Diff | Splinter Review |
The GfxInfo blocklist has incorrect intel driver versions; we need to update it with correct versions, which seem to be per OS. For intel, the driver versions seem to follow this pattern:
8.15.10.x Win7
7.15.10.x Vista DX10
7.14.10.x Vista DX9
6.14.10.X XP
So we'd need to block >= 8.15.10.0 and < 8.15.10.good, where good is whatever the good suffix is. Same with between 7.15.10.0 and 7.15.10.x etc. (Alternatively, we can add OS version support in to gfxinfo as well.)
Reporter | ||
Updated•14 years ago
|
blocking2.0: --- → betaN+
Comment 1•14 years ago
|
||
Comment 2•14 years ago
|
||
It is too simple : .good depends on DeviceID !!!!
Comment 3•14 years ago
|
||
Attachment #473752 -
Attachment is obsolete: true
Updated•14 years ago
|
Attachment #474363 -
Attachment mime type: application/xml → application/ods
Assignee | ||
Comment 4•14 years ago
|
||
Could you give me the source URL for this compliance matrix?
Assignee | ||
Updated•14 years ago
|
Assignee: nobody → bjacob
Comment 5•14 years ago
|
||
The source URL are indicated at the end of each sheet :
* DeviceID : http://en.wikipedia.org/wiki/Intel_GMA
* Driver version : intel.com, more accurately http://downloadcenter.intel.com/default.aspx?iid=gg_support-EN_01+home_downloadctr, then select Graphics, finally select manually each graphic card type, each OS (hard work).
Nota bene :
* In DeviceID sheet, "946 1" must be replaced by "945 2", and "947 1" by "945 3"
* Now the latest graphic driver version for GMA x4500y/HD is .2202, but I think it is a good idea to freeze the intel matrix in order to allow the latest and the previous versions of the recent graphic cards.
Assignee | ||
Comment 6•14 years ago
|
||
Ah, thanks. But what do you mean by compliance? Compliance with what?
Is it the case, that you put in this matrix the latest available versions of these drivers as of today? Would the rationale be that we don't want to use old drivers as they might be unstable?
Assignee | ||
Comment 7•14 years ago
|
||
Here's a patch. Please check for compilation on windows, I only checked the relevant part of this file isolatedly on linux.
Changed GfxDriverInfo to store a Windows version and a zero-terminated list of device IDs.
Attachment #475450 -
Flags: review?(vladimir)
Comment 8•14 years ago
|
||
I will be more generic than a graphic driver version issue :First, HW acceleration (D2D, DW, D3D, WebGL) must be enabled according to HW graphic card capabilities.Intel has several kinds of HW graphic cards : 500 series, 900 series, 950 series, 3000 series, 3100 seris, 3150 series, 3500 series, 4500 series, HD series.I think among these cards some of them can support no acceleration or partial acceleration (D3D only, webgl only) and others can support complete acceleration.So a first selection must be done according to DeviceID.Once, HW selection is done, a check on Intel driver version can be done according to the attached intel matrix.8.15.10.1930 is stable for 3000 series, but unstable to 4500 series.
Assignee | ||
Comment 9•14 years ago
|
||
Can you have a look at the patch I just attached and tell me if the blocking logic is OK? I have implemented the logic that for each deviceID and Windows version, if the driver version is lower than what you put in the matrix, all capabilities are blocked. Does that need to be more fine grained (e.g. blocking only D3D, etc?) In addition, I have kept existing logic making OpenGL "not recommended" on intel graphics.
Comment 10•14 years ago
|
||
FWIK, D2D/DW is an API that exist only in Win Vista and +. It must be disabled for previous OS for every graphic card. But may be it is already done in other parts of code. For D3D and webgl, i have no clue. Ask Bas for that.
Replace deviceFamilyIntelGMAX4500 by deviceFamilyIntelGMAX4500HDGraphics.
For Intel graphic card that does not exist yet, add a new device family deviceFamilyIntelDummy that has 0xFFFF as mask and that matches the same driver version as deviceFamilyIntelGMAX4500HDGraphics.
For Windows 2000, block all features.
For Windows 8 and upper (anything about 6.1), use the Windows 7 match.
Reporter | ||
Comment 11•14 years ago
|
||
Comment on attachment 475450 [details] [diff] [review]
Update intel driver blocklist
s/IMPLEMENT_INTEL_COMPLIANCE_MATRIX/BLOCK_INTEL_DRIVER_LESS_THAN/; "implement the compliance matrix" doesn't really have any meaning. Also keep the comment that explains why we're blocking those devices (specifically the D2D crash with the MS hotfix installed).
I like the zero-terminated change, but in that case there's no need to have separate static entries for each device ID -- just put the values directly into the arrays. Looks great other than that.
Assignee | ||
Comment 12•14 years ago
|
||
(In reply to comment #10)
> FWIK, D2D/DW is an API that exist only in Win Vista and +. It must be disabled
> for previous OS for every graphic card. But may be it is already done in other
> parts of code. For D3D and webgl, i have no clue. Ask Bas for that.
Yes, this is already handled. We need only take care of driver-specific issues here.
>
> Replace deviceFamilyIntelGMAX4500 by deviceFamilyIntelGMAX4500HDGraphics.
OK.
>
> For Intel graphic card that does not exist yet, add a new device family
> deviceFamilyIntelDummy that has 0xFFFF as mask and that matches the same driver
> version as deviceFamilyIntelGMAX4500HDGraphics.
OK. I don't know that I have a way to tell the difference between a device that doesn't exist yet, and a super old device that's too old to be on our list. But since this approach means that we would require a recent driver in that case, it would block old devices anyway.
>
> For Windows 2000, block all features.
Letting others decide here, not feeling competent.
>
> For Windows 8 and upper (anything about 6.1), use the Windows 7 match.
OK.
Assignee | ||
Comment 13•14 years ago
|
||
(In reply to comment #11)
> Comment on attachment 475450 [details] [diff] [review]
> Update intel driver blocklist
>
> s/IMPLEMENT_INTEL_COMPLIANCE_MATRIX/BLOCK_INTEL_DRIVER_LESS_THAN/; "implement
> the compliance matrix" doesn't really have any meaning. Also keep the comment
> that explains why we're blocking those devices (specifically the D2D crash with
> the MS hotfix installed).
OK
>
> I like the zero-terminated change, but in that case there's no need to have
> separate static entries for each device ID -- just put the values directly into
> the arrays. Looks great other than that.
Actually this is how I initially wrote it, but I figured that writing the actual device names would help a lot maintain this file in the future. Otherwise, e.g. if there's a mistake somewhere or if we need to make a tweak, we'll have a hard time reading hex values.
Assignee | ||
Comment 14•14 years ago
|
||
Here's the new patch.
After all I haven't done anything about Windows 8 because gfxWindowsPlatform.h doesn't know about it and I was lazy to find out the right hex value. Feel free.
Also made it all const.
Tested on Windows/MSVC 2010. Going back to linux now. "So long and thanks for all the fish".
Attachment #475450 -
Attachment is obsolete: true
Attachment #475673 -
Flags: review?(vladimir)
Attachment #475450 -
Flags: review?(vladimir)
Reporter | ||
Comment 15•14 years ago
|
||
(In reply to comment #13)
> (In reply to comment #11)
> >
> > I like the zero-terminated change, but in that case there's no need to have
> > separate static entries for each device ID -- just put the values directly into
> > the arrays. Looks great other than that.
>
> Actually this is how I initially wrote it, but I figured that writing the
> actual device names would help a lot maintain this file in the future.
> Otherwise, e.g. if there's a mistake somewhere or if we need to make a tweak,
> we'll have a hard time reading hex values.
...
0xabcd, // Intel GMA 4500 Fancypants HD
...
? Should definitely keep the device names, but they can go in a comment.
Reporter | ||
Comment 16•14 years ago
|
||
Comment on attachment 475673 [details] [diff] [review]
Update intel driver blocklist
Move the hex values in the arrays please; this has the potential for getting very large, and I'd rather have things consolidated as much as possible.
Assignee | ||
Comment 17•14 years ago
|
||
Here you go. Don't know why I didn't think about this.
Attachment #475673 -
Attachment is obsolete: true
Attachment #475686 -
Flags: review?(vladimir)
Attachment #475673 -
Flags: review?(vladimir)
Reporter | ||
Updated•14 years ago
|
Attachment #475686 -
Flags: review?(vladimir) → review+
Assignee | ||
Comment 18•14 years ago
|
||
If someone wants this pushed quick, can you please push it for me?
Benoit Jacob <bjacob@mozilla.com>
Don't know when's the next time I push stuff.
Keywords: checkin-needed
Comment 19•14 years ago
|
||
GMA 4500MHD 1 & 2 miss. Please add them.
Assignee | ||
Comment 20•14 years ago
|
||
Thanks a lot for catching this.
Also made it an actual changeset ready to push.
Carrying forward r+.
Attachment #475686 -
Attachment is obsolete: true
Attachment #475771 -
Flags: review+
Assignee | ||
Updated•14 years ago
|
Attachment #475686 -
Attachment is obsolete: false
Comment 21•14 years ago
|
||
Status: NEW → RESOLVED
Closed: 14 years ago
Keywords: checkin-needed
Resolution: --- → FIXED
Target Milestone: --- → mozilla2.0b7
Comment 22•14 years ago
|
||
i don;t know about programming but Χ3100 (GMA965) supports full DX10 and has hardware TL engine.
Assignee | ||
Comment 23•14 years ago
|
||
(In reply to comment #22)
> i don;t know about programming but Χ3100 (GMA965) supports full DX10 and has
> hardware TL engine.
We're not blocking it. We're only requiring a recent enough driver version.
Comment 24•14 years ago
|
||
(In reply to comment #23)
> (In reply to comment #22)
> > i don;t know about programming but Χ3100 (GMA965) supports full DX10 and has
> > hardware TL engine.
>
> We're not blocking it. We're only requiring a recent enough driver version.
the latest driver for GMA965 is 8.15.10.1930 (for both 32 and 64 bits)
right now with today's minefield i have full D2D/D3D accelaration with GMA965 and 8.15.10.1930 in windows 7
Assignee | ||
Comment 25•14 years ago
|
||
(In reply to comment #24)
> (In reply to comment #23)
> > (In reply to comment #22)
> > > i don;t know about programming but Χ3100 (GMA965) supports full DX10 and has
> > > hardware TL engine.
> >
> > We're not blocking it. We're only requiring a recent enough driver version.
>
> the latest driver for GMA965 is 8.15.10.1930
Right, that's what we are now requiring.
Comment 26•14 years ago
|
||
According to comment 24 of bug 594025, D2D/DW is not enabled for G965 chipset with the latest graphic driver for GMA X3000 series (8.15.10.1930) but it should be.
I am wondering if it is not a side effect of the match of a DeviceID that does not exist yet (0 in deviceFamilyIntelGMAX4500HD) that overwrite the match of any others previous series (deviceFamilyIntelGMAX3000 in that case).
According to me, a new bug must be filled for old Intel card.
Benoit, am I right ?
Assignee | ||
Comment 27•14 years ago
|
||
The 0 is special-cased in this line: for (const PRUint32 *devices = info->devices; *devices; ++devices) {here, if *devices = 0, we exit the for loop.So if GMA X3000 is blocked with driver version 8.15.10.1930, that's indeed a bug, and indeed it would be good to file a new bug about it. From a look at my code, I can't find where my mistake would be. I also don't have intel hardware to test. Ideally we need someone with intel hardware to set a breakpoint there and step through this code to see where it's going wrong.
Assignee | ||
Comment 28•14 years ago
|
||
See patch attached to bug 585832
Comment 29•14 years ago
|
||
Just thought I'd add that while my drivers have been blacklisted. My HA was working properly after one or two issues.
Comment 30•14 years ago
|
||
Is there a way I can bypass the blocklist so as to test and report on the compatibility of custom drivers like those from http://9xxssf.info/downloads/ ("alpha" and "sigma") and http://groups.google.com/group/intel9x-gaming/browse_thread/thread/b32142d1e2934bfc/c83088d635f31ad5?q=sherry&lnk=ol& ("Sherry 1.2" with a custom driver version string) ?
Comment 31•14 years ago
|
||
You can by-pass the Intel driver blocklisting:
* D2D feature : set gfx.direct2d.force-enabled to true
* DW feature : set gfx.font_rendering.directwrite.enabled to true
It is at your own risk because you are not protected against some kinds of crash.
Comment 32•14 years ago
|
||
Can't do. "GPU Accelerated Windows" is 0/1. "Direct2D Enabled" is false. Are there any other settings I can toggle?
Comment 33•14 years ago
|
||
> Can't do. "GPU Accelerated Windows" is 0/1. "Direct2D Enabled" is false. Are
> there any other settings I can toggle?
No. You must file a bug for D2D and DW that can not be forced.
Comment 34•14 years ago
|
||
I'm looking forward to seeing Intel chipsets being taken off the blocklist if custom drivers can complete or update the necessary feature sets for hardware acceleration in Firefox.
Assignee | ||
Comment 35•14 years ago
|
||
(In reply to comment #33)
> > Can't do. "GPU Accelerated Windows" is 0/1. "Direct2D Enabled" is false. Are
> > there any other settings I can toggle?
> No. You must file a bug for D2D and DW that can not be forced.
Indeed... while there is currently no way of forcing layers.accelerate, you should definitely have been able to force D2D and DW with these prefs.
The fact that it's still disabled for you seems to mean there's either a deeper problem in your graphics setup, or a bug in our code, so it's trying to use e.g. D2D and fails to.
Comment 36•14 years ago
|
||
How about this bug https://bugzilla.mozilla.org/show_bug.cgi?id=604771 ? Is there also a blocklist for older ATi cards like the 9550 on the legacy 10.2 drivers?
Comment 37•14 years ago
|
||
I'm using the 945GM with the latest .1930 drivers. Is this chipset completely blacklisted?
Comment 38•14 years ago
|
||
> How about this bug https://bugzilla.mozilla.org/show_bug.cgi?id=604771 ?
bug 604771 is an enhancement for developers to help debugging issues with blacklisting of drivers and devices.
> Is there also a blocklist for older ATi cards like the 9550 on the legacy 10.2
> drivers?
There is no known crash that is related to out-of-date drivers from ATI or Nvidia. So blacklisting is not necessary for the moment.
> I'm using the 945GM with the latest .1930 drivers. Is this chipset completely
> blacklisted?
Now, this information is available in the graphic section of the "about:support" page.
945GM is a DX9c card, graphic driver 8.15.10.1930 is for DX9c cards. So it is not blacklisted. Only DX10 cards that use this graphic driver are blacklisted.
File a new bug if you have D2D disabled with a new profile.
Comment 39•14 years ago
|
||
D2D is supposed to be disabled for Dx9c chipsets like the 945GM. However, accelerated windows is supposed to still be possible. Interestingly, I created a new profile for the computer with ATi 9550 and acceleration remains completely off. I noticed that Video RAM for both cards are shown as Unknown, can that be part of the problem?
Are there any news on extending the allowed driver versions to custom drivers? How much testing is needed by the developers and users for this?
Comment 40•14 years ago
|
||
Shaun,
I think it is time to file one or several bugs and not spamming this one that it is fixed.
Assignee | ||
Comment 41•14 years ago
|
||
(In reply to comment #40)
> Shaun,
> I think it is time to file one or several bugs and not spamming this one that
> it is fixed.
I agree :) so this is the last reply that I write here.
(In reply to comment #38)
> Now, this information is available in the graphic section of the
> "about:support" page.
> 945GM is a DX9c card, graphic driver 8.15.10.1930 is for DX9c cards. So it is
> not blacklisted. Only DX10 cards that use this graphic driver are blacklisted.
Actually that's not the case, we do have driver version blacklist for all intel cards, not only for DX10 cards.
With Intel 945GM, the minimum driver versions are:
- on win vista: 7.14.10.1504
- on win 7: 8.15.10.1930
(In reply to comment #36)
> How about this bug https://bugzilla.mozilla.org/show_bug.cgi?id=604771 ?
Yes, this allows you to circumvent/ignore/spoof the blacklisting. Watch this bug for when the patch will be landed. Instructions given there.
> Is
> there also a blocklist for older ATi cards like the 9550 on the legacy 10.2
> drivers?
There is currently no driver blocklist for ATI cards (we need one).
Comment 42•14 years ago
|
||
(In reply to comment #38)
> File a new bug if you have D2D disabled with a new profile.
Just filed a tightly related issue (bug 605053) where I'm hoping we can start
hunting this (weird) things down. ;-)
Assignee | ||
Comment 43•14 years ago
|
||
I forgot to tell something important! Since the landing of bug 604771, you can now circumvent the blocklists. Instructions are given in that bug, but the short version is that just doing
MOZ_GFX_SPOOF_VENDOR_ID=0 firefox
in a terminal ("command line prompt"), i.e. running firefox with the environment variable MOZ_GFX_SPOOF_VENDOR_ID set to 0, will cause the whole blacklist to be ignored.
Comment 44•14 years ago
|
||
The following commands (fresh profile used)
E:\Minefield> set MOZ_GFX_SPOOF_VENDOR_ID=0
E:\Minefield> firefox.exe -p Minefield -no-remote
leads to following result in about:support
---------------------------------------------------------
Graphics
Adapter Description
Intel(R) G965 Express Chipset Family
Vendor ID
0000
Device ID
29a2
Adapter RAM
Unknown
Adapter Drivers
igdumd64 igdumdx32
Driver Version
8.15.10.1930
Driver Date
9-23-2009
Direct2D Enabled
false
DirectWrite Enabled
false
GPU Accelerated Windows
1/1 Direct3D 9
------------------------------------------------------
From visual inspection, Direct2D is still not working, so I guess the issue is not related to driver block-list, at least on G965/x3000. The firefox version used was
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0b8pre) Gecko/20101116 Firefox/4.0b8pre
You need to log in
before you can comment on or make changes to this bug.
Description
•