openspades icon indicating copy to clipboard operation
openspades copied to clipboard

Tracking Issue: Support for Apple Silicon

Open yvt opened this issue 5 years ago • 4 comments

This issue tracks OpenSpades' support for Apple Silicon Macs (AArch64).

  • [x] Rosetta 2 (x86_64 emulation): 0.1.3 is fully functional and reasonably fast (screenshots)
  • [x] Building on an Apple Silicon Mac: Successfully done in #924
  • [ ] Native builds
    • [ ] Universal binaries of dependencies (e.g., libopusfile)
    • [ ] Universal binary of the main application
    • [ ] Blocked by ~~#906~~ #981
  • [ ] Build in CI
  • [ ] arm64e support? This is beneficial from a security point of view, and that's important because OpenSpades is a network application

yvt avatar Dec 10 '20 03:12 yvt

We have previously tried to make openspades work on aarch64 but angeloscript was just far too old for it to work properly and just failed build. Updating angeloscript didn't yield anything useful. More issues only.

Haxk20 avatar Jul 10 '21 07:07 Haxk20

Builds successfully with master + #1005 + *:arm64-osx vcpkg packages. It however fails at runtime:

2022/06/20 00:52:30 [ScriptManager.cpp:44]  (0, 0) : ERR  : Failed in call to function 'RegisterObjectBehaviour' with 'AudioChunk' and 'void f()' (Code: -7)

2022/06/20 00:52:30 [Main.cpp:650] [!] Terminating due to the fatal error: Not supported
at ../Sources/ScriptBindings/ScriptManager.cpp:190
static void spades::ScriptManager::CheckError(int) at ScriptManager.cpp:189
spades::ScriptManager::ScriptManager() at ScriptManager.cpp:77
int main(int, char **) at Main.cpp:320

yvt avatar Jun 19 '22 15:06 yvt

Builds successfully with master + #1005 + *:arm64-osx vcpkg packages. It however fails at runtime:

2022/06/20 00:52:30 [ScriptManager.cpp:44]  (0, 0) : ERR  : Failed in call to function 'RegisterObjectBehaviour' with 'AudioChunk' and 'void f()' (Code: -7)

2022/06/20 00:52:30 [Main.cpp:650] [!] Terminating due to the fatal error: Not supported
at ../Sources/ScriptBindings/ScriptManager.cpp:190
static void spades::ScriptManager::CheckError(int) at ScriptManager.cpp:189
spades::ScriptManager::ScriptManager() at ScriptManager.cpp:77
int main(int, char **) at Main.cpp:320

You need to update the angelscript files as is.

Haxk20 avatar Jun 19 '22 19:06 Haxk20