WebGL performance on Linux

Hello everyone!
I’m not sure if my question relates to a specific issue with cesium.js rather than to webgl management in OS (specially Linux), but I need your insights.

Our team noticed a significant difference in FPS between macOS, Windows, and Linux when displaying this simple page: Sandcastle | CesiumJS

macOS : 30 + fps

Windows : 20 - 30 fps

Linux : 10 - 15 fps

Note : we use m1 chips on macOS and t550 GPU on windows and linux (even with a RTX 5080, the app is slower than a 2022 macbook air :-/)

Has anyone ever observed these differences in WebL performance between Linux and other systems?

Are there any settings to adjust in the GPU drivers or Chrome flags to improve performance?

Are there any recommended methods or parameters to use in the cesium.js API to achieve the best possible performance under Linux?

Thanks!

Hi @codelf, welcome to the community!

I would start by confirming that the Linux browser is in fact using the GPU. Some Linux distros have the browser set to use the integrated graphics on the CPU by default.

You could try going to WebGL Report on the different machines and comparing the reports. On my machine, the report is able to identify my GPU. This may depend on some security settings in your browser.

Well, you’re right and I observed this on many computers. The GPU is not recognized by chrome… Do you know a “fast line” to force the browser to use the GPU ?

My hunch is that Chrome needs to know some amount about the GPU, and cannot be forced to use an unknown GPU. That being the case… I would try, in this order:

  1. If you have both discrete and integrated GPUs, and can change between them, try both.
  2. Visit chrome://flags/ and search which options related to the terms “ANGLE”, “Vulkan”, or “OpenGL” are available. Try some of these options.
  3. Update, reinstall, or try a different GPU driver. I’m not a frequent Linux user, but my understanding is that proprietary drivers from the GPU vendor might be available but not installed by default.
  4. Report an issue to Chromium with as much detail as you can about the OS, GPU, and driver.

Communities related to your Linux distro might have better answers on this, too.

1 Like

Thanks !

It’s definitely a chrome flags / driver issue. There’s no single path. It requires case-by-case configuration, but once the GPU is recognized by the browser, the desired performance is achieved.

Thanks again.

1 Like