Closed Bug 1689707 Opened 4 years ago Closed 4 years ago

WebGL stopped to work in 85.0

Categories

(Core :: Graphics: CanvasWebGL, defect)

Firefox 85
defect

Tracking

()

RESOLVED DUPLICATE of bug 1689207

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.

Same problem also with Firefox 86 beta.

Bugbug thinks this bug should belong to this component, but please revert this change in case of error.

Component: Untriaged → Canvas: WebGL
Product: Firefox → Core

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.

Flags: needinfo?(robert.mader)

Hey, can everyone affected paste the content of their about:support?

Flags: needinfo?(robert.mader) → needinfo?(slaven.rezic)
See Also: → 1689207

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.

Attached file about:support values

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.

(In reply to info@michaelzeilfelder.de from comment #7)

Created attachment 9203062 [details]
about:support values

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.

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.

Still not working in nightly build. Difference is that the error is not written twice instead of once.

Attached file glxinfo

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.

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.

Bug 1689207 landed in nightly and should fix this issue - can someone confirm, Michael maybe?

Flags: needinfo?(info)

87.0a1 (2021-02-16) fixes the problem for me.

Flags: needinfo?(slaven.rezic)

Thanks for the confirmation. Closing as a dup of bug 1689207 then as that's were the fix landed.

Status: UNCONFIRMED → RESOLVED
Closed: 4 years ago
Resolution: --- → DUPLICATE

Also fixed here. Thank you!

Flags: needinfo?(info)

Thanks, the WebGL issue is really fixed in the 87.0 release.

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: