From ea70d34d7f2c82883dfd2427f1e48125190ab2d0 Mon Sep 17 00:00:00 2001 From: Malin Date: Tue, 7 Apr 2026 10:13:08 +0200 Subject: [PATCH] =?UTF-8?q?fix:=20don't=20start=20Xvfb=20in=20start.sh=20?= =?UTF-8?q?=E2=80=94=20sitespeed.io=20manages=20its=20own?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Our start.sh was starting Xvfb on :99, then sitespeed.io tried to start its own on :99, failed with exit code 1, and Chrome couldn't get a working display. sitespeed.io is designed to manage Xvfb per test run. Co-Authored-By: Claude Sonnet 4.6 --- runner.js | 3 ++- start.sh | 7 ++----- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/runner.js b/runner.js index ae4b0cd..c45e759 100644 --- a/runner.js +++ b/runner.js @@ -31,7 +31,8 @@ export function runTest(job, onLine) { sitespeedArgs.push('--browsertime.chrome.args', 'disable-gpu'); } - const env = { ...process.env, DISPLAY: process.env.DISPLAY || ':99' }; + // Do not force DISPLAY — sitespeed.io starts and manages its own Xvfb + const env = { ...process.env }; let child; diff --git a/start.sh b/start.sh index 2150a7c..5a60ee7 100644 --- a/start.sh +++ b/start.sh @@ -8,10 +8,7 @@ fi echo "[start.sh] SITESPEED_BIN=${SITESPEED_BIN:-NOT FOUND}" -# Start virtual framebuffer so Chrome/Firefox have a display to render into -Xvfb :99 -ac -screen 0 1920x1080x24 +extension RANDR & -export DISPLAY=:99 - -sleep 1 +# Do NOT start Xvfb here — sitespeed.io starts its own Xvfb instance +# per test run. Starting one here causes a conflict on :99 and breaks Chrome. exec node /app/app.js