diff --git a/src/backends/drm/egl_gbm_backend.cpp b/src/backends/drm/egl_gbm_backend.cpp index c159281ad2..e81c369bda 100644 --- a/src/backends/drm/egl_gbm_backend.cpp +++ b/src/backends/drm/egl_gbm_backend.cpp @@ -633,6 +633,11 @@ void EglGbmBackend::updateBufferAge(Output &output, const QRegion &dirty) bool EglGbmBackend::scanout(AbstractOutput *drmOutput, SurfaceItem *surfaceItem) { + static bool valid; + static const bool directScanoutDisabled = qEnvironmentVariableIntValue("KWIN_DRM_NO_DIRECT_SCANOUT", &valid) == 1 && valid; + if (directScanoutDisabled) { + return false; + } Q_ASSERT(m_outputs.contains(drmOutput)); SurfaceItemWayland *item = qobject_cast(surfaceItem); if (!item) {