Wayland (#8)
Docker Builders / build-base-builder (push) Successful in 16s
Docker Builders / build-cpp-builder (push) Successful in 3m33s

Reviewed-on: #8
This commit was merged in pull request #8.
This commit is contained in:
2026-09-11 20:24:09 +00:00
parent 5f598b22af
commit 03b19ccd1d
2 changed files with 24 additions and 0 deletions
+13
View File
@@ -5,13 +5,26 @@ FROM $BASE_BUILDER
RUN apt-get update && apt-get install -y \
build-essential \
git \
libwayland-dev \
libxkbcommon-dev \
lsb-release \
pkg-config \
software-properties-common \
wayland-protocols \
weston \
xvfb
ENV PATH="/root/.local/bin:${PATH}"
# Headless Wayland test setup: a pre-created, correctly-permissioned XDG_RUNTIME_DIR (required
# by Wayland clients/compositors) plus a weston-run wrapper mirroring xvfb-run's ergonomics -
# starts Weston's headless backend, runs the given command against it, then tears it down.
RUN mkdir -p -m 700 /tmp/xdg-runtime
ENV XDG_RUNTIME_DIR=/tmp/xdg-runtime
COPY weston-run /usr/local/bin/weston-run
RUN chmod +x /usr/local/bin/weston-run
# Install LLVM 22 and symlink tools
RUN wget https://apt.llvm.org/llvm.sh -O /tmp/llvm.sh \
&& chmod +x /tmp/llvm.sh \
+11
View File
@@ -0,0 +1,11 @@
#!/bin/bash
# Runs the given command against a headless Weston compositor, mirroring xvfb-run's ergonomics
# for Wayland. Usage: weston-run <command> [args...]
weston --backend=headless-backend.so --shell=kiosk-shell.so --socket=wayland-headless &
WESTON_PID=$!
sleep 1
WAYLAND_DISPLAY=wayland-headless "$@"
STATUS=$?
kill "$WESTON_PID" 2>/dev/null
wait "$WESTON_PID" 2>/dev/null
exit "$STATUS"