From 8db5d67536c35892d235a7c9a5f55411ed471e17 Mon Sep 17 00:00:00 2001 From: Ettore Di Giacinto Date: Wed, 2 Jul 2025 15:23:01 +0200 Subject: [PATCH 1/3] chore(vulkan): enable arm64 image builds Signed-off-by: Ettore Di Giacinto --- .github/workflows/image-pr.yml | 2 +- .github/workflows/image.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/image-pr.yml b/.github/workflows/image-pr.yml index 0a3ed2708a6f..cfaf3e439f83 100644 --- a/.github/workflows/image-pr.yml +++ b/.github/workflows/image-pr.yml @@ -64,7 +64,7 @@ jobs: runs-on: 'ubuntu-latest' makeflags: "--jobs=3 --output-sync=target" - build-type: 'vulkan' - platforms: 'linux/amd64' + platforms: 'linux/amd64,linux/arm64' tag-latest: 'false' tag-suffix: '-vulkan-ffmpeg-core' ffmpeg: 'true' diff --git a/.github/workflows/image.yml b/.github/workflows/image.yml index 7339038c3583..1fb3ce0f8696 100644 --- a/.github/workflows/image.yml +++ b/.github/workflows/image.yml @@ -107,7 +107,7 @@ jobs: makeflags: "--jobs=4 --output-sync=target" aio: "-aio-gpu-nvidia-cuda-12" - build-type: 'vulkan' - platforms: 'linux/amd64' + platforms: 'linux/amd64,linux/arm64' tag-latest: 'auto' tag-suffix: '-vulkan' ffmpeg: 'true' From 60234390795dffbb69eaaadef4f0308e6ff3f1c8 Mon Sep 17 00:00:00 2001 From: Ettore Di Giacinto Date: Fri, 4 Jul 2025 18:59:38 +0200 Subject: [PATCH 2/3] build vulkan manually on arm64 Signed-off-by: Ettore Di Giacinto --- Dockerfile | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/Dockerfile b/Dockerfile index 1a3f92e5210f..b4a33dda23d9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -31,15 +31,27 @@ RUN < /run/localai/capability + software-properties-common pciutils wget gpg-agent curl xz-utils && \ + echo "vulkan" > /run/localai/capability && \ + if [ "amd64" = "$TARGETARCH" ]; then + wget -qO - https://packages.lunarg.com/lunarg-signing-key-pub.asc | apt-key add - && \ + wget -qO /etc/apt/sources.list.d/lunarg-vulkan-jammy.list https://packages.lunarg.com/vulkan/lunarg-vulkan-jammy.list && \ + apt-get update && \ + apt-get install -y \ + vulkan-sdk && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* + fi + if [ "arm64" = "$TARGETARCH" ]; then + # For ARM64, we need to build the Vulkan SDK manually as there are no packages available + mkdir vulkan && cd vulkan && curl -o vulkan-sdk.tar.xz https://sdk.lunarg.com/sdk/download/latest/linux/vulkan-sdk.tar.xz && \ + tar -xJf vulkan-sdk.tar.xz && \ + rm vulkan-sdk.tar.xz && \ + cd * && \ + ./vulkansdk -j 1 && \ + cd ../.. && \ + rm -rf vulkan + fi fi EOT From e69cbfc76da3cca3134dfd8486ded8ca1915a7e1 Mon Sep 17 00:00:00 2001 From: Ettore Di Giacinto Date: Sat, 5 Jul 2025 17:33:17 +0200 Subject: [PATCH 3/3] Vulkansdk needs sudo Signed-off-by: Ettore Di Giacinto --- Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index b4a33dda23d9..96b0d268fa3a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -31,7 +31,7 @@ RUN < /run/localai/capability && \ if [ "amd64" = "$TARGETARCH" ]; then wget -qO - https://packages.lunarg.com/lunarg-signing-key-pub.asc | apt-key add - && \ @@ -48,6 +48,7 @@ RUN <