Aegisub icon indicating copy to clipboard operation
Aegisub copied to clipboard

ARM64/AArch8 support

Open guijan opened this issue 11 months ago • 3 comments

Aegisub should provide builds for Windows on ARM64 (Microsoft naming) and macOS on AArch8 (LLVM naming). This requires changes in the installers, Meson, and CI.

I don't know if the codebase is ready. Some Linux systems have builds for architectures other than x64, but I haven't heard about people actually using them. Compiling Aegisub and seeing what blows up is one way to find out.

In theory, the sources of errors I know can happen are:

  1. Preprocessor/build system conditionals that target x64 and error on ARM.
  2. Signedness of char (typically signed on x64, typically unsigned on ARM).
  3. Unaligned accesses.

I have an ISC-licensed project written in C, Meson, and InnoSetup with ARM64 support and working Github Actions CI. The code can be reused:

I don't have anything for macOS.

guijan avatar Jan 08 '25 19:01 guijan

I'm not convinced that Windows ARM is worth worrying about. I'd like to do MacOS ARM builds on CI, but there was some issue that came up when bumping the MacOS containers if I recall correctly? There are definitely people compiling and using it on ARM, so it's possible. I'd also like to avoid worrying about cross builds if possible.

CoffeeFlux avatar Jan 08 '25 19:01 CoffeeFlux

Oh, and ARM is also going to run into the code signing issues I complained about in the 3.4.0 release post. So 'proper' MacOS support can't happen until Apple decides they want to let me sign up for the developer program.

CoffeeFlux avatar Jan 08 '25 19:01 CoffeeFlux

I did a Windows ARM build way back and don't recall it needed special treatment. (libass required a patch to disable x86 ASM but that is now unnecessary)

https://github.com/driver1998/Aegisub

driver1998 avatar Mar 03 '25 01:03 driver1998