Files
rocm/blender.dockerfile
T
2024-09-12 09:41:47 -07:00

42 lines
1.3 KiB
Docker

ARG ROCM_VERSION="5.7.3"
FROM wtongze/rocm-base:${ROCM_VERSION}
ARG HIP_ARCH="gfx803;gfx900"
ARG BLENDER_BRANCH="v3.6.15"
ARG DEBIAN_FRONTEND="noninteractive"
# Add GPU target
RUN echo "${HIP_ARCH}" | sed 's/;/\n/g' | sudo tee /opt/rocm/bin/target.lst
RUN sudo apt-get update && \
sudo apt-get install -y python3 git git-lfs
WORKDIR /home/rocm
RUN git clone --depth 1 https://projects.blender.org/blender/blender.git -b ${BLENDER_BRANCH} && \
mkdir blender/build
WORKDIR /home/rocm/blender
RUN ./build_files/build_environment/install_linux_packages.py
RUN ./build_files/utils/make_update.py --use-linux-libraries
RUN sudo apt-get clean && sudo rm -rf /var/lib/apt/lists/*
# > Ref: https://github.com/xuhuisheng/rocm-gfx803/blob/master/blender.md
# inline broken on blender 4+
RUN sed -i 's/__noinline__/__inline__/g' intern/cycles/kernel/device/hip/compat.h
RUN sed -i 's/major >= 9/major >= 8/g' intern/cycles/device/hip/util.h
RUN sed -i 's/HIP 5.5.0/HIP 5.4.0/g' intern/cycles/cmake/external_libs.cmake
WORKDIR /home/rocm/blender/build
RUN cmake \
-DWITH_CYCLES_HIP_BINARIES=ON \
-DCYCLES_HIP_BINARIES_ARCH=${HIP_ARCH} \
..
RUN make -j$(nproc)
RUN cpack -G TXZ
RUN cp $(ls -l blender*.tar.xz | awk '{ print $9 }' | tail -n1 | tr -d '\n') /home/rocm/blender.tar.xz
CMD ["bash", "-l"]