shijimasoft / cia-unix

Decrypt CIA/3DS roms in UNIX environments (Linux and macOS)
Apache License 2.0
111 stars 14 forks source link

Linux ARM64 release #20

Open xronin01 opened 4 months ago

xronin01 commented 4 months ago

Could you release a version for Linux ARM?

shijimasoft commented 4 months ago

Hello, unfortunately some dependencies are not compiled for linux-arm64 architecture yet. Also, due to the diversity of arm versions on which linux can be installed (just think of armv7 and armv8 for raspberries) it's difficult to setup a compile process that will work for everyone. Which version of ARM are you interested in?

xronin01 commented 4 months ago

AArch64 Armv8-A

shijimasoft commented 4 months ago

Hello, I verified that both cia-unix and ctrdecrypt can be compiled for linux-aarch64. I recommend you to compile binaries directly on the ARM host following the common build instructions, because cross-compilation on x86_64 might be tricky. As for ctrtool and makerom, I recommend you to compile the programs with the makefile you can find in the 3DSGuy repository directly on the ARM device.

xronin01 commented 4 months ago

See https://github.com/Sith-Magnus/Project_CTR-LinuxARM64

shijimasoft commented 4 months ago

I checked the repo, but unfortunately it does not include an automated build process (since GitHub actions does not yet support running linux on arm machines). I hope it will be added soon to include the build in the yml file.

Side note: ctrdecrypt can already be cross-compiled for linux-aarch64, however cia-unix cannot be cross-compiled so easily due to some limitations of the crystal compiler.

xronin01 commented 4 months ago

Screenshot_20240619-091611_Termux What is missing?

shijimasoft commented 4 months ago

I think it's missing the which command. Which OS are you using?

xronin01 commented 4 months ago

Termux Android https://f-droid.org/packages/com.termux/

xronin01 commented 4 months ago

Screenshot_20240619-112541_Termux I don't have the which package installed, this which is from zsh

xronin01 commented 4 months ago

Screenshot_20240619-113150_Termux now it works

shijimasoft commented 4 months ago

Nice, can I consider the issue closed? I will eventually add the linux arm support later (when gh will add linux aarch64 build docker). For the moment, please keep compile binaries with your local compilers :)

xronin01 commented 4 months ago

Can close but Add compilation instructions to Readme

xronin01 commented 4 months ago

I haven't tested it with a real encrypted game yet

xronin01 commented 4 months ago

I have to download one to test

shijimasoft commented 4 months ago

Ok, so I will leave it open, I will eventually try some roms with my raspberry pi 4, thank you for your collaboration

shijimasoft commented 2 months ago

https://github.blog/news-insights/product-news/arm64-on-github-actions-powering-faster-more-efficient-build-systems/

We've got a new update about linux ARM GitHub actions runner :)