From 49167a7adaad55fb3cbebcfc750127de111893b9 Mon Sep 17 00:00:00 2001 From: Harsh Kumar Date: Mon, 2 Mar 2026 23:31:11 +0530 Subject: [PATCH] Skip save_images on headless machines without display Resolves #3034 final_report.tcl only checks if OpenROAD was compiled with GUI support before calling gui::show to run save_images.tcl. On headless machines without a display, this causes a fatal crash (std::runtime_error abort from Qt platform plugin initialization). Add a DISPLAY environment check alongside the existing GUI compilation check so image generation is gracefully skipped on headless systems. Signed-off-by: Harsh Kumar Patwa Signed-off-by: Harsh Kumar --- flow/scripts/final_report.tcl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/flow/scripts/final_report.tcl b/flow/scripts/final_report.tcl index 928e92bf2b..48b30b74ff 100644 --- a/flow/scripts/final_report.tcl +++ b/flow/scripts/final_report.tcl @@ -64,6 +64,7 @@ report_cell_usage report_metrics 6 "finish" # Save a final image if openroad is compiled with the gui -if { [ord::openroad_gui_compiled] } { +# and a display is available (skip on headless machines) +if { [ord::openroad_gui_compiled] && [env_var_exists_and_non_empty DISPLAY] } { gui::show "source $::env(SCRIPTS_DIR)/save_images.tcl" false }