ARM 64 bit support (AARCH64)

Hi all,
I’m using Blender mainly on Nvidia Jetson TX1 and TX2 board. All work perfectly. Cycles can render with CUDA. Blender need to be compiled manualy for OpenGL and CUDA support.
Is there some code in armory that can’t work on arm? I may become a patreon if i can use armory on arm…

Thanks

Interesting! It should be possible but will need some effort I guess. The first thing I would try is to get Kha working.

If you are able to get nodejs binary running, then this will clone and build a simple Kha example:

git clone --recursive https://github.com/Kha-Samples/BlocksFromHeaven
cd BlocksFromHeaven
node Kha/make
#something goes wrong here

We can then take it further based on what goes wrong. :slight_smile:

Thanks :slight_smile:
I need to compile Kha/Kore as krafix come only for 32bit ARM.
I’ll come back soon.

I see, well this might be fun hehe. I think Robert may also accept the new binary arch at https://github.com/Kode/krafix_bin, if you manage to compile it.

Krafix builds like the rest of Kore tools, but there are no instructions in the repo apparently…

git clone --recursive https://github.com/Kode/krafix
cd krafix
node path/to/Kore/make
Should spit out the make/project files.

krafix compiled :wink:
krafix-linuxaarch64.xz

More to come :slight_smile:

bruno@tegra-ubuntu:~/usb/src/BlocksFromHeaven$ node Kha/make
Using Kha from /home/bruno/usb/src/BlocksFromHeaven/Kha
Creating Kha project.
Exporting asset 1 of 14 (block_blue.png).
kraffiti process exited with code 2 when trying to convert block_blue
Exporting asset 2 of 14 (block_green.png).
kraffiti process exited with code 2 when trying to convert block_green
Exporting asset 3 of 14 (block_orange.png).
kraffiti process exited with code 2 when trying to convert block_orange
Exporting asset 4 of 14 (block_purple.png).
kraffiti process exited with code 2 when trying to convert block_purple
Exporting asset 5 of 14 (block_red.png).
kraffiti process exited with code 2 when trying to convert block_red
Exporting asset 6 of 14 (block_violet.png).
kraffiti process exited with code 2 when trying to convert block_violet
Exporting asset 7 of 14 (block_yellow.png).
kraffiti process exited with code 2 when trying to convert block_yellow
Exporting asset 8 of 14 (blocks.flac).
Exporting asset 9 of 14 (board.png).
kraffiti process exited with code 2 when trying to convert board
Exporting asset 10 of 14 (klack.wav).
Exporting asset 11 of 14 (line.wav).
Exporting asset 12 of 14 (rotate.wav).
Exporting asset 13 of 14 (score.png).
kraffiti process exited with code 2 when trying to convert score
Exporting asset 14 of 14 (title.png).
kraffiti process exited with code 2 when trying to convert title
Compiling shader 1 of 8 (painter-colored.frag.glsl).
/home/bruno/usb/src/BlocksFromHeaven/Kha/Kore/Tools/krafix/krafix-linux32: 1: /home/bruno/usb/src/BlocksFromHeaven/Kha/Kore/Tools/krafix/krafix-linux32: ELFW4�6=4: not found
/home/bruno/usb/src/BlocksFromHeaven/Kha/Kore/Tools/krafix/krafix-linux32: 1: /home/bruno/usb/src/BlocksFromHeaven/Kha/Kore/Tools/krafix/krafix-linux32: Syntax error: end of file unexpected
/home/bruno/usb/src/BlocksFromHeaven/Kha/Tools/haxe/haxe-linux32: 1: /home/bruno/usb/src/BlocksFromHeaven/Kha/Tools/haxe/haxe-linux32: Syntax error: word unexpected (expecting “)”)

korefile found.
Creating Linux project files.
Done.

It can’t detect aarch64

Compiled krafix, kraffiti and haxe for arm64.
Modified Kha/Kore/Tools/koremake/out/exec.js Kha/Kore/Tools/koremake/src/exec.ts
Kha/Tools/khamake/out/exec.js and Kha/Tools/khamake/src/exec.ts for adding an else if (os.arch() === 'arm64) return '-linuxarm64';

Now i got this error:

bruno@tegra-ubuntu:~/usb/src/BlocksFromHeaven$ node Kha/make
Using Kha from /home/bruno/usb/src/BlocksFromHeaven/Kha
Creating Kha project.
Exporting asset 1 of 14 (block_blue.png).
Exporting asset 2 of 14 (block_green.png).
Exporting asset 3 of 14 (block_orange.png).
Exporting asset 4 of 14 (block_purple.png).
Exporting asset 5 of 14 (block_red.png).
Exporting asset 6 of 14 (block_violet.png).
Exporting asset 7 of 14 (block_yellow.png).
Exporting asset 8 of 14 (blocks.flac).
Exporting asset 9 of 14 (board.png).
Exporting asset 10 of 14 (klack.wav).
Exporting asset 11 of 14 (line.wav).
Exporting asset 12 of 14 (rotate.wav).
Exporting asset 13 of 14 (score.png).
Exporting asset 14 of 14 (title.png).
Compiling shader 1 of 8 (painter-colored.frag.glsl).
Compiling shader 2 of 8 (painter-colored.vert.glsl).
ERROR: /home/bruno/usb/src/BlocksFromHeaven/Kha/Sources/Shaders/painter-colored.vert.glsl:5: 'projectionMatrix' : non-opaque uniform variables need a layout(location=L) 
ERROR: 1 compilation errors.  No code generated.


ERROR: Linking vertex stage: Missing entry point: Each stage requires one entry point

SPIR-V is not generated for failed compile or link

/home/bruno/usb/src/BlocksFromHeaven/Kha/Sources/kha/graphics4/Graphics2.hx:87: characters 34-60 : Class<kha.Shaders> has no field painter_image_frag

/home/bruno/usb/src/BlocksFromHeaven/Kha/Sources/kha/graphics4/Graphics2.hx:88: characters 32-58 : Class<kha.Shaders> has no field painter_image_vert

/home/bruno/usb/src/BlocksFromHeaven/Kha/Sources/kha/graphics4/Graphics2.hx:322: characters 34-62 : Class<kha.Shaders> has no field painter_colored_frag

/home/bruno/usb/src/BlocksFromHeaven/Kha/Sources/kha/graphics4/Graphics2.hx:323: characters 32-60 : Class<kha.Shaders> has no field painter_colored_vert

/home/bruno/usb/src/BlocksFromHeaven/Kha/Sources/kha/graphics4/Graphics2.hx:586: characters 34-59 : Class<kha.Shaders> has no field painter_text_frag

/home/bruno/usb/src/BlocksFromHeaven/Kha/Sources/kha/graphics4/Graphics2.hx:587: characters 32-57 : Class<kha.Shaders> has no field painter_text_vert

/home/bruno/usb/src/BlocksFromHeaven/Kha/Sources/kha/graphics4/Graphics2.hx:841: characters 34-60 : Class<kha.Shaders> has no field painter_video_frag

/home/bruno/usb/src/BlocksFromHeaven/Kha/Sources/kha/graphics4/Graphics2.hx:842: characters 32-58 : Class<kha.Shaders> has no field painter_video_vert

/home/bruno/usb/src/BlocksFromHeaven/Kha/Sources/kha/vr/VrInterfaceEmulated.hx:308: characters 26-52 : Class<kha.Shaders> has no field painter_image_vert

/home/bruno/usb/src/BlocksFromHeaven/Kha/Sources/kha/vr/VrInterfaceEmulated.hx:309: characters 28-54 : Class<kha.Shaders> has no field painter_image_frag

korefile found.
Creating Linux project files.
Done.

My knowledge is limited here :wink:

Haxe, haxelib, kraffiti and krafix compiled for arm64 here
Now renamed the binaries with -linuxarm64 in place of -linuxaarch64

1 Like