Rendering issues with hardware WebRender on Raspberry Pi 4
Categories
(Core :: Graphics: WebRender, defect, P3)
Tracking
()
People
(Reporter: vinceying113, Unassigned)
References
(Depends on 1 open bug, Blocks 1 open bug)
Details
(Keywords: correctness)
Attachments
(3 files)
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Firefox/91.0
Steps to reproduce:
Enable hardware WebRender on a Raspberry Pi 4
Actual results:
On starting Firefox, hardware WebRender will initially appear to be working correctly with no artifacts.
After a few minutes of use, rectangular portions of the screen will begin turning white. These rectangles will move around the window and obscure different parts of the browser.
Expected results:
It would be great to get hardware WebRender working on the Pi. layers.acceleration OpenGL is working fine, but if this is going away, the Pi will lose GPU acceleration.
Updated•3 years ago
|
Updated•3 years ago
|
Comment 1•3 years ago
|
||
Can you post a screenshot? This sounds like it might be a driver bug so it's probably worth reporting upstream. If you do report it upstream can you post a link here?
Reporter | ||
Comment 2•3 years ago
|
||
Here's a screenshot. You can see that a portion of the screen is not displaying.
I don't know where else to report it. I assume whoever writes the driver for the Broadcom GPU. But I don't know who does that.
Reporter | ||
Comment 4•3 years ago
|
||
Updated•3 years ago
|
Comment 5•3 years ago
|
||
Please also open about:support, click on "Copy text to clipboard" and paste it here. Thanks!
Comment 6•3 years ago
|
||
(In reply to vinceying113 from comment #2)
I don't know where else to report it. I assume whoever writes the driver for the Broadcom GPU. But I don't know who does that.
You are using the open Mesa drivers, so the right place to report it is https://gitlab.freedesktop.org/mesa/mesa/-/issues (using v3d as driver name). This slightly reminds me of https://gitlab.freedesktop.org/mesa/mesa/-/issues/4620 though, maybe it's the same underlying issue.
Reporter | ||
Comment 7•3 years ago
|
||
Comment 8•3 years ago
|
||
Compositing: OpenGL
That codepath has been removed. Please set gfx.webrender.all to true and restart Firefox. Does this bug also occur with WebRender or do you see different ones?
Comment 9•3 years ago
|
||
You need to set gfx.webrender.force-legacy-layers to false.
Reporter | ||
Comment 10•3 years ago
|
||
Please refer to my original bug report above. OpenGL layers works, hardware WebRender does not.
Comment 11•3 years ago
|
||
This is most likely a driver bug and nothing we can do something about. I've pinged a v3d driver dev at https://gitlab.freedesktop.org/mesa/mesa/-/issues/4620#note_1059340, hopefully he or somebody else will have a look.
Comment 12•3 years ago
•
|
||
(vinceying113 from comment 7)
Version: 92.0
Window Protocol: wayland
Description: V3D 4.2
Vendor ID: Broadcom
Device ID: V3D 4.2
Driver Vendor: mesa/swrast
Driver Version: 21.0.3.0
Raspberry Pi4 driver info looked like this in the past:
(Leo_sk from bug 1661359 comment 7)
Window Protocol: x11
Description: V3D 4.2
Vendor ID: 0x14e4
Device ID: 0xffff
Driver Vendor: mesa/vc4
Either the driver vendor is not correctly displayed or you might not even be using your GPU.
Because if one uses Software GL with too little RAM, glitches can occur (bug 1729779 comment 42 was about Firefox' built-in software gl library while you seem to use swrast).
You might be falling back to swrast because you are using Wayland.
For example, GBM has been reported as broken on Raspberry Pi 4.
https://github.com/lgsvl/meta-lgsvl-browser/commit/282c2b24b604b7ab88c1904eafb17aff75e9ccac
https://github.com/raspberrypi/linux/issues/3411
Try using X11 and set gfx.x11-egl.force-enabled=true (because you need EGL instead of GLX to be able to use GLES3 for hardware WebRender on Raspberry Pi 4).
Comment 13•3 years ago
|
||
(In reply to Darkspirit from comment #12)
Either the driver vendor is not correctly displayed or you might not even be using your GPU.
Because if one uses Software GL with too little RAM, glitches can occur (bug 1729779 comment 42 was about Firefox' built-in software gl library while you seem to use swrast).
Does this bug also occur with gfx.webrender.force-legacy-layers=false and gfx.webrender.software=true ?
Reporter | ||
Comment 14•3 years ago
|
||
Thanks for submitting to Mesa.
WebRender issue is the same with X11 and EGL. Bug does not occur with software WebRender. I don't think it's using software due to the performance - OpenGL layers is notably smoother than software WebRender.
Comment 15•3 years ago
|
||
(In reply to vinceying113 from comment #14)
OpenGL layers is notably smoother than software WebRender.
How does about:support look like if you start Firefox with $ LIBGL_ALWAYS_SOFTWARE=1 firefox
? (Please attach it.)
Is it slower (does the driver vendor change to mesa/llvmpipe) or does it have the same speed (because you are assumingly already using it).
Reporter | ||
Comment 16•3 years ago
|
||
Yes, performance is poor when using software.
GPU #1
Active Yes
Description llvmpipe (LLVM 12.0.0, 128 bits)
Vendor ID Mesa/X.org
Device ID llvmpipe (LLVM 12.0.0, 128 bits)
Driver Vendor mesa/llvmpipe
Driver Version 21.0.3.0
RAM 0
Comment 17•3 years ago
|
||
So either a) the driver vendor is incorrectly reported as swrast when actually using vc4 (?) or b) swrast is faster than llvmpipe.
swrast will be gone as soon as your distribution updates Mesa: https://www.phoronix.com/scan.php?page=news_item&px=Mesa-Kills-SWRAST
Comment 18•3 years ago
|
||
Driver Version: 21.0.3.0
I missed this, you already have 21. It seems there was not "the one" swrast:
https://docs.mesa3d.org/relnotes/21.0.0.html
Classic swrast dri driver removed in favor of gallium swrast (llvmpipe or softpipe)
So either a) the driver vendor is incorrectly reported as swrast when actually using vc4 or b) softpipe (as swrast) is faster than llvmpipe.
https://dri.freedesktop.org/doxygen/gallium/softpipe.html
The softpipe driver is a software implementation of the Gallium3D interface.
It will be used as a reference implementation and as a fallback driver when a hardware driver isn't available
Updated•3 years ago
|
Comment 19•3 years ago
|
||
The driver should now be reported as mesa/software-uncommon
, something we can likely fix in bug 1730936 (dmabuf detection and software driver detection are currently closely coupled). Can somebody post an up-to-date about:support
from nightly?
Updated•3 years ago
|
Comment 20•2 years ago
|
||
This bug was about the OpenGL compositor. Similar bug with Hardware WebRender was bug 1738816. Remaining HW WR bug is bug 1784327.
Description
•