In this gist, you can find the steps to run Minecraft 1.17 natively on Apple Silicon (AS), without needing Rosetta 2 translation of the dependencies (mainly LWJGL and related libraries).
While it's possible to use a launcher like MultiMC to have a prettier way to run the game on AS, it requires installing even more dependencies (like QT) which take time and are difficult to distribute. Therefore, I've put together a command line-based launcher tool using a couple shell & Python scripts.
To get up and running quickly, follow the steps below. Otherwise, for more detail, watch my YouTube videos: old, new.
To begin, download the Minecraft on Apple Silicon package I've already put together, containing some pre-compiled core dependencies like LWJGL and a convenient set of setup & launcher scripts. Unzip the file, and navigate to it in your terminal. Then follow the next steps.
You only need to run this if you plan on using a Microsoft account for authentication
npm install --global @xboxreplay/xboxlive-auth request
cd libraries
sh download.sh
cd ..
python3 downloadassets.py
Note: Replace
[email protected]
andpassword
with your actual username & password for Minecraft, but keep them enclosed in single quotes. This data is only used to communicate with Mojang's authentication servers and is never stored. The file containing your authtoken is deleted after the game launches.
export MCEMAIL='[email protected]'
export MCPASSWORD='password'
sh launch.sh
Note: Replace
[email protected]
andpassword
with your actual username & password for Minecraft, but keep them enclosed in single quotes. This data is only used to communicate with Mojang's authentication servers and is never stored. The file containing your authtoken is deleted after the game launches.
sh mojang_launch.sh '[email protected]' 'password'
It took me some extra steps to get it to work. I had to select "Allow macOS to run 'lwgjl-......dylib' ten zillion times in Security settings in System Preferences) while I attempted to launch it over and over until it granted permission to everything in 'lwjglnatives'.
But when I launch it... the best way to describe it is that it's really slow. It takes several seconds to detect mouseovers or UI button clicks. It would not accept keyboard input in the Multiplayer Servers menu. I did not even try actually starting a game because it was clear from the tremendously slow performance in the menu UI that it would not work out well for me.
How can I fix this?
I tried restarting my computer and reinstalling the npm modules and Minecraft assets, but this did not fix it.