Last Comment Bug 624390 - With GLX, blacklist everything but NVIDIA proprietary driver
: With GLX, blacklist everything but NVIDIA proprietary driver
Status: RESOLVED FIXED
:
Product: Core
Classification: Components
Component: Graphics (show other bugs)
: unspecified
: All Linux
: -- normal with 1 vote (vote)
: ---
Assigned To: Benoit Jacob [:bjacob] (mostly away)
:
: Milan Sreckovic [:milan]
Mentors:
Depends on: 624593
Blocks: 578877
  Show dependency treegraph
 
Reported: 2011-01-10 08:52 PST by Benoit Jacob [:bjacob] (mostly away)
Modified: 2011-01-24 10:38 PST (History)
9 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
blacklist everything but NVIDIA in GLX (2.06 KB, patch)
2011-01-10 08:52 PST, Benoit Jacob [:bjacob] (mostly away)
jmuizelaar: review+
joe: approval2.0+
Details | Diff | Splinter Review
land me! (2.03 KB, patch)
2011-01-10 13:19 PST, Benoit Jacob [:bjacob] (mostly away)
jacob.benoit.1: review+
Details | Diff | Splinter Review

Description Benoit Jacob [:bjacob] (mostly away) 2011-01-10 08:52:26 PST
Created attachment 502504 [details] [diff] [review]
blacklist everything but NVIDIA in GLX

With GLX (aka OpenGL on linux and unix systems), many drivers are crashy to the point that just creating a GL context crashes. However, at least the NVIDIA proprietary driver is good and non-crashy.

This patch blacklists everything but the NVIDIA proprietary driver.

This really should go into beta9 because it fixes a severe post-beta8 regression on Linux. Post-beta8, a change in how we create GLX contexts (bug 613079) started triggering lots of GL driver crashes with GLX. Together with WebGL getting enabled by default, and many webpages creating WebGL contexts just to be cool (modernizr does), this means that lots of Linux users experienced crashes on many pages: bug 616416, Bug 622294, Bug 621699.

Meanwhile, I am also working in bug 616416 on changing the way we do GLX initialization to be less prone to triggering driver crashes. But that is taking more time and is a lower priority.
Comment 1 Benoit Jacob [:bjacob] (mostly away) 2011-01-10 10:18:11 PST
Note, you can bypass this by defining the MOZ_GLX_IGNORE_BLACKLIST environment variable.
Comment 2 Benoit Jacob [:bjacob] (mostly away) 2011-01-10 13:19:48 PST
Created attachment 502585 [details] [diff] [review]
land me!

This version is ready to land:
 - cleanup suggested by vlad (smaller patch)
 - changeset metadata

Since the tree is currently closed I can't push it myself.
Comment 3 Benoit Jacob [:bjacob] (mostly away) 2011-01-10 13:22:14 PST
ok, pushed.

http://hg.mozilla.org/mozilla-central/rev/f9f48079910f
Comment 4 Bill Gianopoulos [:WG9s] 2011-01-10 14:55:46 PST
Should this be backed out on trunk once the beta is built?
Comment 5 Bill Gianopoulos [:WG9s] 2011-01-10 15:33:45 PST
I have thought about this some more and this is entirely the wrong solution.

1.  This is supposed to be blacklist and NOT a whitelist.

2.  Adding a feature that only work using a proprietary driver is in direct opposition to the entire idea of Linux.

3.  I have zero issues or crashes using the Xorg ATI drivers that are currently available under fedora 14, so I think this is just a people are using old kernel/driver issue.

If this is really such a huge crash issue then it should be turned off with a pref so that users who want to test can turn it on with a pref.  The you can turn it on with an ENV variable does not work well for the case where Firefox is launched by clicking on a link form an external application.
Comment 6 Joe Drew (not getting mail) 2011-01-10 15:37:34 PST
Bill, can you open a new bug instead? Keeps things cleaner.
Comment 7 Bill Gianopoulos [:WG9s] 2011-01-10 15:48:22 PST
OK.  For the record I guess this is OK if it is the best we can do for the beta.  I just don't think it should remain on trunk.
Comment 8 Boris Zbarsky [:bz] (still a bit busy) 2011-01-10 17:28:53 PST
Bill filed bug 624593.
Comment 9 Boris Zbarsky [:bz] (still a bit busy) 2011-01-24 10:12:55 PST
Benoit, was there a reason to make this an env var and not a preference?
Comment 10 Benoit Jacob [:bjacob] (mostly away) 2011-01-24 10:38:01 PST
Only ease of implementation. The plan is to make it a preference, and to make it not GLX specific. I think we should have a global gfx.ignore-blacklist preference.

Note You need to log in before you can comment on or make changes to this bug.