From df45edb13d7d42bedd2429a1283e594ef4e7d419 Mon Sep 17 00:00:00 2001 From: Tommaso Bianchi Date: Sat, 22 Aug 2026 08:48:43 +0200 Subject: [PATCH] deps image: carry the rig's X runtime itself MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Building orcacad-deps from this Dockerfile removes the snaporca-deps base, which is the point (Trap 1: the old image's baked tree was project(Snapmaker_Orca)) — but that base was also where Xvfb, openbox, xdotool and scrot came from. Without them gui-session.sh reports display DOWN and orca-slicer dies with a trace trap on no display. Verified: the session now comes up with display up, wm up, and the Untitled - OrcaSlicer window present. --- scripts/Dockerfile.deps | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/scripts/Dockerfile.deps b/scripts/Dockerfile.deps index d5d89773fd..8d87df70de 100644 --- a/scripts/Dockerfile.deps +++ b/scripts/Dockerfile.deps @@ -78,3 +78,18 @@ RUN ./build_linux.sh -dr -j 12 # without this symlink a rebuild on the new image reconfigures from scratch — hours of compile # to change one directory name. Same tree, two names. RUN ln -sfn /OrcaSlicer/deps/build/OrcaSlicer_dep /OrcaSlicer/deps/build/destdir + +# The rig's GUI runtime. This used to arrive for free because orcacad-deps was layered on +# snaporca-deps; that lineage is Trap 1 in docs/rig_build_traps.md (a baked project(Snapmaker_Orca) +# tree) and building from this Dockerfile is what removes it — along with the X stack the rig +# needs. scripts/gui-session.sh requires Xvfb and openbox (without a window manager `xdotool +# windowactivate` aborts with "windowmanager claims not to support..."), drives the UI with +# xdotool, and captures to /shots with scrot/ImageMagick. Same set snaporca-deps carries. +RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ + imagemagick \ + openbox \ + scrot \ + xauth \ + xdotool \ + xvfb \ + && rm -rf /var/lib/apt/lists/*