This guide explains how to compile Blender and the necessary dependencies from source to make it run on ARM64 Linux devices with CUDA, OptiX, and Vulkan, such as a GB10 system.
Tip
A prebuilt binary for GB10 (DGX Spark) is available here (built by me, roughly using the build script)
While Blender does exist in the Ubuntu repos, it's an older version of Blender. Snap only supports AMD64, and Backports aren't currently available.
I've tested this on DGX OS 7. Depending on which options are selected, I've gotten up to 98% of Blender's tests to pass and Vulkan seems to work in Blender.
As a real-world test on a GB10 system, the Classroom demo works with either CUDA or OptiX selected as the Cycles render device. OptiX denoising also works.
Classroom by Christophe Seux. is licensed under CC0
Caution
As this process manually installs system files and packages, it may break your installation of DGX OS and/or create conflicts with certain packages.
-
Clone this repo and enter it:
git clone https://github.com/CoconutMacaroon/blender-arm64.git cd blender-arm64 -
Run
bash ./builder.sh -
The first time you run it, you'll be prompted to download the NVIDIA OptiX SDK.
- Download it from NVIDIA
- Move it from
~/Downloadsto~/ - Run the OptiX installer, and let it install into
NVIDIA-OptiX-SDK-9.0.0-linux64-aarch64
-
Re-run
bash ./builder.shIt should detect the OptiX SDK this time, and will build Blender's required dependencies and then Blender itself.
-
Once it builds Blender, run the provided launcher with
./launchBlender
If you want to modify the Blender build after the first time:
- Comment out
git apply spark.patch, as the patch will have been applied already - Comment out
While that creates the
set +e make set -e
build_linux/directory, it's not necessary for future runs. Note that you only want to comment out themakebetween theset +eandset -e.
- Certain features, such as NumPy, OpenColorIO, and OpenSSL may not work out of the box, but should be possible.
- Running this from Docker would be potentially useful. Some brief testing indicated additional work is necessary for OptiX and Vulkan to work, although CUDA seemed to function correctly.
- If it crashes when you run it, see this.
- Certain apt packages, especially those relating to oneTBB, may create conflicts, so a fresh DGX OS installation may be easier.