GNOME Bugzilla – Bug 644325
blacklist
Last modified: 2011-10-21 14:36:48 UTC
We are probably going to need some sort of blacklist for systems which pass gnome-session-is-accelerated currently. Talking with Owen the initial idea here is that it's hardware based, not mesa/kernel/X versions.
Created attachment 186760 [details] [review] Blacklist some common GL renderer strings that are insufficient for GNOME Shell My feeling is that the right way to handle this is to have something like a /etc/gnome/hwcompat directory that is read in sorted order, and contains files of the form +<regexp> -<regexp> Or maybe -<regexp>: reason Or maybe: +renderer: <regexp>: reason (If we ever expect to match against anything other than GL_RENDERER - no current expectation of this) where the regexps are matched against the renderer string and the first one that is hit, wins in the whitelist (+) or blacklist (-) direction. But right now, we're getting lots of bugs coming in on fedora about R100 and R200, so we needed something, so I'm applying the attached patch to our gnome-session package. I'll leave it up to other people whether it should be landed upstream or not.
Review of attachment 186760 [details] [review]: At a high level, I think what would be much more "right" would be to blacklist based on PCI ids. However, to be really correct we'd need to somehow get from the current X server what card was backing it. For the LLVM case, that'd be NULL I guess. The software case is obviously interesting since it's possible it may be fast enough "soon", like in the next 6 months. Not a big deal to update gnome-session at the same time as the mesa update, but... ::: tools/gnome-session-check-accelerated-helper.c @@ +121,3 @@ + "llvmpipe", /* Somewhat better Gallium software rendering */ + "R100", /* ATI Radeon R1xx */ + * texture_from_pixmap in a direct context. I'm a little worried about some of these strings for strcasestr()...it's certainly conceivable to me that "R100" could become a substring of a new card (possibly not even Radeon) at some point. Maybe add a leading space if there is one?
Potentially just use libdrm instead of querying glxinfo too.
*** Bug 649412 has been marked as a duplicate of this bug. ***
Fedora is still carrying this patch - we should decide what to do here
I have the same worry as Colin about R100 being a bit too generic. Can we have the complete renderer string to know what we can do to improve things there?
r100 is like 6 year old and older computers and high end, headless, server machines, right?
(In reply to comment #6) > I have the same worry as Colin about R100 being a bit too generic. Can we have > the complete renderer string to know what we can do to improve things there? R100 is quite generic, but according to our Xorg devs, there is not probably not much chance that R[1-3]00 will support gnome-shell ever without something radical happening (like fast enough software rendering).
The issue with it being generic is not about this specific R100 driver working later on. It's about another driver that would get a R100 substring in its rendering text -- we don't want to match that too.
Created attachment 199429 [details] [review] tools: Use whitelist/blacklist regexps when evaluating renderer The regexps are in a file that we also ship.
Created attachment 199430 [details] [review] data: Blacklist Intel 830-865 hardware
So here's a patch to implement the blacklist/whitelist mechanism with regexps in an external file. The second patch blacklists the Intel 830-865 hardware. I'm missing regexps that are not too generic for the ATI R100 and R200 hardware. Does anyone know the renderer strings for those? I'd appreciate testing of those patches. That looks okay here, but it's only tested on my machine...
(In reply to comment #12) > I'd appreciate testing of those patches. That looks okay here, but it's only > tested on my machine... I guess I'll just force people to test those patches in 3.3.1 by pushing them. > I'm missing regexps that are not too generic for the ATI R100 and R200 > hardware. Does anyone know the renderer strings for those? No answer => not in the blacklist. I'll wait for a bug with the renderer strings.