From e6fb6ff5d3b3c60b0f50a00ed8b7e351e3aaf9a1 Mon Sep 17 00:00:00 2001 From: Xaver Hugl Date: Sat, 29 Jan 2022 19:40:40 +0100 Subject: [PATCH] backends/x11/standalone: only use sRGB configurations with depth 24 Credit goes to Mario Kleiner, who bisected this issue. BUG: 423014 --- src/backends/x11/standalone/glxbackend.cpp | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/src/backends/x11/standalone/glxbackend.cpp b/src/backends/x11/standalone/glxbackend.cpp index 653c4342b8..c38c0f025a 100644 --- a/src/backends/x11/standalone/glxbackend.cpp +++ b/src/backends/x11/standalone/glxbackend.cpp @@ -464,18 +464,8 @@ bool GlxBackend::initFbConfig() 0 }; - bool llvmpipe = false; - - // Note that we cannot use GLPlatform::driver() here, because it has not been initialized at this point - if (hasExtension(QByteArrayLiteral("GLX_MESA_query_renderer"))) { - const QByteArray device = glXQueryRendererStringMESA(display(), DefaultScreen(display()), 0, GLX_RENDERER_DEVICE_ID_MESA); - if (device.contains(QByteArrayLiteral("llvmpipe"))) { - llvmpipe = true; - } - } - - // Don't request an sRGB configuration with LLVMpipe when the default depth is 16. See bug #408594. - if (!llvmpipe || Xcb::defaultDepth() > 16) { + // Only request sRGB configurations with default depth 24 as it can cause problems with other default depths. See bugs #408594 and #423014. + if (Xcb::defaultDepth() == 24) { fbconfig = chooseGlxFbConfig(display(), attribs_srgb); } if (!fbconfig) {