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

If i make no mistake 6.13.3 is ok with mesa 24 and buggy with 25 (someone to confirm ? Need a reboot between). The only software that is broken whatever the kernel seems vulkan-tools.
But it’s seems that kernel play a role… .

6.13.3 & 24.3.4, vk-games vkcube-wayland mpv etc, all failed, there is only one issue ‘No Vulkan Device’.

edit,
Pi4 another test, mesa-24.3.4
6.12.10 work, vulkan device back.
6.12.11 .12 .13, not test.
6.12.14, not work.

edit2,
mesa-25.0 released.

Got their attention. Can you tell me how shall i reply?

The problem with the pi forum is that they want official kernels. They are looking for regressions between 6.6 and 6.12. To be able to answer them, darsky would have to compile 6.6 and 6.12 with their official config and test it with mesa 24, rebooting between each, and then the same with mesa 25. For the moment, and I have tried 3 times with the 6.13.3 kernel and mesa 24, no problem as soon as I switch to mesa 25, at least vkcube crashes, so for me it is reproducible, at least with this kernel. In real life it’s a bit of a mess… You can send them the link to the mesa issue. I put mesa 25 on the same link as above for those who want to test.

And you need to install vulkan-broadcom, which is the basis for this.It just seems that depending on the kernel more or less crashes but always vkcube

I don’t want to test with rc kernel but i have retested with 6.12.14 : same as 6.13.3 crash only with vkcube with mesa 25. No problem with mesa 24.3.

@tartanpion, mesa-25 no vulkan device fail.

@Darksky
I think I’m beginning to have a better understanding, but not of everything.
My first hypothesis is that there is a bug in mesa 25 that can only be seen on vkcube. To be 100% sure that it’s a mesa bug you need to test on an older kernel without recent modification.
Second hypothesis: there’s also a kernel bug, regardless of the version of mesa, this time ALL the vulkan tests don’t work. There is then this in dmesg

 dmesg --since "now" | grep "vc4-drm"

vc4-drm axi:gpu: [drm] *ERROR* Failed to get ddc i2c adapter by node

A simple reboot with no error and you get a mesa 24 that works or a mesa 25 with vkcube only that crashes.
And for the time being, it’s best not to play with the 6.14 rc kernel
in conclusion, in parallel with the mesa tests, you need to check whether or not there is this error message

I compiled Sascha Willems Vulkan demos using guide on this page. I did not see your particular error but I did see a new one that is maybe some type of race condition trying to run gears. Using the new mesa 25.0.0.

https://qengineering.eu/install-vulkan-on-raspberry-pi.html

[ray@jellyfin bin]$ ./gears
Fatal : VkResult is “ERROR_OUT_OF_DEVICE_MEMORY” in /home/ray/sascha-willems/base/VulkanSwapChain.cpp at line 346

gears: /home/ray/sascha-willems/base/VulkanSwapChain.cpp:346: void VulkanSwapChain::create(uint32_t&, uint32_t&, bool, bool): Assertion `res == VK_SUCCESS’ failed.
Aborted (core dumped)

ADDED:

I will be testing past kernels using the new mesa 25.0.0 until it breaks. I will be adding to the list until it breaks.

6.6.64-2-MANJARO-RPI5: Works
6.12.0-rc1-1-MANJARO-RPI5: Works
6.12.0-1-MANJARO-RPI5: Works
6.12.4-3-MANJARO-RPI5: Works
6.13.0-rc7-1-MANJARO-RPI5: Works
6.13.1-1-MANJARO-RPI5: Broke (CONFIG_TRANSPARENT_HUGEPAGE added)

Well I removed CONFIG_TRANSPARENT_HUGEPAGE and built 6.13.3-2 and VK is still broke so that does not seem to be the issue.

I’m not sure if I’ve made myself clear, but the dmesg error occurs randomly (I haven’t found a factor) for the same kernel ie 6.13.3 and disappears on restart. So before concluding, it’s best to check this and reboot at least once if the error is here.

Off to building kernels with PiOS specs only.

Tested with mesa 25.0.0
Compiled with PiOS configs only to rule out a config issue:
6.13.3-v8-16k: Broke using mesa in our repo
6.12.15-v8-16k: Broke

Compiled wit PiOS configs+manjaro-arm extra configs.
6.12.12-1-MANJARO-RPI5: Broke
6.12.11-1-MANJARO-RPI5: Works.

This started happening between v6.12.11 and 6.12.12 as well with v6.13.y and v6.14.y along the same time period. So something got backported to all kernels at that time. The only thing I see that would be helpful when reporting is the error from using Sascha Willems Vulkan demos which looks to me like some sort of race condition:

[ray@jellyfin bin]$ ./gears
Fatal : VkResult is “ERROR_OUT_OF_DEVICE_MEMORY” in /home/ray/sascha-willems/base/VulkanSwapChain.cpp at line 346

gears: /home/ray/sascha-willems/base/VulkanSwapChain.cpp:346: void VulkanSwapChain::create(uint32_t&, uint32_t&, bool, bool): Assertion `res == VK_SUCCESS’ failed.
Aborted (core dumped)

Same here with v6.12.11. This might be a separate issue.

@Darksky, Pi4/Pi5 kernel/mesa is different.
Pi4/6.12.11 & mesa-25, broken.
Pi4/6.12.11 & mesa-24.3.4, work.

I have try ./gears. mesa 25 kernel 6.13.3. vkcube always breaks but ./gears is not constant. Sometimes it’s breaks. reboot and all is ok. Only vkcube is constantly buggy. Not sure but it’s seems to have

Feb 21 15:22:35 bloodmoon-pc kernel: vc4-drm axi:gpu: [drm] *ERROR* Failed to get ddc i2c adapter by node

when ./gears is broken.

./gears never broke here so far and tried it many times testing the kernels to find out where it was broken.

It’s random. Personally I’m lost.

But if we agree that there’s a mesa 24 mesa 25 regression for vkcube, it might be worth feeding the mesa bug report so that they take an interest in the problem. It will be one less thing.

Why is it taking so long for a proper vulkan implementation to be useable for us? Then i guess we wouldn’t really need mesa.

Edit : mesa is opengl and vulkan. Different api.
try uninstalling mesa…even browsers are accelerated. Opengl is used first compared to vulkan. And with mesa25 there’s a switch to vulkan 1.4 so possible problem. Vulkan doesn’t have all the functions on broadcom even though they say it has accreditation for version 1.3. For example you can’t use it for gaming on wine, chromium is buggy for certain things if you force vulkan and gtk4 need ngl on pi. But firefox nightly uses it for 3d without any problem.

1 Like

Well there you go. My level of knowledge of the whole thing :slight_smile:

PiOS has games sub-forum, people play games.
they need GL/GLES vulkan and zink.

Yeah i did not know that vulkan and opengl were within the same package which is mesa. And i guess there is no alternative to it, at least for the Pi. So yeah, it has to work properly.

Mesa 25.0.1 out.
Seems that fixes come. There are indeed 2 different problems with vulkan.

  1. 6.12 and vulkan https://gitlab.freedesktop.org/mesa/mesa/-/issues/12777 (fixed)
    and
  2. vkcube itself https://gitlab.freedesktop.org/mesa/mesa/-/issues/12641

With mesa-25.0.0/25.0.0 on Orange Pi 5-Plus Firefox has intermittent display visual artifact (this is on Armbian-Ubuntu-Gnome on Mesa-Fresh kisak ppa).

Firefox no visual artifacts with mesa-24.3.4-3