https://bugs.kde.org/show_bug.cgi?id=483240
--- Comment #5 from fililip <[email protected]> --- I managed to add an option to override this behavior with an environment variable, LFC finally works as it did before. diff --git a/src/core/renderloop.cpp b/src/core/renderloop.cpp index 5e3a74c..de7b7d3 100644 --- a/src/core/renderloop.cpp +++ b/src/core/renderloop.cpp @@ -201,10 +201,12 @@ void RenderLoop::scheduleRepaint(Item *item) if (d->pendingRepaint) { return; } + bool isEnvVarSet = false; + const bool forceKernelLFC = qEnvironmentVariableIntValue("KWIN_FORCE_KERNEL_LFC", &isEnvVarSet) != 0 && isEnvVarSet; const bool vrr = d->presentationMode == PresentationMode::AdaptiveSync || d->presentationMode == PresentationMode::AdaptiveAsync; if (vrr && workspace()->activeWindow() && d->output) { Window *const activeWindow = workspace()->activeWindow(); - if (activeWindow->isOnOutput(d->output) && activeWindow->surfaceItem() && item != activeWindow->surfaceItem() && activeWindow->surfaceItem()->frameTimeEstimation() <= std::chrono::nanoseconds(1'000'000'000) / 30) { + if (activeWindow->isOnOutput(d->output) && activeWindow->surfaceItem() && item != activeWindow->surfaceItem() && !forceKernelLFC && activeWindow->surfaceItem()->frameTimeEstimation() <= std::chrono::nanoseconds(1'000'000'000) / 30) { return; } } -- You are receiving this mail because: You are watching all bug changes.
