diff --git a/backend/drm/drm.c b/backend/drm/drm.c index 20e56318c..564a60e29 100644 --- a/backend/drm/drm.c +++ b/backend/drm/drm.c @@ -684,6 +684,12 @@ static bool drm_connector_test(struct wlr_output *output, struct wlr_drm_connector_state pending = {0}; drm_connector_state_init(&pending, conn, state); + if (state->allow_reconfiguration && !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)) {