[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Public WebGL] blacklisting NVIDIA proprietary Linux drivers older than 295.* in chrome



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.

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.

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).

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. That way nothing is exposed to _javascript_. The alternative is that it's the responsibility of the JS app to solve the problem, which will lead to varying qualities of result. That sounds messy.

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.

Rob

On Jul 31, 2012 6:34 PM, "Benoit Jacob" <bjacob@mozilla.com> wrote:



On Wed, Aug 1, 2012 at 1:40 AM, spam spam <spam@anderberg.co.uk> wrote:
Sorry to revive this thread after a week, but I  had a thought. If Chrome could expose
the text that we see in the about:gpu GPU page when WebGL isn't supported
(e.g. Nvidia drivers < 295.* are buggy) to _javascript_, then websites could deliver
this useful message to their users and direct them to the right page to solve their
problem.

The community could even set up a really easy guide to help people upgrade.
Without that text, we're stuck with directing users to a generic upgrade page.

This would also be really useful under Windows.

This has been discussed extensively and was ultimately rejected by the vendors because it would expose more unique bits of the user agent to the public, making it easier to uniquely identify users without their consent (supercookies).
That's not what I remember. The spec actually has a provision for that, see the webglcontextcreationerror event. I am not aware of any browser engine implementing it, but as far as I'm concerned, that's more laziness / lack of prioritization than a stance against it.

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.


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).
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.

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.
The webglcontextcreationerror event doesn't have to give that much information; see above.

Benoit