Chrome WebGL 在 Ubuntu 16.04 上崩溃

Chrome WebGL 在 Ubuntu 16.04 上崩溃

我最近从 Linux Mint 17.3 MATE(Ubuntu 14.04)升级到了 Ubuntu 16.04。升级之前,WebGL 在 Chrome 中运行正常。带有简单 WebGL 的页面(如 get.webgl.org)仍可运行,但现在尝试访问某些页面(如 GLSL Sandbox 上的页面)会导致 GPU 进程崩溃,并且页面顶部会出现一个黄色条,显示“WebGL 遇到问题”。如果我使 GPU 进程崩溃的次数足够多,chrome://gpu 页面上所有之前可用的条目都会变成“仅限软件,硬件加速不可用”,直到重新启动 Chrome。

我该如何修复此问题?

我目前正在使用 Chrome 50.0.2661.94 51.0.2704.63 和 NVIDIA 专有驱动程序340.96 361.45.11。

这是我使 GPU 进程崩溃之前的 chrome://gpu 页面的快照:https://cdn.rawgit.com/as-com/6925415da9554028940d6fd77abbcd79/raw/ab952209f48d8e18efdc42325dda0f0872263eac/gpu.html

以下是我多次使 GPU 进程崩溃后的页面:https://cdn.rawgit.com/as-com/6925415da9554028940d6fd77abbcd79/raw/48c904c6ed2227b34bd99047e01d1573c6a4f2c2/gpu2.html

我尝试过的事情

  • 重新启动(多次)
  • 不同版本的专有 NVIDIA 驱动程序(361.42、340.96、358.16、364.19、304.131 和 361.45.11),其中一些来自此 PPA
  • 在 chrome://flags 中重置我的自定义标志并启用/禁用覆盖选项

附加信息

  • 即使我打开开发者工具,Chrome 的 GPU 进程也会冻结并崩溃,这是真的恼人的

答案1

Chrome 版本 52.0.2743.116 和 NVIDIA 驱动程序 361.45.18 的组合已修复 WebGL 崩溃问题。我可能错了,但是这次提交看起来与修复该问题有关。

答案2

寻找答案我发现了这个https://askubuntu.com/a/299346/154328

通过在 chrome://flags 上启用“覆盖软件渲染列表”(西班牙语为“忽略软件渲染列表”)来更改标志 #ignore-gpu-blacklist,然后仅重新启动 Chrome 不起作用:您需要确保已终止所有 Chrome 进程。因此,关闭 Chrome,在终端仿真器上运行 killall chrome 并重新启动程序。现在http://webglreport.com/报告该机器支持WebGL 1.

遗憾的是,这并没有解决 WebGL 的所有问题,至少在http://collapse-thedivisiongame.ubi.com/es/#在我机器上的 Firefox 46 上运行良好。但在其他人的机器上可能就够用了。

答案3

切换到旧版二进制驱动程序 (304.131) 对我来说很有效。请注意,这是 304,而不是 340(起初我以为它们是同一版本)。我现在可以在 Chrome(在 Google 地图中)上再次使用 WebGL。

对后人的指示:

  • 打开软件和更新 > 其他驱动程序
  • 选择使用 NVIDIA 旧版二进制驱动程序 - nvidia-304(专有)中的版本 304.131
  • 单击“应用更改”

我还应该提到,我的显卡被检测为 NVIDIA GF108M [NVS 5400M]。我在 ThinkPad T530 上运行 Ubuntu 16.04,并在 BIOS 中启用了独立显卡。

相关内容