ci: build Vulkan on Ubuntu with default packages #16532
Merged
+33
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR introduces a GitHub action building the Vulkan backend on Ubuntu using the default distribution packages. The goal is to be closer to the official Debian packaging of ggml and llama.cpp (which will be used by Ubuntu at some point) and also to test against an older, but still in use, version of Vulkan (v1.3).
I am co-maintainer (with @ckastner) of the official Debian packages for ggml and llama.cpp. I have contributed the packaging of the ggml Vulkan backend, and I am therefore following more closely its portability. We regularly face issues [e.g. 1, 2, 3] on Debian 12/bookworm, which is still widely used, because it is using Vulkan v1.3, as is also the case of Ubuntu 24.04.
As we plan to soon provide backported ggml and llama.cpp packages for bookworm (until August 2026), it would be great if such compatibility issues could be caught directly during llama.cpp development. Otherwise we only notice them when the code gets merged into the ggml repository and when we then update the packages (which can take weeks).
Moreover, at some point these Debian packages will likely also become the Ubuntu packages, so it would be useful long-term to have a straightforward build based on Ubuntu's Vulkan packages, in addition to the build based on the downloaded latest Vulkan SDK.
Dynamic backend loading and all CPU variants is enabled in this build, as is the case in the official Debian packages, but this could be disabled in order to make the build a bit faster.
[1] #11117
[2] #15939
[3] #16345