v0.2.9 — Fix brush SIGSEGV on headless server
Fix
brush (built with eframe/wgpu) crashed with SIGSEGV ~28s after launch on every run. Root cause: the binary requires a display connection on Linux even in headless training mode — without DISPLAY set, Vulkan/X11 surface initialization fails fatally.
Changes:
scripts/pipeline.py: wrap brush invocation withxvfb-run -ato provide a virtual X11 framebuffer. wgpu still uses the NVIDIA GPU for compute via Vulkan; only the window surface goes through Xvfb.Dockerfile: addxvfbpackage; create/usr/share/vulkan/icd.dand/etc/vulkan/icd.ddirectories so the NVIDIA Container Toolkit can inject the Vulkan ICD at runtime.