【发布时间】:2014-08-12 12:46:12
【问题描述】:
我想强制 chrome 使用软件驱动程序而不是硬件来呈现 WebGL。
我使用的是 Ubuntu Linux,并且我知道 Mesa GL 驱动程序可以通过在启动程序时指定环境变量 LIBGL_ALWAYS_SOFTWARE=1 来强制使用软件实现。我确认在指定环境变量时驱动程序发生了变化。
bash$ glxinfo | grep -i "opengl"
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) 945GM x86/MMX/SSE2
OpenGL version string: 1.4 Mesa 10.1.3
OpenGL extensions:
bash$ LIBGL_ALWAYS_SOFTWARE=1 glxinfo | grep -i "opengl"
OpenGL vendor string: VMware, Inc.
OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.4, 128 bits)
OpenGL version string: 2.1 Mesa 10.1.3
OpenGL shading language version string: 1.30
OpenGL extensions:
默认 GL 驱动提供 OpenGL 1.4 支持,软件驱动提供 OpenGL 2.1 支持。
我追踪了桌面启动器存在的位置 (/usr/share/applications/) 并对其进行了编辑以指定环境变量,但 chrome://gpu 仍显示 GL 版本 1.4。 Chrome GPU 信息包含有希望的价值:
命令行参数 --flag-switches-begin --disable-accelerated-2d-canvas --ignore-gpu-blacklist --flag-switches-end
我想知道我是否可以自定义 --flag-switches-begin。
我还找到了“--use-gl”command line switch,但我不确定如何利用它来强制驱动程序进入软件模式。
附带说明一下,我已经在 chrome://flags/ 中启用了“覆盖软件渲染列表”,这确实从“blacklist”中删除了我的模型,从而可以使用 WebGL,但是 OpenGL 功能集还是很有限的。
我有一台带有糟糕“gpu”的旧笔记本电脑,我想用它来开发一些着色器并在 WebGL 中进行测试,无论性能如何。
是否可以告诉 Chrome 使用软件驱动程序?
【问题讨论】:
标签: google-chrome ubuntu webgl mesa