audapolis icon indicating copy to clipboard operation
audapolis copied to clipboard

Release native arm64 build

Open sebdanielsson opened this issue 3 years ago • 4 comments

A macOS release running natively on Apple Silicon would be great.

Also an arm64 release for Linux distributions.

sebdanielsson avatar Dec 14 '21 08:12 sebdanielsson

This is a great idea. Howevery we would only be able to release them on a best-effort basis as we currently do not have the hardware to test it on

pajowu avatar Dec 14 '21 22:12 pajowu

Okay, I did a quick investigation to figure out what would be needed for this. There are multiple aspects, which I describe below. As this is a larger topic, I would like to postpone it until we start working on packaging (see #152)

✅ Apple Silicon Support (#178)

This can be done fairly easy: Since apple provides a support layer (Rosetta 2) for non-arm64-binaries, we can start by shipping a separate version for apple silicon which uses the arm64 electron, but still contains some x86_64-binaries, as described in the next section.

Steps we need to do for this

  • [x] Build arm64-apps using the --arm64-argument for electron-builder
  • [x] Figure out how to release two mac apps

Full Arm64-Support

This is a bit harder: We need to make sure we have an arm64-version of every binary we include. I expect some cross-compilation issues to come up here, as github actions currently does not support macos-arm64 builders.

Steps:

  • [ ] Build server components as arm64
  • [ ] Include arm64-version of ffmpeg-static
  • [ ] Build a seperate arm64 versions for all supported plattform
    • [ ] MacOS
    • [ ] Linux

Support universal mac binaries

Once everything is build in both arm64 and x86_64, we can create a universal mac binary that contains both architectures in one binary. Sadly this cannot be done right now as the build fails, because it tries to merge the same x86_64 binary with it self where not arm64-version is available.

  • [ ] Run electron-builder with the --universal for mac os builds

pajowu avatar Dec 15 '21 11:12 pajowu

Hey, just popping in real quick with some good news: We just published the first release with working builds for apple silicon. This implements "Apple Silicon" from the above list. You can try it out at https://github.com/audapolis/audapolis/releases/tag/v22.1.5-1552

pajowu avatar Jan 05 '22 17:01 pajowu

I just tested the build and I was able to transcribe a video on my M1 MBA😃

sebdanielsson avatar Jan 08 '22 16:01 sebdanielsson