Better error response to Firefox's blacklisting

Firefox apparently blacklist certain combinations of GPUs and/or drivers from running WebGL content, which throws out the following erros to the browser’s console:

Error: WebGL: Error during ANGLE OpenGL init. UnityConfig.js:30:18
Error: WebGL: Refused to create native OpenGL context because of blacklisting. UnityConfig.js:30:18
Error: WebGL: WebGL creation failed. UnityConfig.js:30:18

And then pops up a Message Box that says

which will understandably lead to some very confused players and needless support tickets, so better error handling here would be nice.

The video card used in this case was a 9800M.

1 Like

Hello petrucio.

I totally agree that the error message is misleading and should be replaced.
As for now, you can implement your own Module.compatibilitycheck handler in index.html to replace this message, for example:

  ...
  var Module = {
    TOTAL_MEMORY: 268435456,
    errorhandler: null,            // arguments: err, url, line. This function must return 'true' if the error is handled, otherwise 'false'
    compatibilitycheck: function () {
      if (!hasWebGL && browser.indexOf("Firefox") != -1) {
        alert("Try to set 'webgl.force-enabled' flag to 'true' in 'about:config' to run this content.");
        throw '';
      }
      CompatibilityCheck();
    },
    dataUrl: "Release/mygame.data",
    codeUrl: "Release/mygame.js",
    memUrl: "Release/mygame.mem",
  
  };
  ...

Of course, I’ll need to translate the alert message into user-friendly language, but this certainly helps. Thanks alexsuvorov!