@@ -2,14 +2,30 @@ ARG UBUNTU_VERSION=24.04
2
2
3
3
FROM ubuntu:$UBUNTU_VERSION AS build
4
4
5
- # Install build tools
6
- RUN apt update && apt install -y git build-essential cmake wget
5
+ # Ref: https://vulkan.lunarg.com/doc/sdk/latest/linux/getting_started.html
7
6
8
- # Install Vulkan SDK and cURL
9
- RUN wget -qO - https://packages.lunarg.com/lunarg-signing-key-pub.asc | apt-key add - && \
10
- wget -qO /etc/apt/sources.list.d/lunarg-vulkan-noble.list https://packages.lunarg.com/vulkan/lunarg-vulkan-noble.list && \
11
- apt update -y && \
12
- apt-get install -y vulkan-sdk libcurl4-openssl-dev curl
7
+ # Install build tools
8
+ RUN apt update && apt install -y git build-essential cmake wget xz-utils
9
+
10
+ # Install Vulkan SDK
11
+ ARG VULKAN_VERSION=1.4.321.1
12
+ RUN ARCH=$(uname -m) && \
13
+ wget -qO /tmp/vulkan-sdk.tar.xz https://sdk.lunarg.com/sdk/download/${VULKAN_VERSION}/linux/vulkan-sdk-linux-${ARCH}-${VULKAN_VERSION}.tar.xz && \
14
+ mkdir -p /opt/vulkan && \
15
+ tar -xf /tmp/vulkan-sdk.tar.xz -C /tmp --strip-components=1 && \
16
+ mv /tmp/${ARCH}/* /opt/vulkan/ && \
17
+ rm -rf /tmp/*
18
+
19
+ # Install cURL and Vulkan SDK dependencies
20
+ RUN apt install -y libcurl4-openssl-dev curl \
21
+ libxcb-xinput0 libxcb-xinerama0 libxcb-cursor-dev
22
+
23
+ # Set environment variables
24
+ ENV VULKAN_SDK=/opt/vulkan
25
+ ENV PATH=$VULKAN_SDK/bin:$PATH
26
+ ENV LD_LIBRARY_PATH=$VULKAN_SDK/lib:$LD_LIBRARY_PATH
27
+ ENV CMAKE_PREFIX_PATH=$VULKAN_SDK:$CMAKE_PREFIX_PATH
28
+ ENV PKG_CONFIG_PATH=$VULKAN_SDK/lib/pkgconfig:$PKG_CONFIG_PATH
13
29
14
30
# Build it
15
31
WORKDIR /app
0 commit comments