Linux aarch64 source build

I have been able to get a source build of blender 4.1 running on an Nvidia Orin nano 16GB dev kit. It even works with cycles OPTIX acceleration.

Seeing as many people seem to be interested in using an ARM64 host os, I will try to start documenting the full procedure. It took probably 3 days of playing whack a mole with compile errors and I didn’t write any of it down. Then I reflashed my device and forgot to copy the source folder….

Maybe this thread can also be used to collect issues encountered and fixes anyone finds. Maybe an automated build process could be written to make builds for raspberry pi as well. Although this might be beyond the scope of my experience, I’m sure the list of fixes I’ve found can be of use.

The first step is to install stow so that extra dependencies that need to be built from source can be hotswapped if needed.

Off the top of my head I know that OpenColorIO, OpenImageIO, and OpenEXR need to be built from their GitHub sources. Generally any time I encountered a build error I needed to source build whatever appeared in the error. And any errors in those source builds were solved by building their deps from source. Sometimes 2 or 3 layers deep.

I recommend using ccmake where possible and looking through all the available build flags for anything that stands out as platform related. Then set the install path to /usr/local/stow/“packagename” for example I used /usr/local/stow/oiio for OpenImageIO.
Then cd into /usr/local/stow and run “sudo stow oiio”

If anything breaks unstow the package, delete the install, and try again.

1 Like

There is a system for automatically building all the Blender library dependencies from source:
https://developer.blender.org/docs/handbook/release_process/build/libraries/#make-deps

At one point this was made to work with Linux ARM64. It has not been activity maintained and tested however, so there may well be some issues to fix.

But if the interest is to make a build as close as possible to the official Linux x86_64 builds, this would be the way to do it.