diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp index d98e32a9..37e6f81e 100644 --- a/src/render/Renderer.cpp +++ b/src/render/Renderer.cpp @@ -1507,6 +1507,9 @@ bool CHyprRenderer::commitPendingAndDoExplicitSync(PHLMONITOR pMonitor) { pMonitor->output->state->resetExplicitFences(); if (inFD >= 0) pMonitor->output->state->setExplicitInFence(inFD); + auto explicitOptions = getExplicitSyncSettings(); + if (explicitOptions.explicitEnabled && explicitOptions.explicitKMSEnabled) + pMonitor->output->state->enableExplicitOutFenceForNextCommit(); if (pMonitor->ctmUpdated) { pMonitor->ctmUpdated = false; @@ -1530,8 +1533,6 @@ bool CHyprRenderer::commitPendingAndDoExplicitSync(PHLMONITOR pMonitor) { } } - auto explicitOptions = getExplicitSyncSettings(); - if (!explicitOptions.explicitEnabled) return ok;