Releases: alx/runsplat
Release list
v0.3.3
v0.3.2 — RunPod serverless complete
Changes
- Dockerfile: add
runpodSDK to pip install (was missing — caused import error at container startup) - handler.py: read
TRAINING_STEPS/MATCHING_TYPEenv vars set via RunPod Hub config; forward--matchingto pipeline; stream pipeline stdout+stderr live viaPopen(no more silent 10–60 min jobs) - scripts/test_runpod.sh: new script to test a deployed RunPod endpoint via API — submits job, polls status, validates
ply_base64, saves decoded PLY locally - .runpod/tests.json: expand
allowedCudaVersionsto12.4–12.9(was12.9only); bump test timeout to 900 s to absorb cold-start Vulkan init
v0.4.0 — Three-repo architecture + frontmarket site
Architecture refactor.
Dockerfile now pulls compiled COLMAP and Brush binaries from upstream images:
ghcr.io/alx/colmap-serverless:latest— COLMAP 4.0.3, built from sourceghcr.io/alx/brush-serverless:latest— Brush (main), built from source
allowedCudaVersions broadened to 12.4–12.9 (was 12.9 only), matching the upstream images built on CUDA 12.4.1 (minimum for ubuntu24.04).
New:
scripts/test_local_colmap.shandscripts/test_local_brush.shdocs/frontmarket/Hugo marketing site → https://alx.github.io/runsplat/.github/workflows/frontmarket.yml— deploys frontmarket to gh-pages on push
Companion repos:
v0.3.1 — Fix allowedCudaVersions format
Use "12.9" instead of "12.9.3" in .runpod/hub.json and .runpod/tests.json.
v0.3.0 — Fix CUDA version requirement
fix: allowed cuda 12.9.3
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.
v0.2.9 — Fix CUDA version requirement
fix: force CUDA 12.9 to allowedCudaVersions
v0.2.8 — Fix CUDA version requirement
Add 12.9 to allowedCudaVersions in both .runpod/hub.json and .runpod/tests.json. The colmap/colmap:latest image requires cuda>=12.9; without this, RunPod was scheduling pods on hosts with older drivers, causing the OCI runtime error.
v0.2.7 — Single-stage Dockerfile
Remove separate brush-builder stage; brush binary is now downloaded directly in the runtime stage alongside apt packages.
v0.2.6 — Use pre-built COLMAP image
Changes
Both build stages are now pre-built binaries — no C++ or Rust compilation happens during the Docker build:
- brush: downloaded from ArthurBrussee/brush v0.3.0 (SHA256 verified)
- COLMAP: runtime image rebased on
colmap/colmap:latest(v4.0.3, CUDA 12.9.1), which ships the binary and all ~200 runtime dependencies
Build time drops from ~15+ minutes to under 2 minutes. The OOM-kill issue is fully resolved.