plotly.js: WebGL visualisations not rendering on iOS

I’ve tried opening a few WebGL-powered visualisations (e.g. wavenumbers) on iOS devices in Safari but am greeted with “Webgl is not supported by your browser - visit http://get.webgl.org for more info”. However, WebGL is well-supported in Safari and is able to render graphics from other libraries (e.g. three.js).

I’m not terribly familiar with the project, but I’m poking around how GL context is determined and when showNoWebGlMsg() is fired in /src/plots/gl3d/scene.js. Am I barking up the right tree, or totally off-base?

About this issue

  • Original URL
  • State: closed
  • Created 8 years ago
  • Reactions: 3
  • Comments: 33 (15 by maintainers)

Most upvoted comments

The reason for this bug on iPad is the incomplete iPad detection for mobiles: In “function isMobile (ua)”, the check “ip(hone|od)” must be replaced by "ip(ad|hone|od). Then surface plots will also work on iPads.

The javascript example at “https://plot.ly/javascript/3d-surface-plots/” is working under Windows/Chrome and Android/Chrome (the latter OS without touch operations). Under iOS/Safari however “WebGL is not supported” is displayed.

It also is a big drawback for me as I use an Ipad often for data visualisation presentations. Any updates on this?

I second the request for progress on this issue. This issue is a blocker for me using 3D charts.

Has there been any progress on this issue? I’d love to have a working 3D scatter plot on iOS but currently get the same message as above.

I wonder why this bug is closed? I definitely see the same error messages in Safari under iOS (i.e. here).

This should fix 3d-related issues.

Connecting my iPad up to my Mac with developer tools enabled and trying to load a scatter3d traces gives me this:

image

The error seems to come from in here somewhere: https://github.com/stackgl/gl-fbo

Fixed for myself locally, see my comment to #1411.

It supports Webgl 1, but not Webgl 2. All Webgl apps I tried were working,except for plotly.js surface plot.

Von meinem iPad gesendet

Am 17.07.2017 um 22:46 schrieb Étienne Tétreault-Pinard notifications@github.com:

@bg23 can you go to http://webglreport.com/ to see if your iPad’s browser does support WebGL?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

On iPad with iOS and Safari 10.3: Scatter and Mesh fail with Webgl not supported. Hue value is OK, but characters are shown as question marks.

Von meinem iPad gesendet

Am 17.07.2017 um 15:56 schrieb Étienne Tétreault-Pinard notifications@github.com:

@ischurov @man-bear-pig #1411 (released in 1.24.0) did fix the problem for some iOS distro, but looks like not all. I’ll gladly reopen this issue.

Looking at the reports in detail, the problems appear to only concern surface traces. Could anyone here be interested in testing our other WebGL trace types to help us narrow down the problem? For example,

https://plot.ly/javascript/3d-scatter-plots/ https://plot.ly/javascript/3d-mesh/ https://plot.ly/~chris/17389.embed — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

These all work for me on iPhone 5 except for 3d-mesh, which has lots of black spots @etpinard reports are fixed by #1868. The other exception is @chriddyp’s plot which has question mark glyphs for all of the characters.

I still experience this bug in both iOS Chrome (58.0.3029.83) and Safari on 13" iPad Pro.

I have the same issue in both Chrome and Safari on iPhone 6 iOS 9.3. Funny thing is visiting http://get.webgl.org in the error message shows a spinning cube just fine. Hope you can figure it out and fix so iOS users can enjoy awesome plot.ly 3D charts 😃

It might be that we are passing incompatible parameters to the webgl context creation. This is hard to test without access to an iOS device. I’ll see if I can scrounge one up or borrow something to test.