I recently upgraded from Linux Mint 17.3 MATE (Ubuntu 14.04) to Ubuntu 16.04. Before upgrading, WebGL was working correctly in Chrome. Pages with simple WebGL, like get.webgl.org still work, but now trying to access some pages, such as those on GLSL Sandbox, crashes the GPU process and a yellow bar appears at the top of the page that says "WebGL hit a snag." If I crash the GPU process enough times, all of the previously available entries on the chrome://gpu page turn into "Software only, hardware acceleration unavailable" until Chrome is restarted.

How could I fix this issue?

I am currently using Chrome 50.0.2661.94 51.0.2704.63 and NVIDIA proprietary drivers 340.96 361.45.11.

Here is a snapshot of the chrome://gpu page before I crashed the GPU process: https://cdn.rawgit.com/as-com/6925415da9554028940d6fd77abbcd79/raw/ab952209f48d8e18efdc42325dda0f0872263eac/gpu.html

Here is the page after I've crashed the GPU process a few times: https://cdn.rawgit.com/as-com/6925415da9554028940d6fd77abbcd79/raw/48c904c6ed2227b34bd99047e01d1573c6a4f2c2/gpu2.html

Things I have tried

  • Rebooting (several times)
  • Different versions of proprietary NVIDIA drivers (361.42, 340.96, 358.16, 364.19, 304.131, and 361.45.11), some from this PPA
  • Resetting my custom flags in chrome://flags and enabling/disabling the override option

Additional Information

  • Chrome's GPU process freezes and crashes even when I open the developer tools, which is really annoying

The combination of Chrome version 52.0.2743.116 and NVIDIA drivers 361.45.18 has fixed the crashing issues with WebGL. I may be wrong, but this commit looks related to fixing the issue.


Looking for an answer I found this https://askubuntu.com/a/299346/154328

Changing the flag #ignore-gpu-blacklist by enabling "Override software rendering list" (en español es "Ignorar la lista de renderización por software") on chrome://flags, and just restarting Chrome doesn't work: you need to make sure that all Chrome processes have been killed. So, close Chrome, on a terminal emulator run killall chrome and restart the program. Now http://webglreport.com/ report that this machine supports WebGL 1.

Sadly, that didn't solved all problems with WebGL, at least on a test in http://collapse-thedivisiongame.ubi.com/es/# which works OK on Firefox 46 on this machine. But maybe it is enough on someone else's machine.


Switching to the legacy binary driver (304.131) worked for me. Note that's 304, not 340 (at first I thought they were the same version). I can now use WebGL on Chrome (in Google Maps) again.

Instructions for posterity:

  • Open Software & Updates > Additional Drivers
  • Select Using NVIDIA legacy binary driver - version 304.131 from nvidia-304 (proprietary)
  • Click Apply Changes

I should also mention that my video card is detected as NVIDIA GF108M [NVS 5400M]. I'm running Ubuntu 16.04 on a ThinkPad T530 with Discrete Graphics enabled in the BIOS.

  • That's interesting. I assumed that I didn't need to go any lower because 352 was working fine on 14.04. Are there any performance implications of using such an old driver version? – Andrew Sun May 8 '16 at 12:59
  • I tried using the older 304 driver version, but this WebGL Water demo still does not work and displays the same error. – Andrew Sun May 11 '16 at 21:21

protected by Community May 9 '16 at 10:08

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

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