Closed Bug 1563854 Opened 2 months ago Closed Last month

WebGL is (accidentally?) blacklisted for GTX1060/Nouveau/Ubuntu 19.04 while WebRender is running fine

Categories

(Core :: Canvas: WebGL, defect, P1)

69 Branch
Desktop
Linux
defect

Tracking

()

RESOLVED FIXED
mozilla70
Tracking Status
firefox-esr60 --- unaffected
firefox-esr68 68+ fixed
firefox67 --- unaffected
firefox68 + fixed
firefox69 + fixed
firefox70 + fixed

People

(Reporter: darkspirit, Assigned: darkspirit)

References

(Regression)

Details

(Keywords: nightly-community, regression)

Attachments

(4 files)

Attached file aboutsupport.txt

Fresh Profile, only WebRender was manually enabled and works.

Refused to create native OpenGL context because of blacklist entry: FEATURE_FAILURE_OLD_NVIDIA

https://webglsamples.org/aquarium/aquarium.html

It does not appear your computer supports WebGL.

In contrast, Mesa 18 (=Ubuntu 18.04 LTS) is required for Qualified WebRender with Intel/AMD, maybe that would be a good limit for WebGL on Mesa/Nouveau as well instead of blocking it completely?

See Also: → 1563859

I think this was a regression. I'm pretty sure WebGL1 worked in Nouveau within the last year!

Priority: -- → P1
Target Milestone: --- → mozilla70

https://searchfox.org/mozilla-central/rev/9e980da78406a808663ba640773d386a2a02965a/widget/GfxInfoX11.cpp#327
It might be enough to change DriverVendorAll to DriverNonMesaAll.
("driverVendor" is "mesa/nouveau" on X11, but "mesa/unknown" on Wayland. Mesa itself and other values are detected in both cases.)

According to about:support, WebGL 1 and 2 seemed to work before the regression.

Has Regression Range: --- → yes
Has STR: --- → yes
Keywords: regression
Regressed by: 1544105
Hardware: x86_64 → Desktop

That sounds right to me. Can you write that patch and get review on it from aosmond?

Assignee: nobody → jan
Status: NEW → ASSIGNED

With this patch, WebGL 1 & 2 are working again as before the regression.

Nice catch. Please request uplift to 69 and 68 (at least ESR but release would be nice if they spin another build...risk should be very low, just restoring to previous behaviour for particular driver configurations) once it makes it into nightly for verification.

Keywords: checkin-needed

Also, in order to uplift to 68, you will need the part of bug 1554251 which adds VendorNonMesaAll. That only got added in 69.

Duplicate of this bug: 1565134

Pushed by tnikkel@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/3d07024e39d9
Restrict Nvidia blocklist entry to the proprietary driver. r=aosmond

Keywords: checkin-needed
See Also: → 1565365
Status: ASSIGNED → RESOLVED
Closed: Last month
Resolution: --- → FIXED

Comment on attachment 9077293 [details]
Bug 1563854 - Restrict Nvidia blocklist entry to the proprietary driver. r?aosmond

Beta/Release Uplift Approval Request

  • User impact if declined: Users of the default open source driver for Nvidia graphics cards who were previously able to use WebGL up to Firefox 67 wouldn't get it back. webgl.force-enabled should ideally not be advertised as workaround as Mozilla would lose the ability to block drivers and because this pref doesn't even work for WebGL2 (bug 1565365). Alternatives are buying a new graphics card from a different vendor to be able to use open source drivers or installing proprietary Nvidia drivers (which causes new problems).
  • Is this code covered by automated tests?: Unknown
  • Has the fix been verified in Nightly?: Yes
  • Needs manual test from QE?: No
  • If yes, steps to reproduce: mozregression --launch 20190712095934 -a about:support
  • List of other uplifts needed: None
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): Restoring previous behavior for particular driver configuration. DriverNonMesaAll is already used for blocking old proprietary AMD drivers. A minimum Mesa version is already defined independently of hardware vendors.
  • String changes made/needed:
Attachment #9077293 - Flags: approval-mozilla-beta?

Comment on attachment 9077293 [details]
Bug 1563854 - Restrict Nvidia blocklist entry to the proprietary driver. r?aosmond

Re-enables WebGL for some nVidia drivers which were accidentally blocklisted. Approved for 69.0b5.

Attachment #9077293 - Flags: approval-mozilla-beta? → approval-mozilla-beta+

Comment on attachment 9078315 [details]
Bug 1563854 - Restrict Nvidia blocklist entry to the proprietary driver. r=aosmond

ESR Uplift Approval Request

  • If this is not a sec:{high,crit} bug, please state case for ESR consideration: Re-enables WebGL for open source Nvidia drivers which were accidentally blocklisted.
  • User impact if declined: No WebGL.
  • Fix Landed on Version: 70
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): Re-enables WebGL for open source Nvidia drivers which were accidentally blocklisted.
  • String or UUID changes made by this patch:

Beta/Release Uplift Approval Request

  • User impact if declined: No WebGL.
  • Is this code covered by automated tests?: Unknown
  • Has the fix been verified in Nightly?: Yes
  • Needs manual test from QE?: No
  • If yes, steps to reproduce:
  • List of other uplifts needed: None
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): Re-enables WebGL for open source Nvidia drivers which were accidentally blocklisted.
  • String changes made/needed:
Attachment #9078315 - Flags: approval-mozilla-release?
Attachment #9078315 - Flags: approval-mozilla-esr68?

https://wiki.mozilla.org/Release_Management/ESR_Landing_Process#The_process
[Tracking Requested - why for this release]: Re-enables WebGL for open source Nvidia drivers which were accidentally blocklisted.

Wow, we literally never use that flag. I have no idea how old that information is in the wiki. The approval request is made, there's no further action needed on your part.

Comment on attachment 9078315 [details]
Bug 1563854 - Restrict Nvidia blocklist entry to the proprietary driver. r=aosmond

No plans for another Fx68 dot release at this time. Approving the patch for 68.1esr, though.

Attachment #9078315 - Flags: approval-mozilla-release?
Attachment #9078315 - Flags: approval-mozilla-release-
Attachment #9078315 - Flags: approval-mozilla-esr68?
Attachment #9078315 - Flags: approval-mozilla-esr68+

So, WebGL2 is entirely unusable with Firefox 68 for everyone with Nvidia cards on Linux, and there aren't any plans to address it?

This seems non-optimal.

(In reply to Justin Clift from comment #20)

So, WebGL2 is entirely unusable with Firefox 68 for everyone with Nvidia cards on Linux, and there aren't any plans to address it?

This seems non-optimal.

Yes, WebGL2 is entirely unusable with Firefox 68 for everyone* with Nvidia cards on Linux if they're using open source drivers. Let's hope for another dot release though!

Current solution is to use https://beta.mozilla.org (Firefox 69) or https://nightly.mozilla.org (Firefox 70).
Firefox ESR 68.1 will be released together with Firefox 69 on 2019-09-03...
The blocklist entry is meant to block old proprietary drivers: WebGL 1 + 2 do work with recent proprietary drivers, so this would be a "solution", too.

We may end up needing a 68.0.2 release after all. Putting this back on the radar just in case.

Attachment #9078315 - Flags: approval-mozilla-release- → approval-mozilla-release?

Hi Justin,

So, WebGL2 is entirely unusable with Firefox 68 for everyone with Nvidia cards on Linux, and there aren't any plans to address it?

https://bugzilla.mozilla.org/show_bug.cgi?id=1563854#c11 mentions an about:config override, webgl.force-enabled, for the blacklist that gets WebGL working here once again on Arch Linux's firefox 68.0.1-2 package.

(In reply to Ralph Corderoy from comment #23)

Hi Justin,

So, WebGL2 is entirely unusable with Firefox 68 for everyone with Nvidia cards on Linux, and there aren't any plans to address it?

https://bugzilla.mozilla.org/show_bug.cgi?id=1563854#c11 mentions an about:config override, webgl.force-enabled, for the blacklist that gets WebGL working here once again on Arch Linux's firefox 68.0.1-2 package.

"this pref doesn't even work for WebGL2 (bug 1565365)"
No, only WebGL1 can be force-enabled on Firefox 68.

No, only WebGL1 can be force-enabled on Firefox 68.

Thanks Jan, I missed the distinction.

Comment on attachment 9078315 [details]
Bug 1563854 - Restrict Nvidia blocklist entry to the proprietary driver. r=aosmond

Approved for Desktop 68.0.2 and 68.0.2esr.

Attachment #9078315 - Flags: approval-mozilla-release? → approval-mozilla-release+
You need to log in before you can comment on or make changes to this bug.