Hmm. Well I suppose then that we either accept that a large number of machines will not be able to view WebGL content, or we find a way to make the driver upgrade semi-automatic. Of course the problem then is accusations that, "Firefox broke my laptop!", if an upgrade goes wrong :)
Most non-technical people will not even read any instructions even if they are entirely specific. So any measure we take here will only impact a minory of tech-savvy users, defined as "people who have already installed/upgraded a graphics driver once in their life". We can adjust communication accordingly.
Well, my experiene in doing a few tests and polling a few non-technical people is that unless the instructions for how to fix the problem are specific, people get confused and give up.
Indeed, Firefox requires the 257.21 driver from May 2010. As OEMs are entirely careless about shipping up-to-date drivers, many machines shipped with older drivers well into 2011.
The worst example was on a one year old windows laptop with an Nvidia GPU that was working fine in the latest stable build of Chrome, but refused to work in the latest Firefox, the (hidden) reason being that Firefox deemed their drivers to be too old.Only about 40% of people who try to see WebGL context in Firefox, get to see it. The overwhelming majority of the remaining 60% have capable hardware but blacklisted drivers.
I would guess that a lot of laptops would match this profile. And that this problem will severely limit the potential reach of WebGL (and therefore uptake by developers).
Again, most people wouldn't even read these instructions, so this wouldn't affect the overall figures significantly (the above-mentioned 40%). But we can do more to help that segment of users who are just technical enough to upgrade their drivers given a suitable message.
This seems to be a universal problem that could be solved at its source by the browsers directing people to visit the driver download page for their GPU when a problem is detected.
Linux is a non-issue as all recent Linux drivers are non-blacklisted, bugs are fixed quickly, and newer driver versions are rolled out quickly to users on most distros. At the moment, Linux is the platform with the highest WebGL success rate in Firefox (about 75%) and fastest increase rate, so we'll be above 90% soon.
Having no good solution for this problem seems quite a poor outcome.
For Linux, I'm sure the community could provide a page to help users to upgrade. The browsers would just need to redirect to that.
Anyway, whatever the outcome, I think having some way of helping non-technical users to easily get WebGL working will be key to its success.
I don't see why webglcontextcreationerror would have to give away any information. It can simply give a link to a browser-specific wiki page where instructions can be found; going slightly further it can give GPU-vendor-specific info about where to find drivers, which is like 2 bits of info that can probably be obtained anyways by analyzing some rendering; so it doesn't have to be a privacy issue and each browser vendor is free to decide where to draw the line.
That's wildly unrepresentative; either you are using a nightly/canary browser where the build day is part of the UA string so that extremely few users have that exact UA, or you otherwise have uncommon plugins / screen resolution, etc.I am personally not swayed by this argument because whoever does want to have supercookies can already have them (see https://panopticlick.eff.org/ which gave my browser a unique fingerprint among more than 2 million users).
The webglcontextcreationerror event doesn't have to give that much information; see above.It has, in these discussions, also been pointed out that if we could but know what GPU people where running, it would be very useful, as I recall, this was quite hotly debated. Alas, we are at it again I guess, for good reason, as predicted.