Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature request – Download for Apple Silicon / aarch64 #2073

Open
obitwrite opened this issue Nov 28, 2024 · 11 comments
Open

Feature request – Download for Apple Silicon / aarch64 #2073

obitwrite opened this issue Nov 28, 2024 · 11 comments

Comments

@obitwrite
Copy link

obitwrite commented Nov 28, 2024

Hydrogen version * : 1.2.3
Operating system + version : macOS Sonoma / Sequoia
Audio driver + version : Not relevant


Dear all, I've looked everywhere, on the website and on this Github, but couldn't find if someone already asked this – or if this has been answered. With more and more Macs moving away from Intel-processors, would it be possible to provide an Apple Silicon/aarch64 download of Hydrogen?

@cme
Copy link
Contributor

cme commented Nov 28, 2024

It's not currently possible with the CI/CD system we use to produce the release images (Appveyor) because it uses Homebrew to supply libraries and Homebrew doesn't support universal binaries at the moment.

@cme
Copy link
Contributor

cme commented Nov 28, 2024

Although, I could easily contribute AArch64 macOS builds.... hmm.

@obitwrite
Copy link
Author

I see, thanks for the quick reply. Reading your second comment: so, a aarch64 macOS build that is separate from Homebrew is possible? If so, that would be great!

@cme
Copy link
Contributor

cme commented Nov 28, 2024

I see, thanks for the quick reply. Reading your second comment: so, a aarch64 macOS build that is separate from Homebrew is possible? If so, that would be great!

Not separate from Homebrew, just using native AArch64 Homebrew on an Apple Silicon build host

@obitwrite
Copy link
Author

Ah, I understand! Would be great if a aarch64 macOS build is possible this way!

@theGreatWhiteShark
Copy link
Contributor

Homebrew doesn't support universal binaries at the moment

Does this mean it would be in general possible to compile a macOS binary which could run on both x86_64 and AArch64?

@obitwrite
Copy link
Author

I guess a universal binary would be the ideal situation @theGreatWhiteShark – would this be possible @cme ?

@cme
Copy link
Contributor

cme commented Dec 3, 2024

Homebrew doesn't support universal binaries at the moment

Does this mean it would be in general possible to compile a macOS binary which could run on both x86_64 and AArch64?

Yep. It's not supported by Homebrew though as it builds only native binaries, we'd have to compile all dependencies from it, including Qt

@theGreatWhiteShark
Copy link
Contributor

we'd have to compile all dependencies from it, including Qt

Hmm. That's a lot. Maybe we can convince Homebrew to use the precomiled version of Qt provided by AppVeyor. Or maybe MacPorts would do a better job.

@obitwrite
Copy link
Author

Thanks for all the replies! So, there's 3 options, if I can sum up your comments @theGreatWhiteShark @cme. Correct me if I'm wrong.

  1. Homebrew on a native Apple Silicon build host. This requires that all depedencies are built from it, because they need to also be aarch64?
  2. Homebrew with precompiled version of qt provided by AppVeyor. But is this version of qt aarch64 / Apple Silicon compatible or x86? Or doesn't that matter?
  3. Macports. Any downsides?

@cme
Copy link
Contributor

cme commented Dec 14, 2024

I've just spent a frustrating hour or so trying to build working AArch64 macos binaries for 1.2.4. It seems that the combination of Qt, Howebrew and Sonoma somehow causes macdeplopqt to build broken apps. I haven't built a dmg in a long time, certainly not since upgrading to Sonoma, and it previously Just Worked but now is broken. Grr. I shall check if an Appveyor Sonoma image can build working dmgs for x86_64 tomorrow, as well as dig into macdeployqt.

As for universal binaries, I think it needs a move to Qt6. @theGreatWhiteShark do you think it's viable (in future) to support building with Qt5 for legacy targets and Qt6 for up-to-date systems?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants