Cesium failing to render on latest Chrome (Version 54.0.2840.59 (64-bit)) on OSX 10.11

I just updated Chrome to the latest version (Version 54.0.2840.59 (64-bit)) on macOS Sierra (10.11) and rendering seems to fail entirely. I don’t see any error messages.

I suspect this is a problem with Chrome, and not Cesium itself, I just wanted to note it to see if anyone else was experiencing this issue.

Hi David,

I updated to the latest version of Chrome on windows and didn’t have a problem. Can someone else with a Mac see if they can reproduce this?

Thanks,

Hannah

David, I just tried on my mac and Cesium loaded just fine. This is a mid-2011 mini with Sierra and the latest version of Chrome. (same one you posted). Anything in the console?

Does http://webglreport.com/ report success on your system after the update? I updated to Chrome 54 on my Windows 7 system with a 9800GT, and WebGL is now disabled globally. I suspected it might be a blacklist problem but updating to the latest NVidia drivers didn’t help.

Scott jogged my memory and I know Chrome updated the blacklist this release and includes the very popular Intel HD 3000, so you could be hitting that. I think this is the official blacklist: https://cs.chromium.org/chromium/src/gpu/config/software_rendering_list_json.cc, but I don’t see the 9800 on there.

A bit more info:

  1. I incorrectly reported that I was on macOS Sierra 10.11. I AM on Sierra, but it is, of course 10.12.

  2. WebGLReport passes on WebGL1, but fails on WebGL2. Here’s my report:

Platform:
MacIntel
Browser User Agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.59 Safari/537.36
Context Name:
webgl
GL Version:
WebGL 1.0 (OpenGL ES 2.0 Chromium)
Shading Language Version:
WebGL GLSL ES 1.0 (OpenGL ES GLSL ES 1.0 Chromium)
Vendor:
WebKit
Renderer:
WebKit WebGL
Unmasked Vendor:
ATI Technologies Inc.
Unmasked Renderer:
AMD Radeon HD 6770M OpenGL Engine
Antialiasing:
Available
ANGLE:
No
Major Performance Caveat:
No

  1. I’m on a Late 2011 MacBook Pro with “dual” video cards, one of which is the Intel 3000, but it typically switches over to my AMD Radeon 6770 for OpenGL. (See above.) I can (and have) “forced” it to use the Radeon, and don’t see any difference.

PastedGraphic-1.png

  1. The Intel 3000 on OSX does seem to be on that blacklist, but again, I can force the Radeon to be used, and do. Not sure if it’s still picking up that the Intel3000 is there, and still blacklisting.

  2. There are no errors in the console, but it’s definitely something in the render loop, because I’m seeing it download resources (image tiles) as I “zoom in” with the scroll wheel. I just don’t get anything in the canvas.

I’m still experiencing this issue both locally (while developing my own app) as well as with the Cesium homepage and the Sandbox.

I’ve discovered that if I put a breakpoint immediately after creating my “Viewer” and allow it to break briefly, then continue, rendering seems to work out fine. I’d like to reproduce that in the Sandbox, but I can’t figure out how/where to break in there.

Is this some kind of a race? I can debug inside Cesium, but it’d be nice to have a hint where to start. Where’s the render loop begin?

  • Dave

Thanks for the info Dave! I’ve created this GitHub issue for us to track it further: https://github.com/AnalyticalGraphicsInc/cesium/issues/4442

Best,

Hannah

I looked into this again after I found that it was still broken on my 9800GT. This is the culprit:

https://bugs.chromium.org/p/chromium/issues/detail?id=656989

Note that my issue is specific to Windows. It appears the fix will go into Chrome 55. In the comments, the suggested workaround is to add:

–disable_chromium_framebuffer_multisample

to the Chrome command line, which fixes WebGL for me.