8

I have a problem with WebGL on Raspberry Pi 3's Chromium browser. I did the settings required but nothing happened.

Here is my information

  • Device : Raspberry Pi 3
  • OS : Linux raspberrypi 4.9.80-v7+ #1098 SMP Fri Mar 9 19:11:42 GMT 2018 armv7l GNU/Linux(Raspian Stretch with desktop, i also try lite)
  • Browser : chromium-browser version => Chromium 60.0.3112.89 Built on Ubuntu 14.04, running on Raspbian 9.3
  • Graphics Driver : vc4-kms-v3d

Here are the get.webgl.org results:

get.webgl.org results

Here is the threejs.org example ("webgl_animation_cloth") results:

threejs.org example "webgl_animation_cloth" results

I tested the same websites on firefox iceweasel.
They work as shown by these screenshots:

get.webgl.org results(iceweasel)

threejs.org example "webgl_animation_cloth" results(iceweasel)

I tried several settings on chrome://flags but nothing is changed

When I start chromium-browser from the command line, I see

libgl error: MESA-LOADER: failed to retrieve device information

but @eric-anholt say this should not have important effects.

  • Sounds like a bug to me. Reported it to the chromium guys yet? – John Keates Apr 21 '18 at 13:08
  • I edited the question, it gives me this error : MESA-LOADER: failed to retrieve device information. I try to execute glxgears command in order to test mesa, it gives the same error but it works, so i get confused :( – Mehmet Bayrak Apr 21 '18 at 14:16
  • 1
    That's just noise from some code that's bad at ARM platforms. It's not a signal that anything is broken. – Eric Anholt May 19 '18 at 19:26
6

Okay so I found a solution here: https://www.raspberrypi.org/forums/viewtopic.php?t=191087

  1. use raspi-config to enable OpenGL (Full KMS)
  2. remove "--disable-gpu-compositing'' from /etc/chromium-browser/customizations/00-rpi-var

is all you need to do to get the https://get.webgl.org cube spinning.

Works for me!

  • AS you see the firefox screenshots,OpenGL(Full KMS or Fake KMS) is enabled, and i try the flags. I think this is the interesting part, everything seems like legal but, the cube is not shown!! – Mehmet Bayrak May 15 '18 at 11:18
  • @MehmetBayrak did you try editing the file as stated in my answer? I am not using any flags. – JoeyCK May 15 '18 at 13:41
  • 1
    Yes!, you are right when i edited "/etc/chromium-browser/customizations/00-rpi-var", it works! thanks – Mehmet Bayrak May 22 '18 at 9:56
2

Seems like your not the only one with this problem. You might wanna check your chrome://flash page , and see if you are using any drivers that you shouldn't. Test and check each driver accordingly for function. Afterwards, uninstall then reinstall chromium to see if anything has changed:

sudo apt remove chromium-browser
rm -rf ~/.cache/chromium
rm -rf ~/.config/chromium
sudo rm -rf /etc/chromium-browser

If this solution doesn't work...

Most people report the issue to do with their graphics card, you can see this issue by going to chrome://gpu/ and seeing if hardware acceleration is enabled for WebGL. If it is not, this likely because chromium has blacklisted the RPi's GPU; which is why you are getting the following prompt

**failed to retrieve device information**

because your Pi's GPU has been blacklisted. You will have to find a way to get Chromium to start while ignoring the blacklist. I do know that for Google Chrome the command is

google-chrome --enable-webgl --ignore-gpu-blacklist

So you might wanna try something similar for Chromium.

In the meanwhile, use Firefox if you can, and check the link here discussing blacklists on WebGL, you may also want to report this as a bug to the developers.

----UPDATE----

The following command should fix your problem:

chromium-browser --enable-webgl --ignore-gpu-blacklist
  • I need chromium-browser on my rpi, i cannot use firefox. I think it is a bug. I already try reinstall chromium and also with --ignore-gpu-blacklist flag and it is not work again. I check the chrome://flash. GL_RENDERER : Gallium 0.4 on VC4 V3D 2.1 and GL_VERSION : 2.1 Mesa 13.0.6. Others seem normal. – Mehmet Bayrak May 13 '18 at 13:09
  • just a thought i didn't find this anywhere: maybe you could download an older version of chromium and test this again, if it is a bug, it is entirely possible that an older model of chromium should work fine. – Aden May 16 '18 at 1:26
  • 1
    IT WORKED! IT WORKED! running chromium-browser --enable-webgl --ignore-gpu-blacklist returns a ton of errors, but it starts chromium and the get.webgl.org works! – scitronboy May 18 '18 at 17:47
1

I found that the following works for "Raspbian GNU/Linux 9 (stretch)": To find out which version you have type "cat /etc/os-release" in a terminal.

  1. Console: sudo raspi-config Under "7 Advanced Options" / "A7 GL Driver" pick "G2 GL (Fake KMS)"

  2. Desktop: Preferences / Add Remove Software search for "Chrome" and pick "WebDriver driver for the Chromium Browser", click "OK"

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.