Run Blender 2.8+ on Arm64 Panfrost

Did anyone successfully run Blender 2.8+ on Arm64 Manjaro by using Panfrost driver with good performance?

I am unable to run this on Panfrost Driver, it just keep crashing once I opened the Blender 2.8+

However, I noticed that I can run Blender 2.8+ on LLVMPipe Driver.

Thanks for the share everyone.

:slight_smile:

I found this fix on another forum, but the performance is terrible, almost unusable…

LIBGL_ALWAYS_SOFTWARE=1 blender

source:

I don’t think panfrost for Gxx is stable to handle blender.
Maybe @Pak0st can advice how well it works on T8xx rk3399.

Thanks, @spikerguy !

@rna , for Blender 2.8+ the requirement is for geometry shaders. You will notice the following error when you try to run it: maximum output vertices (2) exceeds GL_MAX_GEOMETRY_OUTPUT_VERTICES . As far as I know, this is of low priority for Panfrost and who knows when or if they will be worked on. More info here:
https://freenode.irclog.whitequark.org/panfrost/2020-09-08#27879475;

Unlike OBS, to use Blender 2.8+ it’s not enough to use the experimental flag for gl3 (the said geometry shaders haven’t been worked on because they are complex and other items are more tantilizing - like supporting Bifrost :slight_smile: ).

Blender is working on Vulkan implementation at least for EEVEE. Unlike the geometry shaders, we know for sure Vulkan will come to Panfrost :wink: When this will happen for both projects - we don’t know for now.

This leaves you only with software rendering for Blender 2.8+ and as you have noticed, the performance is… lacking to say the least.

Actually usable option, is the blender-2.7-es2 package. I haven’t had time to use it in the past few weeks (if it has broken again - do ping me to find a fix) but it worked well for me given the 3D project was simple. As the name suggets, this is Blender 2.79 with OpenGL ES2 used for the viewport instead.

Note:
I should check why this particular version of Blender doesn’t work on the PinePhone (getting black screen) :expressionless: Could be something from the environment or Lima lacking specific functionality though that is outside of the scope you’ve defined with Panfrost.

1 Like

@spikerguy Thank You

@Pak0st Thanks for your clear explanation.

This is something interesting to wait, a vulkan driver for Panfrost. That would be super awesome…!

I thought that maybe there is a work around with good performance. Because last time I used blender using LLVMPipe, although the performance is laggy, but I managed to render an image using EEVEE renderer in shader mode quite fast.

Yes, I did and the performance is surprisingly pretty good, but I miss EEVEE

Have you checked my post about installing blender 2.79 via chroot debian buster? Use this method and your blender 2.79 will never break, but I don’t know how to make it using the es2? It is actually a bonus for my step by step on compiling Box86 on Arm64 devices.

Here’s my Box86 topic:

Here’s how to install Blender 2.79 on chroot debian (at the bottom section):

1 Like

@rna , it’s just a few flags :slight_smile:
Check the PKGBUILD here: manjaro-arm / packages / community / blender-2.7-es2 · GitLab I would bet that the debian package would have to be compiled though.

After I’ve disabled boost, it looks like we won’t expect breakages for quite some time :smiley: Before it was quite dicey.
The last change to the manjaro package was to resolve Python 3.9 compatibility.

This is a good news. Many Thanks for this info.

Hi, I found this PanVK, it is Panfrost Vulkan Driver from Collabora. Please have a look:

1 Like

Thanks, @rna , I haven’t had the time to check how far PanVK is and if it will work with the latest versions of Blender.

Not sure if PanVK is available in Mesa yet.

It’s probably not gonna be included in the default panfrost builds, so it will have it’s own meson build option. So far, it does not.

1 Like

Yeah, I’m checking out the branch atm:

Looks like a job for a spare sd card.

1 Like