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.
Having to obtain the GPU information by a heuristic is crap. You'd get to a page that would have to essentially say this: "We think you have an Nvidia-ish GPU (maybe), don't hit us if we're wrong, but look, here's (maybe) the Nvidia update page, sooooooo sorry if you're ATI, my bad."
There three pieces of information required to make a remotely sensible choice of what to tell a user:
Operating System Information: contained in the user-agent [OK]
GPU name/vendor: [MISSING]
Driver version: [MISSING]
Those are not "2 bits". As to why that is required:
1) Update procedure is different depending on OS AND
2) Depending on the vendor, update procedure can be different depending on the GPU AND
3) Depending on the driver version an update might be recommended, or counterindicated
We have also discussed the browsers doing that, with a helpful dialog, and a variety of non-annoying semantics, this however went nowhere as well. So this is todays situation:
WebGL breaks randomly and nobody can do jack to help users.