diff --git a/backend/drm/drm.c b/backend/drm/drm.c index 3b0e6be1..65b116c7 100644 --- a/backend/drm/drm.c +++ b/backend/drm/drm.c @@ -682,12 +682,6 @@ static bool drm_connector_test(struct wlr_output *output, struct wlr_drm_connector_state pending = {0}; drm_connector_state_init(&pending, conn, state); - if (pending.active && !pending.primary_fb) { - wlr_drm_conn_log(conn, WLR_DEBUG, - "No primary frame buffer available for this connector"); - goto out; - } - if ((state->committed & WLR_OUTPUT_STATE_ADAPTIVE_SYNC_ENABLED) && state->adaptive_sync_enabled && !drm_connector_supports_vrr(conn)) { @@ -724,6 +718,12 @@ static bool drm_connector_test(struct wlr_output *output, } } + if (pending.active && !pending.primary_fb) { + wlr_drm_conn_log(conn, WLR_DEBUG, + "No primary frame buffer available for this connector"); + goto out; + } + ok = drm_crtc_commit(conn, &pending, 0, true); out: