WebGL stopped to work in 85.0
Categories
(Core :: Graphics: CanvasWebGL, defect)
Tracking
()
People
(Reporter: slaven.rezic, Unassigned)
References
Details
Attachments
(3 files)
User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:85.0) Gecko/20100101 Firefox/85.0
Steps to reproduce:
Visiting sites using WebGL (e.g. windy.com or mapillary.com)
Actual results:
The sites say that WebGL is not available.
Not sure if it's related, but on firefox startup the following is logged:
[GFX1-]: glxtest: libEGL missing methods
Expected results:
The WebGL features on theses sites should work, like they did in earlier Firefox versions. I also tried 84.0.2, and it's still working there.
Reporter | ||
Comment 1•4 years ago
|
||
Same problem also with Firefox 86 beta.
Comment 2•4 years ago
|
||
Bugbug thinks this bug should belong to this component, but please revert this change in case of error.
Comment 3•4 years ago
|
||
Not certain if it's a problem of update to new Firefox here as I only tested when I installed a new graphic card.
NVIDIA GeForce GTX 1050 Ti on Debian 10, 460.39 driver from backpor (but also tried 418.181.07).
Getting same error as above users.
Running apitrace on GL calls by just starting Firefox and quitting again before even selecting a profil I get:
7 glXChooseVisual(dpy = 0x7fc5a5cd9000, screen = 0, attribList = {GLX_RGBA, GLX_RED_SIZE, 1, GLX_GREEN_SIZE, 1, GLX_BLUE_SIZE, 1, 0}) = &{visual = 0x7fc5a5ce6268, visualid = 45, screen = 0, depth = 24, c_class = 4, red_mask = 16711680, green_mask = 65280, blue_mask = 255, colormap_size = 256, bits_per_rgb = 11}
8 glXCreateContext(dpy = 0x7fc5a5cd9000, vis = &{visual = 0x7fc5a5ce6268, visualid = 45, screen = 0, depth = 24, c_class = 4, red_mask = 16711680, green_mask = 65280, blue_mask = 255, colormap_size = 256, bits_per_rgb = 11}, shareList = NULL, direct = True) = 0x7fc5a5cfe138
9 glXMakeCurrent(dpy = 0x7fc5a5cd9000, drawable = 73400322, ctx = 0x7fc5a5cfe138) = True
10 glViewport(x = 0, y = 0, width = 16, height = 16)
11 glScissor(x = 0, y = 0, width = 16, height = 16)
17 glXQueryCurrentRendererIntegerMESA(attribute = GLX_RENDERER_VENDOR_ID_MESA, value = &0) = False
18 glXQueryCurrentRendererIntegerMESA(attribute = GLX_RENDERER_DEVICE_ID_MESA, value = &0) = False
19 glXQueryCurrentRendererIntegerMESA(attribute = GLX_RENDERER_ACCELERATED_MESA, value = &False) = False
20 glXQueryCurrentRendererIntegerMESA(attribute = GLX_RENDERER_VIDEO_MEMORY_MESA, value = &0) = False
22 glXMakeCurrent(dpy = 0x7fc5a5cd9000, drawable = 0, ctx = NULL) = True
23 glXDestroyContext(dpy = 0x7fc5a5cd9000, ctx = 0x7fc5a5cfe138)
Same issue here - WebGL seems to be broken in the latest version. LD_PRELOADing libEGL.so doesn't seem to help.
Updated•4 years ago
|
Comment 5•4 years ago
|
||
Hey, can everyone affected paste the content of their about:support
?
Updated•4 years ago
|
Comment 6•4 years ago
|
||
Note: the error message from the original report
[GFX1-]: glxtest: libEGL missing methods
should only appear if MOZ_X11_EGL
or MOZ_ENABLE_WAYLAND
are manually enabled (might be the case on certain distribution by default, but not upstream). As Tom already noted, bug 1689207 may help in these scenarios.
Comment 7•4 years ago
|
||
I don't think I enabled anything manually - at least not recently. And not using Wayland.
But it may be related to es2 not working on Debian anymore. Thought that isn't something new, but has been broken for a long time by now. Don't think it ever worked with Debian 10, I think it was even broken in Debian 9 (I tried to report that to them, but unfortunately Debian bugtracker is not as nice as your bugzilla... so I failed sending them the bugreport several times and then gave up). For example starting es2gears on Debian I get: libEGL warning: DRI2: failed to authenticate
But WebGL still worked in Firefox for some reason. And still works even now in Chromium.
Comment 8•4 years ago
|
||
(In reply to info@michaelzeilfelder.de from comment #7)
Created attachment 9203062 [details]
about:support valuesI don't think I enabled anything manually - at least not recently. And not using Wayland.
But it may be related to es2 not working on Debian anymore. Thought that isn't something new, but has been broken for a long time by now. Don't think it ever worked with Debian 10, I think it was even broken in Debian 9 (I tried to report that to them, but unfortunately Debian bugtracker is not as nice as your bugzilla... so I failed sending them the bugreport several times and then gave up). For example starting es2gears on Debian I get: libEGL warning: DRI2: failed to authenticate
But WebGL still worked in Firefox for some reason. And still works even now in Chromium.
WebGL should work fine on top of desktop GL. But I think I now see what's wrong: you're probably running into a fallback method that we use to discover the right GPU - even going the EGL path when we originally started with GLX. Now in this case it fails in the EGL part, making the whole test fail. Could you test if you still see that in beta and nightly? That would be really good to know.
Comment 9•4 years ago
|
||
Still not working in nightly build. Difference is that the error is not written twice instead of once.
Comment 10•4 years ago
|
||
Sorry, typo in my last post. Error is *now written twice in nightly - before once.
I've pasted you my glxinfo results as well in case they might be useful for this.
Comment 11•4 years ago
|
||
Thanks! Was able to reproduce here - we fail hard in a place where we shouldn't (record_error
vs record_warning
). For simplicity I included the fix in bug 1689207 / https://phabricator.services.mozilla.com/D105107.
Comment 12•4 years ago
|
||
Bug 1689207 landed in nightly and should fix this issue - can someone confirm, Michael maybe?
Reporter | ||
Comment 13•4 years ago
|
||
87.0a1 (2021-02-16) fixes the problem for me.
Comment 14•4 years ago
|
||
Thanks for the confirmation. Closing as a dup of bug 1689207 then as that's were the fix landed.
Reporter | ||
Comment 16•4 years ago
|
||
Thanks, the WebGL issue is really fixed in the 87.0 release.
Description
•