composite: log when disabled via OpenGLIsUnsafe

After updating my Debian buster to bullseye, I noticed missing
shadows / composite for KDE, which made overlapping windows hard
to recognize.

.xsession-errors just had "kwin_core: Compositing is not possible".
Using the suggested QT_LOGGING_RULES="kwin_*.debug=true" didn't
provide any more clues; nothing I tried did.
Eventually I ended reading the kwin source and found, that
disabled composite via kwinrc :: [Compositing] :: OpenGLIsUnsafe
was not reported.

IMHO all these disabling cases should use qCCritical(KWIN_CORE),
like the "Compositing is not possible" message, but for the time
being, this simply logs the OpenGLIsUnsafe reason, just like all
the others.
This commit is contained in:
Jan-Marek Glogowski 2021-08-29 14:30:28 +02:00 committed by Vlad Zahorodnii
parent fc860a226e
commit bcdf047018

View file

@ -231,9 +231,10 @@ bool X11StandalonePlatform::compositingPossible() const
KConfigGroup gl_workaround_group(kwinApp()->config(), "Compositing");
const QString unsafeKey(QLatin1String("OpenGLIsUnsafe") + (kwinApp()->isX11MultiHead() ? QString::number(kwinApp()->x11ScreenNumber()) : QString()));
if (gl_workaround_group.readEntry("Backend", "OpenGL") == QLatin1String("OpenGL") &&
gl_workaround_group.readEntry(unsafeKey, false))
gl_workaround_group.readEntry(unsafeKey, false)) {
qCDebug(KWIN_X11STANDALONE) << "kwinrc :: [Compositing] :: " << unsafeKey << " is true";
return false;
}
if (!Xcb::Extensions::self()->isCompositeAvailable()) {
qCDebug(KWIN_X11STANDALONE) << "No composite extension available";