diff options
authorDominik Holland <>2018-11-06 15:14:45 +0100
committerJani Heikkinen <>2019-01-08 16:35:40 +0000
commit280cc2befba99ffde25fe7c287174143a9539d32 (patch)
parent6258c4994200348220be6f35667a2c0f4b705539 (diff)
Fix flickering (black frames) of wayland clients on NVIDIA
When using the threaded render loop rendering the texture we acquired from the eglstream is done in a different thread. This rendering needs to be finished before the next acquire call for the eglstream is done otherwise we might end up rendering a broken (black) frame and see the client flicker. To fix this, make sure to send the frame callbacks after the rendering was completed and not before the rendering starts. Change-Id: I5a75914d14d2df7fa8b6bbd526f87e3ef6208cd6 Task-number: QTBUG-71697 Reviewed-by: Paul Olav Tvete <>
1 files changed, 1 insertions, 1 deletions
diff --git a/src/compositor/compositor_api/qwaylandquickoutput.cpp b/src/compositor/compositor_api/qwaylandquickoutput.cpp
index 79e4fdec..c6294eea 100644
--- a/src/compositor/compositor_api/qwaylandquickoutput.cpp
+++ b/src/compositor/compositor_api/qwaylandquickoutput.cpp
@@ -66,7 +66,7 @@ void QWaylandQuickOutput::initialize()
this, &QWaylandQuickOutput::updateStarted,
- connect(quickWindow, &QQuickWindow::beforeRendering,
+ connect(quickWindow, &QQuickWindow::afterRendering,
this, &QWaylandQuickOutput::doFrameCallbacks);