Android Cordova WebGL 2 issues r137+

  • Hmm, it's a shame but the only thing I can think to do is disable WebGL 2 in Cordova apps on Android (again). Previously we had WebGL 2 always disabled on Android (including in web exports), but I don't think there have been any reports of issues in browsers, only Cordova (i.e. Android webview). So at least we could narrow down the WebGL 2 disabled to only affecting Cordova instead of all Android. But I can't see any way we can narrow this down any more - I thought it might only affect specific plugins (particularly admob), but that seems not to be the case, and I really don't want us to have to maintain our own WebGL 2 device blacklist, so I think that's the best we can do...

    I can't see anything that would meaningfully change the Android Webview WebGL 2 support in the long term either, so this may become effectively a permanent workaround. I guess we could try again in say a year, and hope drivers have been updated (when Android famously never gets updated); or if Chrome ever moves to a Vulkan-backed WebGL 2 implementation we could try again with that.

  • That is sad to read, but it may help.

    Also, forgot to mention: when testing with Remote Preview, on the previously cited Device 1 (Alcatel), it worked just nice. It is something specific to the Cordova export. I have tested on an LG K10 and got the same results from the Alcatel device (black screen).

    Thanks for the help, guys!

  • TheScythe - do you have a specific model number to identify the variant of the K10? I looked up the stats and the GPU it uses depends on the variant (which presumably depends on the market region).

    So judging by the information in this thread and looking up device GPUs on gsmarena, we have results something like this:

    Honor 9 Lite: Mali-T830 MP2 - broken

    Alcatel A5 LED: Mali-T720MP3 - broken

    OnePlus 5T: Adreno 540 - working

    LG K10 (2016): Adreno 306 - K420N; Mali-T720MP3 - K430DS, K430DSF, K430DSY

    LG K10 (2017): Mali-T860MP2

    At least one of the K10 variants above broken

    It's not a lot of data to go on, but it would make sense if this is a GPU driver bug in Mali GPUs affecting OpenGL ES 3 (WebGL 2). The more devices we can test and get results on, the better. So if anyone else can test on additional devices and let us know if it works or not, that would be helpful. Then we can look up the specs and see if there's a correlation with the GPU.

    We have data indicating ~50% of Android devices use Mali GPUs, so blacklisting anything with "Mali" in the GPU name from using WebGL 2 would have a high impact. I think the best approach would be if someone can produce the most minimal project possible that demonstrates the issue and then file a bug with Google with our device testing results and see if they can get to the bottom of it.

    For the record I edited the thread title to better reflect what we're trying to do here.

  • TheScythe - do you have a specific model number to identify the variant of the K10? I looked up the stats and the GPU it uses depends on the variant (which presumably depends on the market region).

    So judging by the information in this thread and looking up device GPUs on gsmarena, we have results something like this:

    Honor 9 Lite: Mali-T830 MP2 - broken

    Alcatel A5 LED: Mali-T720MP3 - broken

    OnePlus 5T: Adreno 540 - working

    LG K10 (2016): Adreno 306 - K420N; Mali-T720MP3 - K430DS, K430DSF, K430DSY

    LG K10 (2017): Mali-T860MP2

    At least one of the K10 variants above broken

    It's not a lot of data to go on, but it would make sense if this is a GPU driver bug in Mali GPUs affecting OpenGL ES 3 (WebGL 2). The more devices we can test and get results on, the better. So if anyone else can test on additional devices and let us know if it works or not, that would be helpful. Then we can look up the specs and see if there's a correlation with the GPU.

    We have data indicating ~50% of Android devices use Mali GPUs, so blacklisting anything with "Mali" in the GPU name from using WebGL 2 would have a high impact. I think the best approach would be if someone can produce the most minimal project possible that demonstrates the issue and then file a bug with Google with our device testing results and see if they can get to the bottom of it.

    For the record I edited the thread title to better reflect what we're trying to do here.

    Motorola G6 builds an apk in r137, works fine.

  • Does it work OK if you remove Mobile Advert?

    Unfortunately, no.

    Just tried apk from r137 on a Oneplus 6, it works.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • Ashley

    TheScythe - do you have a specific model number to identify the variant of the K10? I looked up the stats and the GPU it uses depends on the variant (which presumably depends on the market region).

    It's the 2017 model, Mali-T860MP2.

  • Thanks. So as things stand:

    Broken

    • Honor 9 Lite: Mali-T830 MP2
    • Alcatel A5 LED: Mali-T720MP3
    • LG K10 (2017): Mali-T860MP2
    • Samsung Galaxy Tab S2 (SM-T710): Mali-T760 MP6

    Working

    • OnePlus 5T: Adreno 540
    • Oneplus 6: Adreno 630
    • Motorola G6: Adreno 506
    • Pixel 3: Adreno 630

    The Mali theory is looking good. Can someone make a minimal project that demonstrates the problem on a Mali device?

    (edited to add new device results)

  • Yes, I think I know how to do it. I'll try and get back to you later today.

  • Tested Space Blaster with two devices in the office:

    Pixel 3: Adreno 630 - working

    Samsung Galaxy Tab S2 (SM-T710): Mali-T760 MP6 - broken

    I think this is sufficient to prove it's Mali GPUs. I should be able to get a bug filed with Google over this soon. In the mean time we'll disable WebGL 2 on Android in Cordova until there is a resolution for the bug. Thanks for the co-operation folks.

  • Just to chime in here, on the 7 devices people are testing on with my game the only one that isnt working is the s7 with a Mali GPU.

  • Tested Space Blaster with two devices in the office:

    Pixel 3: Adreno 630 - working

    Samsung Galaxy Tab S2 (SM-T710): Mali-T760 MP6 - broken

    I think this is sufficient to prove it's Mali GPUs. I should be able to get a bug filed with Google over this soon. In the mean time we'll disable WebGL 2 on Android in Cordova until there is a resolution for the bug. Thanks for the co-operation folks.

    Sorry I couldn't get on to testing it, I had a very busy bunch of days lately. Is a Construct update needed for this, or just exporting on Cordova normally right now works?

    Thank you for all the attention given to this matter!

  • TheScythe we need to publish a new release to disable webgl 2 on Android properly ( probably Monday ), if you know what you are doing it's possible to modify a cordova project export so that it only uses webgl 1. There is a older forum thread talking about doing this, which probably includes instructions.

    Just to be clear this issue only happens when published as an Android app, on devices using mali GPU's ( mostly samsung devices ) and using release 137+. If possible just publish using r136 if you need to do it urgently, or if your comfortable working with a cordova project you can modify the runtime as I mentioned before.

  • Issue now filed at https://bugs.chromium.org/p/chromium/issues/detail?id=934823 - star it to follow updates. In the mean time we will once again disable WebGL 2 on Android (this time limited to Cordova) in the next beta release.

  • Thanks a lot, Ashley! I have seen that a new beta has been release, but the change log doesn't state wether this temporary workaround was added or not. Is the WebGL2 disabled in the new release?

  • Oops, I missed it - too many other things going on... I'll get it in for the next beta. A delay might be worthwhile anyway since there have been some reports on the bug tracker that there may also be issues with WebGL 2 on Mali devices in the browser too, which is a new case.

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)