After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 644325 - blacklist
blacklist
Status: RESOLVED FIXED
Product: gnome-session
Classification: Core
Component: gnome-session
unspecified
Other Linux
: Normal normal
: ---
Assigned To: Session Maintainers
Session Maintainers
Depends on:
Blocks:
 
 
Reported: 2011-03-09 17:04 UTC by Colin Walters
Modified: 2011-10-21 14:36 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Blacklist some common GL renderer strings that are insufficient for GNOME Shell (2.77 KB, patch)
2011-04-27 17:19 UTC, Owen Taylor
none Details | Review
tools: Use whitelist/blacklist regexps when evaluating renderer (6.00 KB, patch)
2011-10-19 12:41 UTC, Vincent Untz
committed Details | Review
data: Blacklist Intel 830-865 hardware (725 bytes, patch)
2011-10-19 12:41 UTC, Vincent Untz
committed Details | Review

Description Colin Walters 2011-03-09 17:04:37 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.
Comment 1 Owen Taylor 2011-04-27 17:19:07 UTC
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.
Comment 2 Colin Walters 2011-04-27 19:47:27 UTC
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?
Comment 3 Colin Walters 2011-04-27 21:01:45 UTC
Potentially just use libdrm instead of querying glxinfo too.
Comment 4 Owen Taylor 2011-05-04 22:17:11 UTC
*** Bug 649412 has been marked as a duplicate of this bug. ***
Comment 5 Matthias Clasen 2011-09-06 11:20:27 UTC
Fedora is still carrying this patch - we should decide what to do here
Comment 6 Vincent Untz 2011-09-06 11:30:33 UTC
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?
Comment 7 Ray Strode [halfline] 2011-09-08 19:20:47 UTC
r100 is like 6 year old and older computers and high end, headless, server machines, right?
Comment 8 Matěj Cepl 2011-09-09 06:53:14 UTC
(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).
Comment 9 Vincent Untz 2011-09-09 07:00:55 UTC
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.
Comment 10 Vincent Untz 2011-10-19 12:41:16 UTC
Created attachment 199429 [details] [review]
tools: Use whitelist/blacklist regexps when evaluating renderer

The regexps are in a file that we also ship.
Comment 11 Vincent Untz 2011-10-19 12:41:23 UTC
Created attachment 199430 [details] [review]
data: Blacklist Intel 830-865 hardware
Comment 12 Vincent Untz 2011-10-19 12:43:50 UTC
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...
Comment 13 Vincent Untz 2011-10-21 14:36:41 UTC
(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.