diff --git a/Dockerfile b/Dockerfile index 15f25c3d1..b66912514 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,7 +3,6 @@ ARG GO_VERSION=1.24 ARG LLAMA_SERVER_VERSION=latest ARG LLAMA_SERVER_VARIANT=cpu -ARG TARGETARCH=${BUILDARCH} ARG LLAMA_BINARY_PATH=/com.docker.llama-server.native.linux.${LLAMA_SERVER_VARIANT}.${TARGETARCH} ARG BASE_IMAGE=ubuntu:24.04 diff --git a/scripts/apt-install.sh b/scripts/apt-install.sh index a7e190f81..34ce7af90 100755 --- a/scripts/apt-install.sh +++ b/scripts/apt-install.sh @@ -10,10 +10,25 @@ main() { local vulkan_version=1.4.321.1 local arch arch=$(uname -m) + apt-get install -y wget xz-utils wget -qO /tmp/vulkan-sdk.tar.xz https://sdk.lunarg.com/sdk/download/$vulkan_version/linux/vulkan-sdk-linux-"$arch"-$vulkan_version.tar.xz mkdir -p /opt/vulkan - tar -xf /tmp/vulkan-sdk.tar.xz -C /tmp --strip-components=1 - mv /tmp/"$arch"/* /opt/vulkan/ + tar -xf /tmp/vulkan-sdk.tar.xz -C /tmp + + if [ "$arch" != "x86_64" ]; then + # TODO: uninstall build time deps after building the SDK + apt-get install -y libglm-dev cmake libxcb-dri3-0 libxcb-present0 libpciaccess0 \ + libpng-dev libxcb-keysyms1-dev libxcb-dri3-dev libx11-dev g++ gcc \ + libwayland-dev libxrandr-dev libxcb-randr0-dev libxcb-ewmh-dev \ + git python-is-python3 bison libx11-xcb-dev liblz4-dev libzstd-dev \ + ocaml-core ninja-build pkg-config libxml2-dev wayland-protocols python3-jsonschema \ + clang-format qtbase5-dev qt6-base-dev + pushd /tmp/"${vulkan_version}" + # TODO: we don't need the whole SDK to run stuff, so eventually only build necessary targets here + ./vulkansdk --no-deps -j "$(nproc)" + fi + + mv /tmp/"${vulkan_version}"/"$arch"/* /opt/vulkan/ rm -rf /tmp/* fi