I upgraded to Fedora 37 and now all Babylon-related rendering is flickering (with a bright interframe) and the browser seems to be struggling because of high CPU load.
Almost any other WebGL(2) content is rendering just as before (e.g. three.js-based).
What version of Fedora did you upgrade from? Fedora 36 switched to wayland (vulkan by default?). Ubuntu 20 or 22 did also. So, this may be an issue for pretty much everyone on linux the near future. Turning off Vulkan in Chrome doesn’t explain why bjs is running slow on Chrome’s Vulkan backend when Three isn’t.
Laptop with i7-1165G7; integrated TigerLake-LP GT2 (Iris Xe); no other GPU
Linux, 64 bit
Babylon.js 5.24.0
KDE on Wayland
Only one special setting in chrome://flags (“WebRTC PipeWire support” set to “Enabled”)
Things that changed from (Fedora 36, KDE Spin):
Kernel 5.17.?
Chrome (not sure which version, but 104 < version < 107)
Changed to (Fedora 37, KDE Spin):
Kernel 6.0.8
Chrome 107
and hundreds of other packages (in KDE, Wayland, Intel drivers, … which makes it difficult to find a root cause I guess)
After the upgrade I saw the flickering and the performance issues in all BJS-related content and only one or two other pages using WebGL(2). The WebGL2 report page told me that the renderer was now using Vulkan (see first post). That gave me the idea to set the “Vulkan” setting in chrome://flags from “Default” to “Disabled” which solved the issue.
Misc:
Using X11 instead of Wayland did not help.
glxgears and other 3D stuff outside of the browser never had issues.
Nice information! That’s a relief it seems not to be a window/linux driver root cause. FWIW, the kernel update 5 to 6 isn’t semver related, just arbitrary numbers (watched some interview recently with Linus Torvalds where he said that) .
Totally a shot in the dark, but I saw in a couple other threads, people are having to set engine.disableUniformBuffers to true on ios. I know its seemingly unrelated, but I wonder if the ios backend is using molten vk , which would allow sharing the vulkan frontend across platforms. Worth a try?
No, engine.disableUniformBuffers didn’t help. But thanks anyway.
Btw: I set up an old laptop for my son (also with integrated Intel GPU) with Fedora 37 Workstation (Gnome), installed Chrome (107 which automatically used the Intel Vulkan drivers) and saw exactly the same issues with BJS. Again, turning Vulkan explicitly off helped. My guess is that lots of Linux and Chrome users with Intel iGPUs will experience the same problem.