diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp index 2bd3c0f0..8102509d 100644 --- a/src/render/Renderer.cpp +++ b/src/render/Renderer.cpp @@ -665,6 +665,9 @@ bool CHyprRenderer::attemptDirectScanout(CMonitor* pMonitor) { if (!pMonitor->mirrors.empty() || pMonitor->isMirror() || m_bDirectScanoutBlocked) return false; // do not DS if this monitor is being mirrored. Will break the functionality. + if (!wlr_output_is_direct_scanout_allowed(pMonitor->output)) + return false; + const auto PWORKSPACE = g_pCompositor->getWorkspaceByID(pMonitor->activeWorkspace); if (!PWORKSPACE || !PWORKSPACE->m_bHasFullscreenWindow || g_pInputManager->m_sDrag.drag || g_pCompositor->m_sSeat.exclusiveClient || pMonitor->specialWorkspaceID) diff --git a/subprojects/wlroots b/subprojects/wlroots index 835208db..7abda952 160000 --- a/subprojects/wlroots +++ b/subprojects/wlroots @@ -1 +1 @@ -Subproject commit 835208db98a29431fa687c9506f4b43fe645ff65 +Subproject commit 7abda952d0000b72d240fe1d41457b9288f0b6e5