This could be updated depending on driver, box64, and new ARM/RISC-V Blender port progress
I'm runing it on RK3588, with Arch Linux ARM, using box64-git-0.4.3.4.r65.g78383901f (git rev 7838390 or git rev 1058aae) or stable 0.4.2. It work some times with box64 0.4.4 stable and not at all with version git 0.4.4.r6.ge0ae94d74. An issue about this 0.4.4 regression is open, you can follow it, I will update this post as soon it is resolved, if don't forget.
Warning, it fails at first launch, as you see in the video, with message "Open dir error: Connection refused", you need to launch it a second time, at first launch.
I already managed to compile and making 2.76 work on ARM 32bits (RK3288), nativen ten years ago (October 2015) with a simple few lines patch. Software rendering was fast enough for old version of Blender at this time. As it become very hard to compile this time version with today systems libs, I found a solution, with x86_64 version + Box64, a 86_64 JIT + dynarec CPU emulator and native system library wrapper. Software rendering is still usable, but that's now possible to use full hardware acceleration for the on screen 3d rendering. Thanks to Panfrost Mesa driver.
Blender 2.93.18 can run on the same system but only with Mesa LLVMpipe software rendering (see the last line of this post for the launch line), it is a bit slow, but not unusable for simple scenes or modeling light objects.
ToC
- What works
- Installing tools
- Running it
- Context and problems (for deeper understanding and investigating)
- Current system status (August 2026)
What works
With 2.79b:
What work (already tested):
- Editor interface
- 3d interace rendering: flat/textured/material/render, very fast (but render) with simple to medium scenes, slower with scenes like barbershop in demo files
- UVmapping, UVunwrapping, texture painting
- Rigging and pose editor
- Cycles rendering. OpenCL is wrapped on native one by box64 and there is rendering acceleration, but don't expect performances of a huge 300W consuming GPU. Whaat crash
- opening file for more recent versions of blender (low backward compatibility)
- Using zink and Vulkan driver is less stable and can crash on some complex things, lika opening the Barbershop demo file.
Possible improvment:
- Box64 wrapping to improve on this system:
- cpython3.5 (install lcoal version in parallel on
- Jack loading (could have an impact in grease pencil, video editor and game editor
- Mesa drivers are still a WIP for this GPU, but it progress very fast:
- Several new Vulkan function are implemented each month
- Geometry shaders are still missing, that will be a game changer with the ability to runs accelerated Blender >= v2.90
- The new Kraid shaders compiler, near to be production ready at least for computing shaders should improve their usage for both computing, and rendering
Installing Tools
We need:
- ptitSeb box64 (Github repository) (so here worked with Box64 arm64 v0.4.3 78383901f with Dynarec, not with v0.4.4 git)
- Lethja x86_64 appimage of Blender (so in current state of driver Blender 2.79b, exact version I used)
- Last Mesa (I use git version), obviously Linux for arm64, I use ALARM (for Arch Linux ARM), other Arch Linux deritvative for ARM64 like official Arch Linux Ports, Manjaro should work too. The same for SID develeoppement version of Debian netinstall iso fo testing and derivatives, like Armbian.
I believe all the process for 2.79b at least should work on RISC-V architecture too. There is an official port of box64 too, and most integrated GPU are PowerVR, also supported by Mesa since few time now.
- One ligne of shell
For box64 (with Arch Linux ARM)
yay -S box64 wgetwget https://github.com/Lethja/blender-appimage/releases/download/2026-07-22/blender-2.79b-x86_64.AppImage.zip
unzip blender-2.79b-x86_64.AppImage.zipRunning it
It will fail the first time, due to a problem with directory, so need to launch it 2 times at first. One time only is good enough as long as path of the appImage is not moved. You will need to launch it two times again else :).
PAN_MESA_DEBUG=gl3 box64 blender-2.79b-x86_64.AppImage
So if fails with "Open dir error: Connection refused" (as in the video), it will now work at next launchs. Launch it a second time
PAN_MESA_DEBUG=gl3 box64 blender-2.79b-x86_64.AppImage
It also work with zink (Vulkan conversion) by using the following command (you need to fake full 3.3 support, as all used function are here, but not the full 3.3 that blender wants, by default zink claims GL 2.1):
MESA_GL_VERSION_OVERRIDE=3.3 MESA_LOADER_DRIVER_OVERRIDE=zink GALLIUM_DRIVER=zink box64 blender-2.79b-x86_64.AppImage
I tried among Blender demo files Barbershop Interior, a complex scene, it works slowly with OpenGL (maybe 3fps) and crash with Zink. Obviously that's not a good idea to make final render using CPU emulation, but if OpenCL acceleration is used for rendering. In my own point of view, it's far faster with such complex scenes than on 32 bits x86 used 20 years ago ^^.
For information, it throws some warnings:
MESA: warning: WARNING: Incorrect rendering will happen because the Vulkan device doesn't support the 'smoothLines' feature MESA: warning: WARNING: Incorrect rendering will happen because the Vulkan device doesn't support the 'stippledBresenhamLines' feature
I managed to run 2.93.18 with Mesa OpenGL software (LLVMpipe) rendering
LIBGL_ALWAYS_SOFTWARE=1 box64 blender-2.93.18-x86_64.AppImage
Triend pure zink with it, it crash:
MESA_GL_VERSION_OVERRIDE=3.3 MESA_LOADER_DRIVER_OVERRIDE=zink GALLIUM_DRIVER=zink box64 blender-2.93.18-x86_64.AppImage
And tried with LLVMpipe + zink too but the display is very slow too.
MESA_GL_VERSION_OVERRIDE=3.3 LIBGL_ALWAYS_SOFTWARE=1 MESA_LOADER_DRIVER_OVERRIDE=zink GALLIUM_DRIVER=zink box64 blender-2.93.18-x86_64.AppImage
It also crash with zink + lavapipe (software Vulkan rendering):
VK_DRIVER_FILES=/usr/share/vulkan/icd.d/lvp_icd.aarch64.json MESA_LOADER_DRIVER_OVERRIDE=zink GALLIUM_DRIVER=zink box64 blender-2.93.18-x86_64.AppImageContext and Problems
The used version of Blender is an old 2.96b version. This achievement use x86_64 appimage version found on . It still have most needed basic features for modern computer (including rigging, uvmapping, shaders, etc). In the current state ARM Mali GPU, Panfrost driver, doesn't support geometry shaders. This is needed by 2.90 version of Blender, so you will be able to run it with software rendering only, and despite the efficiency of llvmpipe (didn't managed to use llvmlava + zink), this is a bit slow for real usage, but still usable if your are patient enough ^^.
RK3588 use Mali G610 MP4, so depend on Panfrost (Open GL + Open GL ES Open CL + GLSL + Vulkan)
Blender >=2.90 complains about missing geometry shaders (there are not implemented in august 2026 on Panfrost driver) before failing :
ERROR (gpu.shader): OVERLAY_shader_armature_shape_421 GeomShader:
|
451 | layout(line_strip, max_vertices = 2) out;
| ^
| Error: maximum output vertices (2) exceeds GL_MAX_GEOMETRY_OUTPUT_VERTICES
But it can be used with far slower software rendering (see instruction at the end of Running it section above.
Current system status
August 2026
You can downlooad full raw OpenCL clinfo command output, OpenGL glxinfo and Vulkan vulkaninfo status.
OpenCL level support of Mesa for G610 GPU at current time, after clinfo command, I only pasted some information that look useful, don't know a lot about OpenCL:
Device Name Mali-G610 MC4 (Panfrost)
Device Vendor Arm
Device Vendor ID 0x13b5
Device Version OpenCL 3.0
Device Numeric Version 0xc00000 (3.0.0)
Driver Version 26.3.0-devel (git-64f9ff1d26)
Device OpenCL C Version OpenCL C 1.2
Device OpenCL C Numeric Version 0x402000 (1.2.0)
[...]
Latest conformance test passed v2026-06-18-00
Device Type GPU
Device Profile FULL_PROFILE
[...]
Execution capabilities
Run OpenCL kernels Yes
Run native kernels No
Non-uniform work-groups No
Work-group collective functions No
Sub-group independent forward progress No
IL version SPIR-V_1.0 SPIR-V_1.1 SPIR-V_1.2 SPIR-V_1.3 SPIR-V_1.4 SPIR-V_1.5 SPIR-V_1.6
Détails: For cpython3.5, I use python 3.14; could need a pyton3.5 in parallel to have wrapper working:
found bundled python: /tmp/.mount_blendeDfhjaa/2.79/python
[BOX64] Using emulated /tmp/.mount_blendeDfhjaa/2.79/python/lib/python3.5/lib-dynload/math.cpython-35m-x86_64-linux-gnu.so
[BOX64] Using emulated /tmp/.mount_blendeDfhjaa/2.79/python/lib/python3.5/lib-dynload/_heapq.cpython-35m-x86_64-linux-gnu.so
For jack at boot, I use pipewire jack wrapper ant it is in /usr/lib/libjack.so.0:
[BOX64] Error loading needed lib libjack.so
[BOX64] Warning: Cannot dlopen("libjack.so"/0x61449a8, 1)
[BOX64] Error loading needed lib libjack.so.0
[BOX64] Warning: Cannot dlopen("libjack.so.0"/0x61449b3, 1)