From bd580a4a79bbd4859ad2ee3f0bbd33e5e158b5ad Mon Sep 17 00:00:00 2001 From: Jason Perlow Date: Thu, 17 Sep 2026 10:42:05 -0400 Subject: [PATCH] fix: force a frame on a fresh scene output so a replug rebinds the CRTC A fresh wlr_scene_output has needs_frame false, so lab_wlr_scene_output_commit() short-circuits and the atomic commit that binds a CRTC never reaches the kernel: black screen after a DP/HDMI replug. Scheduling a frame first makes the commit run. Rescoped per review onto current singularity: the unverified mode-test retry and its timer teardown are dropped entirely, leaving only the fix confirmed on hardware (O6N and MS-R1, repeated unplug/replug). Assisted-by: Claude Code:claude-opus-5 AI-Scope: Rescoped the branch to the single hardware-confirmed call, dropped the unverified retry machinery, and reduced the comment to one line. Signed-off-by: Jason Perlow --- src/output.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/output.c b/src/output.c index c25d04d3f6..6660375432 100644 --- a/src/output.c +++ b/src/output.c @@ -535,6 +535,8 @@ configure_new_output(struct output *output) * this commit must be called after the output is added to the * layout above. */ + /* A fresh scene_output has needs_frame false; the commit binds no CRTC. */ + wlr_output_schedule_frame(wlr_output); lab_wlr_scene_output_commit(output->scene_output, &output->pending); /*