diff --git a/src/backends/drm/drm_gpu.cpp b/src/backends/drm/drm_gpu.cpp index e08ba399bc..e316334a0b 100644 --- a/src/backends/drm/drm_gpu.cpp +++ b/src/backends/drm/drm_gpu.cpp @@ -733,6 +733,8 @@ bool DrmGpu::maybeModeset() // commit only once all pipelines are ready for presentation return true; } + // make sure there's no pending pageflips + waitIdle(); const bool ok = DrmPipeline::commitPipelines(pipelines, DrmPipeline::CommitMode::CommitModeset, unusedObjects()); for (DrmPipeline *pipeline : qAsConst(pipelines)) { if (pipeline->modesetPresentPending()) {