From 651c876e79ffa7ec0f508a873d1fcf5a4d93b8cc Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Fri, 30 Sep 2022 13:35:07 +0200 Subject: [PATCH] backend/drm: fix missing wlr_output_state.allow_artifacts Without allow_artifacts, applying the new state will fail because it requires ALLOW_MODESET. Fixes VT switch and disabling CRTCs. --- backend/drm/backend.c | 1 + backend/drm/drm.c | 1 + 2 files changed, 2 insertions(+) diff --git a/backend/drm/backend.c b/backend/drm/backend.c index e303bc8f..46f7f7b8 100644 --- a/backend/drm/backend.c +++ b/backend/drm/backend.c @@ -115,6 +115,7 @@ static void handle_session_active(struct wl_listener *listener, void *data) { } struct wlr_output_state state = { .committed = committed, + .allow_artifacts = true, .enabled = mode != NULL, .mode_type = WLR_OUTPUT_STATE_MODE_FIXED, .mode = mode, diff --git a/backend/drm/drm.c b/backend/drm/drm.c index 2b09ca91..cddfdf13 100644 --- a/backend/drm/drm.c +++ b/backend/drm/drm.c @@ -1050,6 +1050,7 @@ static void dealloc_crtc(struct wlr_drm_connector *conn) { struct wlr_output_state output_state = { .committed = WLR_OUTPUT_STATE_ENABLED, + .allow_artifacts = true, .enabled = false, }; struct wlr_drm_connector_state conn_state = {0};