WebGL在Raspberry Pi Chromium浏览器上无法正常工作


10

我在Raspberry Pi 3的Chromium浏览器上遇到了WebGL问题。我做了所需的设置,但没有任何反应。

这是我的资料

  • 设备: Raspberry Pi 3
  • 操作系统: 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)
  • 浏览器:铬浏览器版本=> Chromium 60.0.3112.89建立在Ubuntu 14.04上,在Raspbian 9.3上运行
  • 图形驱动程序: vc4-kms-v3d

以下是get.webgl.org的结果:

get.webgl.org结果

这是threejs.org示例(“ webgl_animation_cloth”)的结果:

threejs.org示例“ webgl_animation_cloth”的结果

我在firefox iceweasel上测试了相同的网站。
它们的工作原理如以下屏幕快照所示:

get.webgl.org结果(iceweasel)

threejs.org示例“ webgl_animation_cloth”的结果(iceweasel)

我在chrome:// flags上尝试了几种设置,但没有任何改变

当我chromium-browser从命令行启动时,我看到

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

但是@ eric-anholt说这应该不会产生重要的影响。


对我来说听起来像个虫子。向铬家伙报告了吗?
John Keates

我编辑了问题,它给了我这个错误:MESA-LOADER:无法检索设备信息。我尝试执行glxgears命令以测试台面,它给出了相同的错误,但是它起作用了,所以我很困惑:(
Mehmet Bayrak

1
那只是来自一些对ARM平台不利的代码的噪音。这不是任何东西都坏了的信号。
埃里克·安霍尔特

Answers:


7

好的,所以我在这里找到了解决方案:https : //www.raspberrypi.org/forums/viewtopic.php?t=191087

  1. 使用raspi-config启用OpenGL(完整KMS)
  2. 从/ etc / chromium-browser / customizations / 00-rpi-var中删除“ --disable-gpu-compositing”

您需要做的就是让https://get.webgl.org多维数据集旋转。

为我工作!


正如您看到的Firefox屏幕截图一样,OpenGL(完整KMS或伪KMS)已启用,我尝试了这些标志。我认为这是有趣的部分,一切似乎都合法,但是未显示多维数据集!
穆罕默德·拜拉克'18

@MehmetBayrak您是否尝试按照我的回答所述编辑文件?我没有使用任何标志。
JoeyCK

1
是的,当我编辑“ / etc / chromium-browser / customizations / 00-rpi-var”时,您是正确的,它可以正常工作!谢谢
Mehmet Bayrak '18

2

似乎您不是唯一遇到此问题的人。您可能想检查您的chrome://flash页面,并查看是否正在使用不应该使用的驱动程序。相应地测试并检查每个驱动程序的功能。之后,先卸载然后重新安装Chrome,以查看是否有任何更改:

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

如果此解决方案不起作用...

大多数人报告该问题与他们的图形卡有关,您可以通过查看chrome://gpu/并查看是否为WebGL启用了硬件加速来查看此问题。如果不是,则可能是因为铬将RPi的GPU列入了黑名单。这就是为什么您得到以下提示的原因

**failed to retrieve device information**

因为您的Pi的GPU已被列入黑名单。您将必须找到一种方法来启动Chromium,同时忽略黑名单。我知道对于Google Chrome浏览器,命令是

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

因此,您可能想为Chromium尝试类似的操作。

同时,如果可以的话,请使用Firefox,并查看此处讨论WebGL上黑名单的链接,您可能还想将此错误报告给开发人员。

----更新----

以下命令可以解决您的问题:

chromium-browser --enable-webgl --ignore-gpu-blacklist

我需要在RPI上使用铬浏览器,但不能使用Firefox。我认为这是一个错误。我已经尝试重新安装Chrome,并且也使用--ignore-gpu-blacklist标志,但无法再次使用。我检查了chrome:// flash。GL_RENDERER:VC4 V3D 2.1上的镓0.4和GL_VERSION:2.1平台13.0.6。其他人似乎很正常。
穆罕默德·拜拉克

只是一个想法,我在任何地方都找不到:也许您可以下载旧版本的铬,然后再次进行测试,如果存在错误,则完全有可能旧版本的铬可以正常工作。
亚丁

1
有效!有效!运行会chromium-browser --enable-webgl --ignore-gpu-blacklist返回大量错误,但会启动铬并开始get.webgl.org工作!
scitronboy

1

我发现以下内容适用于“ Raspbian GNU / Linux 9(拉伸)”: 要找出哪个版本,请在终端中键入“ cat / etc / os-release”。

  1. 控制台:sudo raspi-config在“ 7个高级选项” /“ A7 GL驱动程序”下,选择“ G2 GL(Fake KMS)”

  2. 桌面:“首选项” /“添加”“删除软件”搜索“ Chrome”,然后选择“ Chromium浏览器的WebDriver驱动程序”,单击“确定”。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.