FROM ubuntu-hlsdk # Avoid interactive prompts during package installation ENV DEBIAN_FRONTEND=noninteractive ENV VULKAN_SDK_VERSION=1.4.341.1 USER root RUN apt-get update && apt-get full-upgrade -y && apt-get autoremove -y # Install system dependencies and development packages RUN apt-get install --no-install-recommends --no-install-suggests -y \ 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 # 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 # Remove extra cache after all the installations RUN rm -rf /var/lib/apt/lists/* # Set working directory WORKDIR /build COPY build-and-test.sh /build/ # Switch to non-root user USER ubuntu # Default command WORKDIR /build CMD ["/build/build-and-test.sh"]