Skip to content

Commit 3315851

Browse files
committed
fix(workflow): ARM64 Vulkan dependencies from official llama.cpp workflow
1 parent 85e3cb2 commit 3315851

File tree

1 file changed

+17
-27
lines changed

1 file changed

+17
-27
lines changed

.github/workflows/main.yml

Lines changed: 17 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -165,33 +165,23 @@ jobs:
165165
- name: linux install vulkan (arm64)
166166
if: contains(matrix.name, 'vulkan') && matrix.arch == 'arm64'
167167
run: |
168-
sudo apt-get update -y
169-
sudo apt-get install -y mesa-vulkan-drivers vulkan-tools libvulkan-dev vulkan-validationlayers-dev spirv-tools
170-
# Try to install glslc from system packages first
171-
sudo apt-get install -y glslc || true
172-
# If glslc is not available, install from Vulkan SDK
173-
if ! which glslc; then
174-
# Install Vulkan SDK for ARM64
175-
wget -q https://sdk.lunarg.com/sdk/download/latest/linux/vulkan-sdk.tar.xz -O vulkan-sdk.tar.xz
176-
tar -xf vulkan-sdk.tar.xz
177-
SDK_DIR=$(ls -d 1.* | head -n1)
178-
if [ -d "$SDK_DIR" ]; then
179-
cd "$SDK_DIR"
180-
source setup-env.sh
181-
echo "VULKAN_SDK=$VULKAN_SDK" >> $GITHUB_ENV
182-
echo "PATH=$PATH" >> $GITHUB_ENV
183-
echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" >> $GITHUB_ENV
184-
echo "VK_ADD_LAYER_PATH=$VK_ADD_LAYER_PATH" >> $GITHUB_ENV
185-
else
186-
# Fallback: set basic Vulkan environment
187-
echo "VULKAN_SDK=/usr" >> $GITHUB_ENV
188-
echo "VK_LAYER_PATH=/usr/share/vulkan/explicit_layer.d" >> $GITHUB_ENV
189-
fi
190-
else
191-
# Use system installation
192-
echo "VULKAN_SDK=/usr" >> $GITHUB_ENV
193-
echo "VK_LAYER_PATH=/usr/share/vulkan/explicit_layer.d" >> $GITHUB_ENV
194-
fi
168+
sudo dpkg --add-architecture arm64
169+
170+
# Add arch-specific repositories for non-amd64 architectures
171+
cat << EOF | sudo tee /etc/apt/sources.list.d/arm64-ports.list
172+
deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ noble main universe
173+
deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ noble-updates main universe
174+
deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ noble-security main universe
175+
deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ noble-backports main universe
176+
EOF
177+
178+
sudo apt-get update || true ;# Prevent failure due to missing URLs.
179+
180+
sudo apt-get install -y --no-install-recommends \
181+
build-essential \
182+
glslc \
183+
crossbuild-essential-arm64 \
184+
libvulkan-dev:arm64
195185
196186
- name: windows build sqlite-ai
197187
if: matrix.name == 'windows'

0 commit comments

Comments
 (0)