Windows 10 not recognized in the downloadable blocklist

RESOLVED FIXED in Firefox 40

Status

()

defect
RESOLVED FIXED
4 years ago
4 years ago

People

(Reporter: milan, Assigned: milan)

Tracking

Trunk
mozilla42
Unspecified
Windows 10
Points:
---

Firefox Tracking Flags

(firefox40 verified, firefox41 fixed, firefox42 fixed)

Details

Attachments

(2 attachments)

We have DRIVER_OS_WINDOWS_10, but we don't have a literal string that would show up in the blocklist to convert from.
Attachment #8633569 - Flags: review?(bas) → review?(jmuizelaar)
Attachment #8633569 - Flags: review?(jmuizelaar) → review+
Comment on attachment 8633569 [details] [diff] [review]
Part 1. Recognize Windows 10 string in the downloadable blocklist . r=bas

Approval Request Comment
[Feature/regressing bug #]:
[User impact if declined]: Without this change, we can't blocklist on Windows 10.
[Describe test coverage new/current, TreeHerder]:
[Risks and why]: None I can think of.
[String/UUID change made/needed]:
Attachment #8633569 - Flags: approval-mozilla-beta?
Attachment #8633569 - Flags: approval-mozilla-aurora?
Comment on attachment 8633569 [details] [diff] [review]
Part 1. Recognize Windows 10 string in the downloadable blocklist . r=bas

This is a simple enough fix. I did confirm the "WINNT 10.0" to double check that we got this right. Beta+ Aurora+
Attachment #8633569 - Flags: approval-mozilla-beta?
Attachment #8633569 - Flags: approval-mozilla-beta+
Attachment #8633569 - Flags: approval-mozilla-aurora?
Attachment #8633569 - Flags: approval-mozilla-aurora+
https://hg.mozilla.org/mozilla-central/rev/775abb9f465c
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla42
Do we currently blocklist anything specifically for Windows 10? If we do, then we could verify if this works by spoofing graphics data.
Flags: needinfo?(milan)
(In reply to Florin Mezei, QA (:FlorinMezei) from comment #8)
> Do we currently blocklist anything specifically for Windows 10? If we do,
> then we could verify if this works by spoofing graphics data.

Florin, do you have access to a Windows 10 machine that you can test this on?  It would need to be something that is currently not blocklisted, so graphics about:support shows D3D11 OMTC, for example.  You then need to find blocklist.xml in your profile directory, find the <gfxItems>, and right after it add this:

<gfxBlacklistEntry>
 <os>WINNT 10</os>
 <vendor></vendor>
 <feature>DIRECT3D_11_LAYERS</feature>
 <featureStatus>BLOCKED_DEVICE</featureStatus>
</gfxBlacklistEntry>

Now, blocklisting is a bit lazy, so you may need to restart Firefox a few times, but eventually you should see OMTC D3D11 WARP instead in about:support for graphics.
Flags: needinfo?(milan)
Thanks Milan! I think we should have a machine that's not blocklisted with Windows 10 (we have 3 machines right now), so setting this for verification.
Flags: qe-verify+
I tried the scenario from comment 9 on a Windows 10 machine that's not blocklisted (both x86 and x64), however it did not seem to work. I edited the blocklist.xml file from a new profile I had created and added the suggested entry. I then started Firefox multiple times and checked about:support, but still D3D11 OMTC kept showing. After leaving Firefox running for a while, the blocklist.xml file was updated and the entry was removed (I'm guessing Firefox must have downloaded the most recent blocklist.xml and replaced the modified one). Still I'm wondering if the entry itself is correct. I'll keep trying tomorrow by just shortly starting Firefox so the blocklist file does not get restored to the original version... maybe I need to wait longer until Firefox picks up the change.
I tried on Windows 7, and it worked for me, but then it took a day to forget the blocklisting, and go back to D3D11 OMTC.  Just to verify that the method is sound, do you have a Windows 7 machine to try it on?  With WINNT 6.1 instead of WINNT 10.
(In reply to Milan Sreckovic [:milan] (PTO through 7/28) from comment #12)
> I tried on Windows 7, and it worked for me, but then it took a day to forget
> the blocklisting, and go back to D3D11 OMTC.  Just to verify that the method
> is sound, do you have a Windows 7 machine to try it on?  With WINNT 6.1
> instead of WINNT 10.

Replacing WINNT 10 with WINNT 6.1 on Windows 7 x64 works as a charm, as it takes ~1 minute for Firefox to pick up the change and display BASIC OMTC (I think we disabled WARP), and then again ~1 minute to revert to normal when I remove the entry. This confirms that the test method should work.

I tried again on both Windows 10 x86 and Windows 10 x64, but still no luck as Firefox is just not picking up the change and not blocking graphics features. I tried with each of the four entries below (neither one worked):

<gfxBlacklistEntry>
 <os>WINNT 10</os>
 <vendor></vendor>
 <feature>DIRECT3D_11_LAYERS</feature>
 <featureStatus>BLOCKED_DEVICE</featureStatus>
</gfxBlacklistEntry>

<gfxBlacklistEntry>
 <os>WINNT 10.0</os>
 <vendor></vendor>
 <feature>DIRECT3D_11_LAYERS</feature>
 <featureStatus>BLOCKED_DEVICE</featureStatus>
</gfxBlacklistEntry>

<gfxBlacklistEntry>
 <os>WINNT 10</os>
 <vendor></vendor>
 <feature>DIRECT2D</feature>
 <featureStatus>BLOCKED_DEVICE</featureStatus>
</gfxBlacklistEntry>

<gfxBlacklistEntry>
 <os>WINNT 10.0</os>
 <vendor></vendor>
 <feature>DIRECT2D</feature>
 <featureStatus>BLOCKED_DEVICE</featureStatus>
</gfxBlacklistEntry>

This fix looks pretty straightforward so I'm wondering if blocklisting not working isn't due to some other cause. Milan, maybe you could also try this on a Windows 10 machine.
Flags: needinfo?(milan)
Yup, I'll test it locally.
Flags: needinfo?(milan)
First - my instructions in comment 9 are wrong, and we should be using WINNT 10.0 instead of WINNT 10.  However, based on comment 13, that didn't work either, so I will dig into this.
When bug 1076926 initially introduced support for Windows 10 (back in October 2014), we used the initial versioning "6.4" (0x60004).  That has since been changed to 10.0 (0xA0000) and we haven't updated the constant in our code.  This particular constant is only used inside of the graphics blocklisting (but not just the downloadable kind), so our only problems would be in the blocklisting.  I'm going to reopen this bug, and add another patch with the fix.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Attachment #8633569 - Attachment description: Recognize Windows 10 string in the downloadable blocklist . r=bas → Part 1. Recognize Windows 10 string in the downloadable blocklist . r=bas
Attachment #8633569 - Flags: checkin+
Comment on attachment 8640681 [details] [diff] [review]
Part 2. Update the windows constant we get from the system. r=bas

Approval Request Comment
The first patch won't do enough without the second patch, as we'd never recognize the system running as Windows 10.
Attachment #8640681 - Flags: approval-mozilla-beta?
Attachment #8640681 - Flags: approval-mozilla-aurora?
Attachment #8640681 - Flags: review?(bas) → review+
Comment on attachment 8640681 [details] [diff] [review]
Part 2. Update the windows constant we get from the system. r=bas

AIUI, this follow-up fix has been tested just not in product. I'm approving for uplift so that this change can make beta9. If possible, I would like to see this fix verified in today's Nightly build before we build beta9 tomorrow. Beta+ Aurora+
Attachment #8640681 - Flags: approval-mozilla-beta?
Attachment #8640681 - Flags: approval-mozilla-beta+
Attachment #8640681 - Flags: approval-mozilla-aurora?
Attachment #8640681 - Flags: approval-mozilla-aurora+
Attachment #8640681 - Flags: checkin? → checkin+
https://hg.mozilla.org/mozilla-central/rev/6c13c27a10ec
Status: REOPENED → RESOLVED
Closed: 4 years ago4 years ago
Resolution: --- → FIXED
I've verified this again today with Firefox 40 Beta 9 (BuildID=20150730171029), on Windows 10 x64, using the following entry in the blocklist.xml file:
<gfxBlacklistEntry>
 <os>WINNT 10.0</os>
 <vendor></vendor>
 <feature>DIRECT3D_11_LAYERS</feature>
 <featureStatus>BLOCKED_DEVICE</featureStatus>
</gfxBlacklistEntry>

This time the blocklisting worked as expected, as "GPU Accelerated Windows: 1/1 Direct3D 11 WARP (OMTC)" was displayed after ~1 minute. Removing the extra entry to restore to the original blocklist.xml then displayed "GPU Accelerated Windows: 1/1 Direct3D 11 (OMTC)" again, as expected.

Marking as verified on Firefox 40, and removing the qe-verify+ flag, as verification on Beta should suffice.
Flags: qe-verify+
You need to log in before you can comment on or make changes to this bug.