Wait for required PTY output in the GPU probe

Keep the real GPU/PTY acceptance probe running until the child output
that its report asserts has actually reached the terminal frame. This
closes the blank-last-frame race exposed by the v20-compatible handshake.
This commit is contained in:
Levi Neuwirth 2026-07-28 14:17:43 -04:00
parent ab7c207904
commit 9e20175dad
1 changed files with 9 additions and 1 deletions

View File

@ -857,7 +857,15 @@ fn run_headless_probe(socket: &Path, report: &Path) -> i32 {
facts.observed_resized_frame = true;
}
}
if !quiet && facts.observed_resized_frame && facts.rendered_nonuniform_frames >= 2 {
// Do not exit merely because resize/composition happened
// first: that races the PTY child's initial output and
// produces a self-contradictory "successful" probe report
// whose later acceptance assertion must reject it.
if !quiet
&& facts.observed_resized_frame
&& facts.rendered_nonuniform_frames >= 2
&& facts.last_frame_text.contains("VTERMROW")
{
break;
}
}