Closed Bug 1632137 Opened 1 year ago Closed 1 year ago

Regression: Failed to render Webrender with Wayland

Categories

(Core :: Graphics: WebRender, defect)

77 Branch
x86_64
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla77
Tracking Status
firefox-esr68 --- unaffected
firefox75 --- unaffected
firefox76 --- unaffected
firefox77 --- disabled

People

(Reporter: felix.bouynot, Assigned: rmader)

References

(Blocks 1 open bug, Regression)

Details

(Keywords: crash, nightly-community, regression)

Crash Data

Attachments

(2 files)

Attached file aboutsupport.txt

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:77.0) Gecko/20100101 Firefox/77.0

Steps to reproduce:

In Fedora 32 with Wayland, start Firefox with:
env MOZ_ACCELERATED=1 MOZ_WEBRENDER=1 MOZ_ENABLE_WAYLAND=1 /home/xxx/firefox/firefox %u

The last logs of my mozregression:
14:38.26 INFO: No more integration revisions, bisection finished.
14:38.26 INFO: Last good revision: c3221bde9f2a8057e8058a6a7abfe633a3d01895
14:38.26 INFO: First bad revision: 2a8c06104c40918ac2cfc0f3db0adbfe07bb28a7
14:38.26 INFO: Pushlog:
https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=c3221bde9f2a8057e8058a6a7abfe633a3d01895&tochange=2a8c06104c40918ac2cfc0f3db0adbfe07bb28a7

It looks like someone else have the issue here: https://www.reddit.com/r/firefox/comments/g5dyfe/why_is_webrender_disabled_in_my_nightly_how_to/

Actual results:

In about:support, I can see:
Composition OpenGL

In about:support Webrender section, we can see:
unavailable by runtime: Failed to render WebRender

With fission enabled, we can see (this how I first notice):
You are running with Fission enabled but without WebRender. This combination is untested, so use at your own risk.

Expected results:

In about:support, I should see:
Composition Webrender

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

Component: Untriaged → Widget: Gtk
Product: Firefox → Core
Flags: needinfo?(stransky)
OS: Unspecified → Linux
Regressed by: 1474281
Hardware: Unspecified → x86_64
Blocks: wr-linux
Component: Widget: Gtk → Graphics: WebRender

The bug sounds similar to https://bugs.freedesktop.org/show_bug.cgi?id=110872

I suspect https://searchfox.org/mozilla-central/source/gfx/gl/GLContextProviderEGL.cpp#290 maybe being the course here - we shouldn't ask for a compat profile for webrender. I successfully tested an earlier version of D48096 with i965 (which only supports 3.0 with compat profile unlike iris which support compat profile 4.6 on this mashine), and I think that was the difference to the final version. I'm still somewhat confused that the fallback to GLES didn't work :/

Confirmed. My main profile can't even start with gfx.webrender.panic-on-gl-error:true:
bp-8301805f-6363-4627-ae4a-493a00200422 [@ webrender::device::gl::Device::new::{{closure}} ]

MOZ_CRASH Reason (Raw) Caught GL error 501 at attach_shader

GDK_BACKEND=wayland mozregression --repo autoland --launch 2a8c06104c40 -a about:support

Compositing OpenGL

Window Protocol wayland
Desktop Environment kde

GPU #1
Active Yes
Description Mesa DRI Intel(R) Iris 6100 (Broadwell GT3)
Vendor ID 0x8086
Device ID 0x162b
Driver Vendor mesa/i965
Driver Version 19.3.3.0
RAM 3072

WEBRENDER
opt-in by default: WebRender is an opt-in feature
available by user: Qualified enabled by pref
unavailable by runtime: Failed to render WebRender

(#0) Error Failed to link shader program: cs_clip_rectangle error: vertex shader lacks `main'
(#148) Error Failed to link shader program: cs_clip_rectangle
(#149) Error Failed to link shader program: brush_solid
(#150) Error Failed to link shader program: brush_image
(#151) Error Failed to link shader program: brush_image
(#152) Error Failed to link shader program: composite
(#153) Error wr_renderer_render: Shader(Link("cs_clip_rectangle", ""))
(#154) Error wr_renderer_render: Shader(Link("cs_clip_rectangle", ""))
(#155) Error wr_renderer_render: Shader(Link("cs_clip_rectangle", ""))
(#156) Error wr_renderer_render: Shader(Link("cs_clip_box_shadow", ""))
(#157) Error wr_renderer_render: Shader(Link("cs_clip_rectangle", ""))
(#158) Error wr_renderer_render: Shader(Link("brush_solid", ""))
(#159) Error wr_renderer_render: Shader(Link("brush_image", ""))
(#160) Error wr_renderer_render: Shader(Link("brush_image", ""))
(#161) Error wr_renderer_render: Shader(Link("composite", ""))
(#162) Error Compositors might be mixed (5,2)

Status: UNCONFIRMED → NEW
Crash Signature: [@ webrender::device::gl::Device::new::{{closure}} ]
Ever confirmed: true
Keywords: crash
Assignee: nobody → robert.mader
Status: NEW → ASSIGNED

I can reproduce on my intel mascine when running with MESA_LOADER_DRIVER_OVERRIDE=i965. The above patch fixes the issue.

Attachment #9142448 - Attachment description: Bug 1632137 - Do not require GL compat profile for Webrender, r=stransky → Bug 1632137 - Do not require GL compat profile for Webrender, r=jgilbert
Pushed by shindli@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/48741844f72f
Do not require GL compat profile for Webrender, r=jgilbert
Status: ASSIGNED → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla77
Duplicate of this bug: 1632095

Robert, Thanks for the fix!

Flags: needinfo?(stransky)
You need to log in before you can comment on or make changes to this bug.