atagen

monolith

public
Star0
Watch0

Commit 170224f94850

tarball

atagen <boss@atagen.co>2026-10-19 10:44 UTC

1 file changed+3-0
drm: drain the flip left in flight by a session pause

ActivateSession reset Surface::queued but left the DrmCompositor's pending_frame, so the first queue_frame after a VT switch was parked as queued_frame and only went out when the 100 ms flip watchdog called frame_submitted.
Modified file: crates/monolith/src/drm.rs+3 additions
@@ -227,6 +227,9 @@ pub fn init(
227227 if let Some(token) = s.scheduled.take() {
228228 drm.handle.remove(token);
229229 }
230+ if let Err(e) = s.drm.frame_submitted() {
231+ tracing::warn!("could not drop the flip left over from the pause: {e}");
232+ }
230233 s.queued = false;
231234 s.last_vblank_ns = None;
232235 s.target_ns = None;