docker/unified: vulkan build fixes (#600)

multiple fixes to vulkan build: 

- use ubuntu 26.04 to be compatible with AMD 395+ (Strix halo) hardware
- add home directory in container 
- fix stable-diffusion install to actually enable vulkan

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Benson Wong
2026-03-25 23:26:13 +09:00
committed by GitHub
parent e5e7391b6d
commit 8fabc75634
3 changed files with 22 additions and 11 deletions
+16 -1
View File
@@ -22,6 +22,16 @@ on:
description: "llama-swap version (e.g. v198, latest, main)"
required: false
default: "main"
build_cuda:
description: "Build CUDA image"
type: boolean
required: false
default: true
build_vulkan:
description: "Build Vulkan image"
type: boolean
required: false
default: true
permissions:
contents: read
@@ -33,7 +43,12 @@ jobs:
strategy:
fail-fast: false
matrix:
backend: [cuda, vulkan]
backend:
- cuda
- vulkan
exclude:
- backend: ${{ inputs.build_cuda == false && 'cuda' || 'none' }}
- backend: ${{ inputs.build_vulkan == false && 'vulkan' || 'none' }}
steps:
- name: Checkout code
uses: actions/checkout@v4
+5 -10
View File
@@ -29,7 +29,7 @@ WORKDIR /build
# ──
FROM ubuntu:22.04 AS builder-base-vulkan
FROM ubuntu:26.04 AS builder-base-vulkan
ENV DEBIAN_FRONTEND=noninteractive
ENV CCACHE_DIR=/ccache
@@ -39,12 +39,7 @@ ENV PATH="/usr/lib/ccache:${PATH}"
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential cmake git python3 python3-pip libssl-dev \
curl ca-certificates ccache make wget software-properties-common \
&& rm -rf /var/lib/apt/lists/*
# Install LunarG Vulkan SDK (Ubuntu 22.04 repo headers are too old)
RUN wget -qO /etc/apt/trusted.gpg.d/lunarg.asc https://packages.lunarg.com/lunarg-signing-key-pub.asc \
&& echo "deb https://packages.lunarg.com/vulkan jammy main" > /etc/apt/sources.list.d/lunarg-vulkan.list \
&& apt-get update && apt-get install -y --no-install-recommends vulkan-sdk \
libvulkan-dev glslang-tools spirv-tools vulkan-validationlayers glslc \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /build
@@ -108,7 +103,7 @@ COPY --from=builder-base-cuda /usr/local/cuda/lib64/stubs/libcuda.so /usr/local/
# ──
FROM ubuntu:22.04 AS runtime-vulkan
FROM ubuntu:26.04 AS runtime-vulkan
ENV DEBIAN_FRONTEND=noninteractive
ENV PATH="/usr/local/bin:${PATH}"
@@ -127,10 +122,10 @@ ARG LLAMA_COMMIT_HASH=unknown
ARG WHISPER_COMMIT_HASH=unknown
ARG SD_COMMIT_HASH=unknown
RUN pip3 install --no-cache-dir numpy sentencepiece
RUN pip3 install --no-cache-dir --break-system-packages numpy sentencepiece
# Create llama-swap user and config directory
RUN useradd --system --no-create-home --shell /sbin/nologin llama-swap && \
RUN useradd --system --create-home --shell /sbin/nologin llama-swap && \
mkdir -p /etc/llama-swap/config && \
chown -R llama-swap:llama-swap /etc/llama-swap
+1
View File
@@ -43,6 +43,7 @@ elif [ "$BACKEND" = "vulkan" ]; then
CMAKE_FLAGS+=(
-DGGML_CUDA=OFF
-DGGML_VULKAN=ON
-DSD_VULKAN=ON
)
fi