2026-04-08 01:17:49 -04:00
|
|
|
FROM ubuntu-hlsdk
|
2026-04-07 17:51:32 -04:00
|
|
|
|
|
|
|
|
# Avoid interactive prompts during package installation
|
|
|
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
2026-04-22 08:18:46 -04:00
|
|
|
ENV VULKAN_SDK_VERSION=1.4.341.1
|
2026-04-07 17:51:32 -04:00
|
|
|
|
2026-04-08 01:17:49 -04:00
|
|
|
USER root
|
|
|
|
|
|
2026-04-22 08:18:46 -04:00
|
|
|
RUN apt-get update && apt-get full-upgrade -y && apt-get autoremove -y
|
2026-04-07 17:51:32 -04:00
|
|
|
|
|
|
|
|
# Install system dependencies and development packages
|
2026-04-22 08:18:46 -04:00
|
|
|
RUN apt-get install --no-install-recommends --no-install-suggests -y \
|
2026-04-07 17:51:32 -04:00
|
|
|
libsdl2-dev \
|
|
|
|
|
libfreetype-dev \
|
|
|
|
|
\
|
|
|
|
|
# FFmpeg development packages
|
|
|
|
|
libavcodec-dev \
|
|
|
|
|
libavformat-dev \
|
|
|
|
|
libavutil-dev \
|
|
|
|
|
libavfilter-dev \
|
|
|
|
|
libavdevice-dev \
|
|
|
|
|
libswscale-dev \
|
|
|
|
|
libswresample-dev \
|
|
|
|
|
libpostproc-dev \
|
|
|
|
|
ffmpeg \
|
|
|
|
|
\
|
|
|
|
|
# Running render tests
|
|
|
|
|
weston \
|
|
|
|
|
libgl1-mesa-dri \
|
|
|
|
|
mesa-vulkan-drivers \
|
|
|
|
|
libvulkan1 \
|
|
|
|
|
imagemagick
|
|
|
|
|
|
2026-04-22 08:18:46 -04:00
|
|
|
# Install Vulkan SDK runtime dependencies only
|
|
|
|
|
#RUN apt-get update && apt-get install -y \
|
|
|
|
|
# libxcb-xinput0 libxcb-xinerama0 libxcb-cursor-dev
|
|
|
|
|
|
|
|
|
|
# Install Vulkan SDK
|
|
|
|
|
RUN mkdir -p /opt/VulkanSDK && wget -qO- \
|
|
|
|
|
https://sdk.lunarg.com/sdk/download/${VULKAN_SDK_VERSION}/linux/vulkansdk-linux-x86_64-${VULKAN_SDK_VERSION}.tar.xz | \
|
|
|
|
|
tar -xJ -C /opt/VulkanSDK/
|
|
|
|
|
|
|
|
|
|
ENV VULKAN_SDK=/opt/VulkanSDK/${VULKAN_SDK_VERSION}/x86_64
|
|
|
|
|
ENV PATH=$VULKAN_SDK/bin:$PATH
|
|
|
|
|
ENV LD_LIBRARY_PATH="$VULKAN_SDK/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
|
|
|
|
|
ENV VK_ADD_LAYER_PATH="$VULKAN_SDK/share/vulkan/explicit_layer.d${VK_ADD_LAYER_PATH:+:$VK_ADD_LAYER_PATH}"
|
|
|
|
|
ENV PKG_CONFIG_PATH="$VULKAN_SDK/share/pkgconfig:$VULKAN_SDK/lib/pkgconfig${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH}"
|
|
|
|
|
|
|
|
|
|
# Common dev utils
|
|
|
|
|
RUN apt-get install --no-install-recommends --no-install-suggests -y \
|
|
|
|
|
ripgrep \
|
|
|
|
|
less \
|
|
|
|
|
fd-find
|
|
|
|
|
|
2026-04-07 17:51:32 -04:00
|
|
|
# Remove extra cache after all the installations
|
|
|
|
|
RUN rm -rf /var/lib/apt/lists/*
|
|
|
|
|
|
2026-04-08 01:17:49 -04:00
|
|
|
# Set working directory
|
|
|
|
|
WORKDIR /build
|
2026-04-07 17:51:32 -04:00
|
|
|
COPY build-and-test.sh /build/
|
|
|
|
|
|
|
|
|
|
# Switch to non-root user
|
|
|
|
|
USER ubuntu
|
|
|
|
|
|
|
|
|
|
# Default command
|
|
|
|
|
WORKDIR /build
|
|
|
|
|
CMD ["/build/build-and-test.sh"]
|