Which ARM device can run Blender 3.x with hardware acceleration?

I used to run Blender 2.79 on my X96 Max+ TV box (Amlogic S905X3, Mali G31) and it was not too bad for doing light 3D editing when utilizing hardware acceleration.

But starting with version 2.8 Blender needs OpenGL 3.3 and it does not run anymore on my device (panfrost driver currently only supports OpenGl 3.1; overwriting version numbers does not work either to run Blender >= 2.8).

Therefore, now that Blender was recently even updated to version 3.6 I wonder which ARM device can actually run it with hardware acceleration in mid 2023.


Maybe more anwsers on an arm Hardware manufacturer forum, try Odroid.

The Odroid n2l is a powerfull device.

According to Panfrost Doc: all the Mali GPU support up to OpenGL 3.1 only Panfrost — The Mesa 3D Graphics Library latest documentation

May be the newer Arm Soc like RK3588 with Pancsf?

@nl.smart @JFL Thanks for your answers!

Sure, there are powerful devices out there but they still seem to miss adequate drivers to use them to their full potential.

As far as I know RK3588 still uses 5.17 kernel because they depend on vendor binary blobs. It’s really a shame that developers still have to figure out so much stuff by reverse engineering and therefore it takes so much time and effort to get things running as intended.

I originally asked my question because I would be interested in a (linux) tablet that allows me to run Blender, VSCode and LibreOffice.
In principal it should be no problem to run this stuff even on a mid-prized phone. But it is not possible because of iOS, Android or missing graphics drivers in linux. And Windows tablets are expensive and lack good battery life (do not trust the lies by Microsoft about 10+ hours of battery life for ‘normal use’!).

It’s so sad!

1 Like

Is OpenGLES and OpenGL equivalent? If not mistaken RK3588 support up to OpenGLES 3.2 , NO mention of OpenGL support.

None have OpenGl3.3 yet.

To answer my own question:

Blender 3.5.1 runs butter smooth on my new Xiaomi Pad 5 using PostmarketOS 23.06 (many thanks to developer @serdeliuk at XDA-developers forum)!

This is a fantastic 11 inch Android tablet which can be hacked to run Windows 11 and several linux distros using mainline kernel (see https://forum.xda-developers.com/f/xiaomi-mi-pad-5.12427/). It has an (older) Qualcomm Snapdragon 860 CPU and an Adreno 640 GPU which has great linux support via the freedreno driver.
(Beware: Although Xiaomi has recently released the Xiaomi Pad 6 with a Snapdragon 870 & Xiaomi Pad 6 Pro with a Snapdragon 8 Gen 1 which are performaning significantly better there are still no Windows and Linux images for these machines and development might take a long time to get stuff running on them.)

High-res video playback is no problem and the glmark2 results are quite impressive, too (screen resolution: 2560 x 1600, scaling: 200%).

Having a great performing Linux tablet that can run all the stuff we love was always a dream of mine. So, it is finally time to say goodbye to Apple and my iPad!

@strit @spikerguy Kernel sources can be found here if you are in the mood for a challenge :wink: :

Developer maverick-jia explained here how to prepare kernel and system to run Ubuntu on the tablet (I did not test it, yet):

~ $ glmark2
    glmark2 2023.01
    OpenGL Information
    GL_VENDOR:      freedreno
    GL_RENDERER:    FD640
    GL_VERSION:     4.5 (Compatibility Profile) Mesa 23.0.4
    Surface Config: buf=32 r=8 g=8 b=8 a=8 depth=24 stencil=0 samples=0
    Surface Size:   800x600 windowed
[build] use-vbo=false: FPS: 3495 FrameTime: 0.286 ms
[build] use-vbo=true: FPS: 3808 FrameTime: 0.263 ms
[texture] texture-filter=nearest: FPS: 3626 FrameTime: 0.276 ms
[texture] texture-filter=linear: FPS: 3655 FrameTime: 0.274 ms
[texture] texture-filter=mipmap: FPS: 3702 FrameTime: 0.270 ms
[shading] shading=gouraud: FPS: 3465 FrameTime: 0.289 ms
[shading] shading=blinn-phong-inf: FPS: 3483 FrameTime: 0.287 ms
[shading] shading=phong: FPS: 3349 FrameTime: 0.299 ms
[shading] shading=cel: FPS: 3353 FrameTime: 0.298 ms
[bump] bump-render=high-poly: FPS: 2444 FrameTime: 0.409 ms
[bump] bump-render=normals: FPS: 3987 FrameTime: 0.251 ms
[bump] bump-render=height: FPS: 3828 FrameTime: 0.261 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 3288 FrameTime: 0.304 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 2084 FrameTime: 0.480 ms
[pulsar] light=false:quads=5:texture=false: FPS: 3597 FrameTime: 0.278 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 1132 FrameTime: 0.884 ms
[desktop] effect=shadow:windows=4: FPS: 2397 FrameTime: 0.417 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 538 FrameTime: 1.861 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 704 FrameTime: 1.422 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 823 FrameTime: 1.216 ms
[ideas] speed=duration: FPS: 1238 FrameTime: 0.808 ms
[jellyfish] <default>: FPS: 2408 FrameTime: 0.415 ms
[terrain] <default>: FPS: 202 FrameTime: 4.973 ms
[shadow] <default>: FPS: 1987 FrameTime: 0.503 ms
[refract] <default>: FPS: 425 FrameTime: 2.357 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 3383 FrameTime: 0.296 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 3365 FrameTime: 0.297 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 3390 FrameTime: 0.295 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 3350 FrameTime: 0.299 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 3370 FrameTime: 0.297 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 3336 FrameTime: 0.300 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 3348 FrameTime: 0.299 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 3348 FrameTime: 0.299 ms
                                  glmark2 Score: 2723


Interesting stuff,

  1. There is no open source bootloader for this, meaning if the user does something wrong then it can brick the hardware.
  2. There is not straightforward way for end user to flash the image on the emmc etc.
  3. There is still not charger or battery management. Added recently.
  4. Flashing is way too tricky as it needs the user to partition the drive manually using TWRP adb shell.
  5. $250 to source the hardware. Expensive for the project.

Nah thanks, already have too much in hand, Dan is no longer with Manjaro ARM Project, he have parted away but I still hope he will come back one day. :slight_smile:

I would request community member to contribute to the project by preparing a kernel pkg and post-install and maybe an rootfs img which can be flashed to the device as it is from pmos.


Hi @TheMojoMan,
Does the Xiami Pa 5 come with or ability to get a “docking station” to be enable to have extract USB Ports or USB hubs to transform it into a regular SBC for desktop usage?

Hi @JFL ,

the Xiaomi Pad 5 has a single USB type C connector and you can attach a hub to it. But unfortunately it is still 2.0 which means that you cannot attach a display.

They have fixed this on the Xiaomi Pad 6. But - as written before - there are no custom ROMs for it, yet.

Not a single xiaomi device have alt-dp in their usb-c.

Idk why they don’t use it.

1 Like