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

Native Apple Silicon (darwin-arm64) Support #910

Merged
merged 1 commit into from
Apr 12, 2022

Conversation

keegandent
Copy link
Contributor

Re-do of #908 with squashed commits.

I made some basic switches in the Makefile so now it's possible to build and run on macOS without Rosetta 2.

Without knowing maintainer plans, I have it display a warning that arm64 (not aarch64) is not officially supported. If project leadership wishes to officially support this configuration, recommended as this is Apple's architecture going forward, we can remove the warning.

I made an effort to support assembly functionality for the new dynarec as part of #831, but it is either beyond my abilities or not feasible at this time. Regardless, the emulator passes the tests without this element, so I am presuming there is no drawback to releasing with NO_ASM for darwin-arm64.

@keegandent
Copy link
Contributor Author

keegandent commented Dec 14, 2021

I know the commit message on this one is pretty bad, does the maintainer doing the merge have the option of changing it upon approval?

Should I be including any artifacts to show these changes perform as advertised?

@Jj0YzL5nvJ
Copy link
Contributor

git clone https://github.com/keegandent/mupen64plus-core.git
wget -O apple-silicon.patch https://github.com/keegandent/mupen64plus-core/commit/d57d9029100b7a4b44c4d850e3902dae04def00a.patch
cd mupen64plus-core/
git remote add upstream https://github.com/mupen64plus/mupen64plus-core.git
git fetch upstream
git fetch --tags upstream
git checkout apple-silicon
git reset --hard 57828d930280554c7400bb2bcf1e46c7f2ee8373
git merge upstream/master
git apply ../apple-silicon.patch
git add projects/unix/Makefile
git commit -m "Adding Apple Silicon support..."
git push --force origin apple-silicon

This code will 'rebase' your 'pull' to mupen64plus-core:master and re-add your changes as Adding Apple Silicon support..., you can change the message as you see fit.

Does not include support for new dynarec on Apple Silicon
@keegandent
Copy link
Contributor Author

keegandent commented Jan 7, 2022

Thank you; the commit message is less terrible now. Please let me know if there are any artifacts that should be provided as evidence. I would be happy to create and attach them.

@keegandent
Copy link
Contributor Author

Is there something else I need to provide before this can be merged?

@richard42
Copy link
Member

sorry it's been so long. I have a huge list of stuff to review for m64+ and this is actually at the top. I'll take a look after I get back from vacation in a week.

@richard42 richard42 merged commit c86ef6b into mupen64plus:master Apr 12, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants