Open benzado opened 11 months ago
Yes, heroic itself it built for apple silicon but the other binaries that it uses like legendary, nile and gogdl doesn't. That's because github doesn't offer arm64 runners for free.
I will try to built those binaries myself on a M1 for the next release, but we have no way to automate it for now.
I would strongly recommend against doing it manually, even if it's not much trouble now you're making yourself a part of the build pipeline and, in my experience, that always makes technology problems into personal problems. For a free software project, that's not worth it.
I think it would be reasonable to simply warn that the Apple Silicon build requires Rosetta (for now). It would be good to get a pure arm64 build working eventually, but are there even many compatible games ready at this point?
It should be theoretically possible to cross-compile arm64 binaries without using an arm64 runner (after all, that's how the main binary is being created, right?) but I can understand if figuring out how to do that isn't top priority.
I'm not part of the project, so it's not up to me, but I'd be happy if this bug was closed by having the main app recognize error code 86 and put up a more friendly error message explaining that Rosetta is required by that component.
Games require Rosetta nevertheless I haven't seen that much arm64 builds. I also doubt old ones were updated
@benzado yes, perhaps we should detect if Rosetta is installed and show a warning if it is not, with a link on a how to install.
@imLinguin that's also a good point, most games won't work at all.
At the same time, having those binaries compiled to the architecture will make them run faster for things like loading the library, etc.
Describe the bug
When using the macOS Apple Silicon build, various actions trigger a dialog like this:
Nile
Error:
Add logs
Steps to reproduce
Expected behavior
Error does not appear.
Screenshots
No response
Heroic Version
Latest Stable
System Information
Additional information
I believe this problem is due to Intel-only binaries being bundled with the "Apple Chips" version of the Heroic app. I am able to confirm on my system that, although the main app binary targets arm64, several bundled tools are x86_64:
Using
man errno
we can find the explanation for the error code:I expect that systems with Rosetta installed will transparently launch the Intel binaries and the problem will not be reproducible.