Version: unspecified (using KDE 4.6.2) OS: Linux It appears that as of Mesa-7.10.1, "GEM"+'driver date' is no longer included in Intel card gl_renderer strings. For example, an Intel 865G now gives the string: Mesa DRI Intel(R) 865G x86/MMX/SSE2 For reference, see intel_context.c in the Mesa-7.10.{1,2} drivers/dri source tree. As "GEM" no longer is present, erroneous opengltest failures result for these cards. As a simple fix I have used the following simple patch to opengltest.cpp: --- kdebase-workspace-4.6.2.old/kwin/opengltest/opengltest.cpp 2011-02-25 16:54:49.000000000 -0500 +++ kdebase-workspace-4.6.2.new/kwin/opengltest/opengltest.cpp 2011-04-16 17:59:45.949998443 -0400 @@ -86,10 +86,15 @@ if (strstr((const char *)renderer, "DRI2")) return 0; - // The Intel driver doesn't have DRI2 in the renderer string + // The Intel driver doesn't have DRI2 in the renderer string (Mesa-7.10.1 and earlier) if (strstr((const char *)renderer, "GEM")) return 0; + // As of Mesa-7.10.1, "GEM"+'driver date' is no longer included in Intel card gl_renderer + // strings, eg, an Intel 865G now gives the string: Mesa DRI Intel(R) 865G x86/MMX/SSE2 + if (strstr((const char *)renderer, "Intel") && strstr((const char *)renderer, "DRI")) + return 0; + if (strstr((const char *)renderer, "Gallium")) return 0; Reproducible: Always Steps to Reproduce: Start kde Actual Results: As of Mesa-7.10.1, Intel cards result in opengltest fails Expected Results: opengltest should pass for these cards
In the patch above the comment line: + // The Intel driver doesn't have DRI2 in the renderer string (Mesa-7.10.1 and earlier) should read: + // The Intel driver doesn't have DRI2 in the renderer string (Mesa-7.10 and earlier) John
In the patch above, the comment: + // The Intel driver doesn't have DRI2 in the renderer string (Mesa-7.10.1 and earlier) should read: + // The Intel driver doesn't have DRI2 in the renderer string (Mesa-7.10 and earlier) Sorry about that, John
Sorry but the patch is unacceptable for 4.6 as it might cause a regression. I am not willing to change that code. I am sick of the external breakage and the change in the driver is completly unacceptable. This has to be reverted in the driver! I have prepared a rant to be published on planetkde as soon as my laptop finds some wifi.
(In reply to comment #3) > Sorry but the patch is unacceptable for 4.6 as it might cause a regression. I > am not willing to change that code. I am sick of the external breakage and the > change in the driver is completly unacceptable. This has to be reverted in the > driver! > > I have prepared a rant to be published on planetkde as soon as my laptop finds > some wifi. I tend to agree. I'll post to Mesa devel to try to get an explanation for the change.
(In reply to comment #3) > Sorry but the patch is unacceptable for 4.6 as it might cause a regression. I > am not willing to change that code. I am sick of the external breakage and the > change in the driver is completly unacceptable. This has to be reverted in the > driver! Using undocumented "interfaces" that are not part of the driver ABI is completely unacceptable. KDE is using the existence of the string "GEM" in the GL_RENDERER string to determine if the driver is using DRI2. This is completely bogus. "GEM" was exported in the GL_RENDERER string long before work was even started on DRI2. Applications should instead use DRI2QueryVersion to detect DRI2 support. This function is documented and is part of the ABI. Random text in the GL_RENDERER string is neither.
This bug report is a duplicate of https://bugs.kde.org/show_bug.cgi?id=270942
correct *** This bug has been marked as a duplicate of bug 270942 ***
@Ian Since you changed the string and out of curiosity: why exactly was the string changed(and please don't reply "because it's ok to do that" - i'm not debating but asking because the commit message is a bit "vague"
(In reply to comment #8) > @Ian > Since you changed the string and out of curiosity: > why exactly was the string changed(and please don't reply "because it's ok to > do that" - i'm not debating but asking because the commit message is a bit > "vague" The information in the GL_RENDERER string is information that we put there to help us debug problems on user's machines. There are two bits of information that we put there for that purpose: 1. Information to help us know exactly what version of the driver is being used. 2. Information to help us know how the user's software / hardware is configured. The information that was removed was information that was either incorrect or useless for those purposes.