Firefox, Chromium: 3D render problem after mesa 24.3 update

mesa 24.3.4 is in the repo after today’s sync with arch-arm.

Without the 2 commits. We need to wait after 24.3.5 or an official patched mesa 24.3.4

1 Like

I did the huge update package today including the mesa and llvm, and yeah, the latest commits haven’t been included. But it doesn’t really matter because i am using chromium and it is possible to switch to “vulkan” as specified here (under 2.5):

https://wiki.archlinux.org/title/Chromium

The thing is, everything works and renders great with vulkan, including videos and 3d content. The “only” thing that doesn’t work is this:

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

(A side note, weirdly, even though i do not see anything on screen, i still can see the “fps count” and if i change the number of fish, it actually impacts the fps. Weird).
The other webgl samples on that webpage also work. Even the one on the official webgl webpage. I can see the cube:

https://get.webgl.org/

So now i am wondering why did i even switch the renderer of my Chromium to gles in the first place (OpenGL ES). Is that the default renderer? Chromium is working pretty fine right now. Was it just to see a bunch of fish swimming in a bowl? :slight_smile: I don’t need that. You don’t need that.

PS: You can also switch to vulkan in Firefox (i just did and it works). Follow these steps:

Open Firefox and type about:config in the address bar.
Find these three strings and enable all three by double clicking or changing them to “true”

gfx.webrender.all
gfx.webrender.enabled
gfx.webrender.vulkan

Problem solved.

2 Likes

There are none of these strings in firefox and google seems to confirm no vulkan for the time in firefox even nightly.

gfx.webrender.enabled
gfx.webrender.vulkan

Anybody with vulkan in about:support for firefox ?
I’ll continue with patched 24.3.4

1 Like

if you have time to do this and share, why not build 25-git for test?

Done here

?? no string here firefox from manjaro/arch

Just copy and paste the strings to the search area, if they are not already available, it will give you the option to add them just like in your case. If you click “+” it will add that string as “true” (if boolean is selected).

Also add this one: “gfx.webrender.compositor.enable-multiprocess”

Capture d’écran du 2025-01-27 21-00-15

Don’t know your version but even forcing the strings do nothing. Webrender with opengl es and even google don’t know these strings. Just find that vulkan not supported with webrender.

Your system is running ANGLE with Vulkan as the backend, rather than native Vulkan. Here’s what this means and how to address it:

Understanding the Output

  • GL_VENDOR: Google Inc. (Broadcom) → This means Chromium/Firefox is using ANGLE, which is a translation layer developed by Google.
  • GL_RENDERER: ANGLE (Broadcom, Vulkan 1.3.296, V3DV Mesa-24.3.4) → Vulkan is being used through ANGLE, not directly.
  • GL_VERSION: OpenGL ES 2.0.0 (ANGLE 2.1) → The browser is still reporting OpenGL ES, meaning it’s not a true native Vulkan path but a translated one.

Why Is This Happening?

  1. ANGLE Defaults to Vulkan When Available
  • By default, Chromium and Firefox use ANGLE to translate OpenGL ES calls into Vulkan or Direct3D.
  • Your setup is using Vulkan through ANGLE, not directly.
  1. Broadcom V3DV Driver Support
  • The V3DV driver (Broadcom Mesa 24.3.4) supports Vulkan, but browsers might not fully utilize native Vulkan on Broadcom hardware.
  • Some drivers are blacklisted for direct Vulkan usage.
  1. Chromium’s Vulkan Support Is Not Always Direct
  • Chromium prefers ANGLE + Vulkan rather than pure Vulkan unless explicitly forced.

It is probably pretty much the same with Firefox. It is not fully vulkan but some type of combination with the default opengl renderer and the vulkan available. I right now have no issues rendering 3d web pages on both browsers when i set them up like that. So i think that proves that it is somewhat working. If i change settings back to default (opengl es) the 3d problem comes back. At least this can be a temporary solution until the mesa is updated.

yes it’s for chromium who use angle with ether opengl or vulkan.
Could you see the about:support webgl and see if webgl is vulkan and if webrender is not software because i think if hardware acceleration is off no more problem too.
By the way the link i have provided have the patches no need to wait the 24.3.5 for that and if you don’t trust me i have even include the patch to make your own package.

Graphics Feature Status

  • Canvas: Hardware accelerated
  • Canvas out-of-process rasterization: Enabled
  • Direct Rendering Display Compositor: Disabled
  • Compositing: Hardware accelerated
  • Multiple Raster Threads: Enabled
  • OpenGL: Enabled
  • Rasterization: Hardware accelerated on all pages
  • Raw Draw: Disabled
  • Skia Graphite: Disabled
  • Video Decode: Hardware accelerated
  • Video Encode: Software only. Hardware acceleration disabled
  • Vulkan: Disabled
  • WebGL: Hardware accelerated
  • WebGL2: Hardware accelerated
  • WebGPU: Disabled
  • WebNN: Disabled

GPU0: VENDOR= 0x0000 [Google Inc. (Broadcom)], DEVICE=0x0000 [ANGLE (Broadcom, Vulkan 1.3.296 (V3D 7.1.7.0 (0x55701C33)), V3DV Mesa-24.3.4)], DRIVER_VENDOR=Mesa, DRIVER_VERSION=24.3.4 ACTIVE

Display type: ANGLE_VULKAN
GL_VENDOR: Google Inc. (Broadcom)
GL_RENDERER: ANGLE (Broadcom, Vulkan 1.3.296 (V3D 7.1.7.0 (0x55701C33)), V3DV Mesa-24.3.4)
GL_VERSION: OpenGL ES 2.0.0 (ANGLE 2.1 git hash: unknown hash)

This is what my Chromium reports. Firefox doesn’t even mention vulkan in anywhere. But like i said, as set up like that, on both browsers, 3d stuff works, videos play. Vulkan is definitely doing something, at least partially.

In any case, it is not that i don’t trust you. I just don’t want to install and keep track of third party packages. I’ll wait. It is not an emergency.

i suspect that your firefox is now software hence no more bug.
Third party package will be superseded by the version 24.3.4.2 or 23.3.5.1 so it’s not a concern.

I don’t think there ever was any kind of “real” hw acceleration for RPI. RPI-5 feels snappier than RPI-4 just because the SOC is more powerful and that is it. HW acceleration to me is a myth. Even my mediatek smartphone is struggling :slight_smile: Where is the acceleration? I don’t see it.

Webrender can be software by changing string or simply with options general - performance (don’t know in english how they name this).

Composition	WebRender (Software)

Same with chromium. Chromium angle will not use opengl or vulkan with that and firefox will not use opengl for webrender or webgl. Just software. Easy trick to see if a problem is linked to driver (mesa).
Edit : firefox use vulkan by default but just with the new api 3d webgpu in nightly

"wgpuBackend": "Vulkan",

mesa-25-rc1 released.

edit,
recent huge update, so i update 1 or 2 packages/day.
firefox-134.0.2 can not play youtube(video) anymore, anyone?
or its mesa issue?

Firefox with youtube ok here. Maybe you need to update everything…

Mesa 25.0-rc2 was released.

  • v3dv: fix missing access bit flag when checking for texel buffer reads

When i open a PDF file in Chromium, the page that holds the pdf crashes. I think this started to happen after i entered:

–js-flags=–no-decommit-pooled-pages

into the flags to prevent the whole Chromium crashing. Will there even be a fix for that? I have no idea.