-
Notifications
You must be signed in to change notification settings - Fork 619
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
Add native support for Apple M1 chips #1058
Comments
These games are from the era in which Apple was synonymous with PowerPC hardware (Quake III Arena: 1999, Jedi Outcast: 2002, Jedi Academy: 2003, Apple transition to x86: 2006) so it would surprise me if there are "Apple = x86" assumptions. As far as I know, the Apple M1 is a reasonably normal aarch64 (ARMv8A) CPU. OpenJK is regularly compiled for aarch64 Linux on Debian's infrastructure; I don't know of anyone actually testing the result (I don't have an aarch64 myself). |
Perhaps there weren't any assumptions at the time, but there's certainly a few since we ported the code to Mac (e.g. the binary extensions are assumed to be x86_64 for Mac). I had a quick try a few weeks ago and had to make a few changes. I didn't get very far cause I can't download the dependencies for the arm architecture. |
I'm not sure if it might be of any help but this guy got Jedi Academy running on an M1 Macbook Air via Rosetta 2 and SDL2, he used EternalJK, but I'm assuming it could be done with OpenJK as well. Now, I know you probably meant native support but this might be a good solution in the mean time. |
SDL2 has native binary for aarch64 m1 chip via homebrew so just should not be an issue still. But plenty of places assume intel/x86* on mac. |
When I said "native" I meant without needing Rosetta or SDL2. |
SDL2 is always going to be used in this project. It's integrated on all platforms. |
Well, just without Rosetta then. |
This is the tutorial he mentioned in the video, according to him, the only extra step needed is to install Rosetta 2. |
I don't see any reason why OpenJK wouldn't run on Rosetta on an M1 Mac so I think we're in agreement there. This issue is just about having OpenJK run natively |
Ah, to be honest, I don't really care about it running natively, I just wanted a feasible way to run it on an M1 Mac, you should probably add a tutorial on the README for installing and running OpenJK on an M1 Mac, in case anyone else wants to play Jedi Academy on theirs, at least until you find a way to run it natively. |
It is possible to run the latest compiled OpenJK OSX version from https://builds.openjk.org/ in a Macbook Air M1. All you need to do is find a libsdl2-2.0.0.dylib from another project and place it in /usr/local/lib. |
Users can download signed and notarised Universal 2 builds of OpenJK and OpenJO from Mac Source Ports, so this issue can probably be closed. |
I wonder how MacSilicon builds managed to take this compilation hurdle (MP only): |
you can check you changes made on their github fork |
My guess is there are some assumptions in the code that Apple means x86/x86_64. Would be good to remove all of these assumptions so that OpenJK can compile/run on Apple's new M1 devices which are ARM based.
The text was updated successfully, but these errors were encountered: