Run CI on a WSL2 runner with the RTX 4070 (#283)
stein2 should stop carrying the full e2e run. The new runner lives in the WSL2 distro game-maker-ci on melektaus-atx and uses the same image and fonts. Its GPU sits behind /dev/dxg and Mesa's d3d12 driver, which headless chromium cannot reach, so the harness gets a second way to start the browser. - GAME_MAKER_BROWSER=wsl starts an invisible Xvfb and an X11 chromium on ANGLE/GL. Without the variable, stein2 keeps the headless Vulkan launch exactly as before. - The harness logs the renderer and stops on software rendering. Under WSL a missing d3d12 driver falls back to llvmpipe, which still offers WebGL 2 and would pass unnoticed. - The CI image gains xvfb. The font set is unchanged: fc-list gives the same 149 fonts with the same hash. - ci.yml runs both jobs on the new label game-maker-wsl. The stein2 runner keeps game-maker-ci, so moving back is one line per job. Findings: - Wayland on weston reached the GPU too, but drew at about 40 fps and let the editor clock stall in long runs (GM_STEPS=1-17: 2 failed). - Vulkan through a self-built dzn caps ANGLE at ES 2.0 because VK_EXT_provoking_vertex is missing, so chromium drops the GPU. - The flaky check in e2e 41 (#282) fails more often under WSL: two of three solo runs were red. Tests: - ./check.sh: 195 files, 2823 tests passed - WSL container, GM_STEPS=1-17: ALL PASSED, 553 checks - WSL container, full run: 1589 of 1590, the one FAIL is #282 - WSL container, smokes: 24 / 19 / 21 checks - stein2 headless, e2e 39+40: ALL PASSED, 100 checks Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
9b5eeaab57
commit
857e23c69b
4 files changed
+125
-21
No files matched your search
@@ -10,11 +10,14 @@ FROM node:22-bookworm
|
||||
# chromium + the Vulkan drivers: the e2e harness starts chromium with --use-angle=vulkan and has
|
||||
# no software fallback. The render device itself comes from the runner's container.options;
|
||||
# without it chromium falls back to llvmpipe and gets WebGL 1.0 only.
|
||||
# xvfb serves the other GPU path, GAME_MAKER_BROWSER=wsl (tools/lib/browser.mjs): under WSL2 the
|
||||
# GPU is /dev/dxg behind Mesa's d3d12 driver, which headless chromium cannot reach, an X11 one can.
|
||||
# php-cli serves api/index.php, which every tool loads and saves its project through.
|
||||
# The fonts are the host's set on purpose: the checks measure text widths to find click points,
|
||||
# so a different set moves them.
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
chromium mesa-vulkan-drivers libvulkan1 \
|
||||
xvfb \
|
||||
php-cli php-mbstring \
|
||||
fonts-dejavu-core fonts-droid-fallback fonts-noto-color-emoji fonts-noto-mono \
|
||||
fonts-texgyre fonts-urw-base35 \
|
||||
|
||||
Reference in new issue
Block a user