System Information
Operating system: MacOS Big Sur 11.5.1
Graphics card: Apple M1
Docker Desktop: 4.1.1 (69879)
Docker Image
Operating system: Ubuntu 18.04.6 LTS x86_64
Graphics card: -----
Blender Version
blender-2.79-linux-glibc219-x86_64 ==> ✅ Works
blender-2.93.5-linux-x64 ==> ❌ Fails
Short description of error
Blender versions 2.8+ do not work inside docker containers on M1 Mac
Exact steps for others to reproduce the error
I provided a docker setup to spin up a container for testing the behavior...
You need:
✅ M1 Mac
✅ Docker Desktop 4.1.1 (69879)
Setup the Container:
- Unzip the attached file
- In a terminal go to the unzipped folder
- run source build-and-launch.sh to build the image and spin up a container
- open a browser and go to http://localhost:6901
- login using password pass
- see the README.txt on the Desktop you just logged into
- >> Follow the README instructions <<
(to install stuff inside the container run su and use password pass before installation)
I tested the commands ./blender --version and ./blender-softwaregl in this container from blender version 2.79 all the way up to 2.93.5.
It is worth mentioning that the commands stopped executing delayed:
✅ 2.79
✅ blender --version
✅ blender-softwaregl
❎ 2.80
✅ blender --version
❌ blender-softwaregl
❎ 2.81
✅ blender --version
❌ blender-softwaregl
❌ 2.82
❌ blender --version
❌ blender-softwaregl
❌ 2.83.7
❌ blender --version
❌ blender-softwaregl
❌ 2.93
❌ blender --version
❌ blender-softwaregl
❌ blender-3.0.0-beta+v30.7b530c609611-linux.x86_64-release
❌ blender --version
❌ blender-softwareglWhen failing the error message is:
ArchError: Could not find cpu MHz in /proc/cpuinfo
Function: Arch_InitTickTimer
File: /home/sergey/Developer/build_linux/deps/build/usd/src/external_usd/pxr/base/lib/arch/timing.cpp
Line: 133
qemu: uncaught target signal 6 (Aborted) - core dumped
AbortedBy investigating on the /proc/cpuinfo file it seems like intel cpus provide the clock speed in cpu MHz while on arm machines (e.g. raspberry pi, M1) the file contains a field for BogoMIPS (a linux kernel unit for cpu speed, regarding to wikipedia)
Since the latest version of Blender runs on the exact same container when mounted on a Intel host machine I assume that at some point there should be a catch for missing cpu MHz and a check for existing BogoMIPS in the /proc/cpuinfo
Here is the /proc/cpuinfofile of the emulated x86 container on M1 therefore with BogoMIPS and without cpu MHz:
processor : 0 BogoMIPS : 48.00 Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 asimddp sha512 asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp flagm2 frint CPU implementer : 0x00 CPU architecture: 8 CPU variant : 0x0 CPU part : 0x000 CPU revision : 0 processor : 1 BogoMIPS : 48.00 Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 asimddp sha512 asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp flagm2 frint CPU implementer : 0x00 CPU architecture: 8 CPU variant : 0x0 CPU part : 0x000 CPU revision : 0 processor : 2 BogoMIPS : 48.00 Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 asimddp sha512 asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp flagm2 frint CPU implementer : 0x00 CPU architecture: 8 CPU variant : 0x0 CPU part : 0x000 CPU revision : 0 processor : 3 BogoMIPS : 48.00 Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 asimddp sha512 asimdfhm dit uscat ilrcpc flagm sb paca pacg dcpodp flagm2 frint CPU implementer : 0x00 CPU architecture: 8 CPU variant : 0x0 CPU part : 0x000 CPU revision : 0
Thank you,
all the best,
Clemens