nytimes/rd-blender-docker

ARM architecture support

OkenKhuman opened this issue ยท 10 comments

I was trying to build the the image for RPi4b but unfortunately end up with error.

Please add build instruction/ images for ARM/v6

Hi @OkenKhuman - thanks for opening this issue. Mind providing a bit more information such as OS/Docker version/the errors you are seeing?

I'm very sorry for this late reply

The problem was on line no. 15/16

Step 14/16 : RUN rm -rf ${BLENDER_PATH}/python/lib/python3.7/site-packages/numpy
 ---> Running in 31ef2ef82f04
Removing intermediate container 31ef2ef82f04
 ---> 46302eb8e610
Step 15/16 : RUN ${BLENDERPY} -m ensurepip && ${BLENDERPIP} install --upgrade pip && ${BLENDERPIP} install numpy
 ---> Running in 1958f565d351
/lib64/ld-linux-x86-64.so.2: No such file or directory
The command '/bin/sh -c ${BLENDERPY} -m ensurepip && ${BLENDERPIP} install --upgrade pip && ${BLENDERPIP} install numpy' returned a non-zero code: 255

@juniorxsound I'm also trying to work with this image in the new macbook with M1 chip, and it's not possible.
Here is the problem:

WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested                                                
root@67afbba6b3d8:/app# blender -v
 ArchError: Could not find 'cpu MHz' in /proc/cpuinfo
  Function: Arch_InitTickTimer
      File: /home/blender/Developer/build_linux/deps/build/usd/src/external_usd/pxr/base/arch/timing.cpp
      Line: 133
qemu: uncaught target signal 6 (Aborted) - core dumped
Aborted
root@67afbba6b3d8:/app# 

Thanks for the info @agusmdev, hoping to try to find an M1 MB I can replicate this on - are you using Docker Apple Silicon Tech Preview?

Thanks for the info @agusmdev, hoping to try to find an M1 MB I can replicate this on - are you using Docker Apple Silicon Tech Preview?

Yes! exactly. I've tested several other things and docker itself seems to be working correctly, but I couldn't make blender work

Hi @agusmdev wanted to circle back on this and ask - we just published new images for Blender 2.93 would you be able to test these new images?

Thank you @juniorxsound for coming back, I tried to run with the new image but I wasn't able to do it, this is the error

root@f7edec092e56:/# blender -v ArchError: Could not find 'cpu MHz' in /proc/cpuinfo Function: Arch_InitTickTimer File: /home/sybren/buildbot-builder/linux_glibc217_x86_64_cmake/build_deps/deps/build/usd/src/external_usd/pxr/base/arch/timing.cpp Line: 133 qemu: uncaught target signal 6 (Aborted) - core dumped Aborted

Thanks @agusmdev. I am still trying to get a machine I can replicate this on - will keep you posted on progress.

I am trying to build Blender 2.93 on Nvidia Jetson Nano, it's simply failed when missing SSE2. It's not an easy task for porting blender to ARM for myself. And waiting is an option for me.
Finally, @juniorxsound excellent work for this repo.

-- Building OpenImageIO 2.1.15.0
-- CMake version is 3.21.3
-- Configuring OpenImageIO 2.1.15.0
-- CMake 3.21.3
-- CMake system           = Linux-4.9.201-tegra
-- CMake system name      = Linux
-- Project source dir     = /root/src/blender-deps/OpenImageIO-2.1.15.0
-- Project build dir      = /root/src/blender-deps/OpenImageIO-2.1.15.0/build
-- Project install prefix = /opt/lib/oiio-2.1
-- Configuration types    = 
-- Build type             = Release
-- Setting Namespace to: OpenImageIO_v2_1
-- CMAKE_CXX_COMPILER     = /usr/bin/c++
-- CMAKE_CXX_COMPILER_ID  = GNU
-- Building for C++11
-- Compiling with SIMD level sse2
-- Build files have been written to: /root/src/blender-deps/OpenImageIO-2.1.15.0/build
[  0%] Generating testsuite/runtest.py
[  1%] Building CXX object src/libutil/CMakeFiles/OpenImageIO_Util.dir/argparse.cpp.o
[  2%] Building CXX object src/libutil/CMakeFiles/OpenImageIO_Util.dir/benchmark.cpp.o
c++: error: unrecognized command-line option โ€˜-msse2โ€™
make[2]: *** [src/libutil/CMakeFiles/OpenImageIO_Util.dir/build.make:76: src/libutil/CMakeFiles/OpenImageIO_Util.dir/argparse.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
c++: error: unrecognized command-line option โ€˜-msse2โ€™
make[2]: *** [src/libutil/CMakeFiles/OpenImageIO_Util.dir/build.make:90: src/libutil/CMakeFiles/OpenImageIO_Util.dir/benchmark.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:945: src/libutil/CMakeFiles/OpenImageIO_Util.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

Updates:
But we can use Blender 2.82 on Ubuntu 20.04, just apt install -y blender

root@39caa5c62416:/# cat proc/cpuinfo 
processor       : 0
model name      : ARMv8 Processor rev 1 (v8l)
BogoMIPS        : 38.40
Features        : fp asimd evtstrm aes pmull sha1 sha2 crc32
CPU implementer : 0x41
CPU architecture: 8
CPU variant     : 0x1
CPU part        : 0xd07
CPU revision    : 1

processor       : 1
model name      : ARMv8 Processor rev 1 (v8l)
BogoMIPS        : 38.40
Features        : fp asimd evtstrm aes pmull sha1 sha2 crc32
CPU implementer : 0x41
CPU architecture: 8
CPU variant     : 0x1
CPU part        : 0xd07
CPU revision    : 1

processor       : 2
model name      : ARMv8 Processor rev 1 (v8l)
BogoMIPS        : 38.40
Features        : fp asimd evtstrm aes pmull sha1 sha2 crc32
CPU implementer : 0x41
CPU architecture: 8
CPU variant     : 0x1
CPU part        : 0xd07
CPU revision    : 1

processor       : 3
model name      : ARMv8 Processor rev 1 (v8l)
BogoMIPS        : 38.40
Features        : fp asimd evtstrm aes pmull sha1 sha2 crc32
CPU implementer : 0x41
CPU architecture: 8
CPU variant     : 0x1
CPU part        : 0xd07
CPU revision    : 1

root@39caa5c62416:/# blender --version
Blender 2.82 (sub 7)

Hello! First of all, thank you for such a fantastic project! I have the same problem. MBP M1 2020. any updates on this? I tried running 3.3.1-cpu-ubuntu18.04

Thank you @juniorxsound for coming back, I tried to run with the new image but I wasn't able to do it, this is the error

root@f7edec092e56:/# blender -v ArchError: Could not find 'cpu MHz' in /proc/cpuinfo Function: Arch_InitTickTimer File: /home/sybren/buildbot-builder/linux_glibc217_x86_64_cmake/build_deps/deps/build/usd/src/external_usd/pxr/base/arch/timing.cpp Line: 133 qemu: uncaught target signal 6 (Aborted) - core dumped Aborted