Linux P0 probe was failing with `GLXBadWindow` because: - bare `xvfb-run` brings up Xvfb with default args (no `+extension GLX`); the X server then advertises no GLX FBConfigs, so winit's X11 backend fails when glutin tries to create a GL window. - the runner has no GPU, so even with GLX enabled mesa would not pick a hardware visual; without a software fallback configured glutin cannot resolve `ContextApi::OpenGl`. Fix: - pass `xvfb-run -s "-screen 0 1280x1024x24 +extension GLX +render -noreset"` so Xvfb advertises a 24-bit GLX-capable visual. - set `LIBGL_ALWAYS_SOFTWARE=1`, `GALLIUM_DRIVER=llvmpipe`, and `MESA_GL_VERSION_OVERRIDE=4.5` so mesa loads llvmpipe (CPU rasterizer) and reports a desktop-GL version high enough for skia. These env vars propagate naturally from the workflow shell down through xvfb-run → cargo → the spawned `cargo run --example p0_probe` subprocess (probe runs each verification in a fresh process so winit's EventLoop singleton guard doesn't trip). |
||
|---|---|---|
| .. | ||
| build-electron.yml | ||
| ci.yml | ||
| docker.yml | ||
| publish-cli.yml | ||
| rust-check.yml | ||
| wasm-bundle-check.yml | ||