With GLX, blacklist everything but NVIDIA proprietary driver




7 years ago
7 years ago


(Reporter: bjacob, Assigned: bjacob)


Firefox Tracking Flags

(Not tracked)



(2 attachments)

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.
Attachment #502504 - Flags: review?


7 years ago
Attachment #502504 - Flags: review? → review?(jmuizelaar)
Attachment #502504 - Flags: review?(jmuizelaar) → review+


7 years ago
blocking2.0: --- → ?

Comment 1

7 years ago
Note, you can bypass this by defining the MOZ_GLX_IGNORE_BLACKLIST environment variable.
Attachment #502504 - Flags: approval2.0+

Comment 2

7 years ago
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.
Assignee: nobody → bjacob
Attachment #502585 - Flags: review+

Comment 3

7 years ago
ok, pushed.

Last Resolved: 7 years ago
Resolution: --- → FIXED
Should this be backed out on trunk once the beta is built?
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.
Resolution: FIXED → ---
Bill, can you open a new bug instead? Keeps things cleaner.
Last Resolved: 7 years ago7 years ago
Resolution: --- → FIXED
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.
Depends on: 624593
Bill filed bug 624593.
Blocks: 578877
blocking2.0: ? → ---
Benoit, was there a reason to make this an env var and not a preference?
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.
You need to log in before you can comment on or make changes to this bug.