ci: fix lavapipe adapter discovery in the GPU Render job (F-014)

The first run showed lavapipe installed and visible to vulkaninfo
(DRIVER_ID_MESA_LLVMPIPE), but the render tests still found no wgpu
adapter and — correctly — hard-failed under PMACS_REQUIRE_GPU. Cause:
VK_ICD_FILENAMES pinned an ICD path that doesn't match the runner, which
overrides the loader's default discovery and hides every ICD. Drop it and
rely on default discovery (which vulkaninfo uses); also `ls` the icd.d
dir for future debugging.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014TXbAwk27agwhrNNrhLi2U
This commit is contained in:
Levi Neuwirth 2026-07-03 12:55:29 -04:00
parent 68542adaa5
commit 6d0cdfe0f5
1 changed files with 9 additions and 5 deletions

View File

@ -57,14 +57,18 @@ jobs:
sudo apt-get update
sudo apt-get install -y mesa-vulkan-drivers vulkan-tools
- name: Confirm a Vulkan adapter is present
run: vulkaninfo --summary || true
run: |
ls -la /usr/share/vulkan/icd.d/ || true
vulkaninfo --summary || true
- name: pmacs-gpu tests (render harness included)
env:
# Force the Vulkan backend + lavapipe ICD so wgpu finds the
# software adapter; PMACS_REQUIRE_GPU turns a missing adapter
# into a hard failure so a broken setup can't pass as skipped.
# Force the Vulkan backend so wgpu uses lavapipe. Do NOT set
# VK_ICD_FILENAMES — the loader's default ICD discovery already
# finds lavapipe (vulkaninfo above proves it), and pinning a
# path that doesn't match the runner hides every ICD. The
# PMACS_REQUIRE_GPU guard turns a missing adapter into a hard
# failure so a broken setup can't pass as a silent skip.
WGPU_BACKEND: vulkan
VK_ICD_FILENAMES: /usr/share/vulkan/icd.d/lvp_icd.x86_64.json
LIBGL_ALWAYS_SOFTWARE: "1"
PMACS_REQUIRE_GPU: "1"
run: cargo test -p pmacs-gpu -- --test-threads=1