Skip to content

Instantly share code, notes, and snippets.

@nikhiljha
Last active July 10, 2024 12:48
Show Gist options
  • Save nikhiljha/7313ac5553aafb1c8596b1fca0f4cdff to your computer and use it in GitHub Desktop.
Save nikhiljha/7313ac5553aafb1c8596b1fca0f4cdff to your computer and use it in GitHub Desktop.
Apple Silicon (M1) + MultiMC + Minecraft 1.18 + Native LWJGL

Edit (2024): You no longer need to follow this guide! Just use PrismLauncher.

.

.

.

.

Apple Silicon (M1) + MultiMC + Minecraft 1.18 + Native LWJGL

Up to Minecraft 1.17.X I used yusefnapora/m1-multimc-hack, but this stopped working for me starting in Minecraft 1.18. Grabbing random jarfiles from a git repository is a little suspicious, so let's do it safely by getting the libraries from the official LWJGL website!

Installing Java

If you don't have Homebrew installed already, install Homebrew by following the instructions at brew.sh. Then, just open a Terminal and type...

brew install java

Installing MultiMC

Install the latest version of MultiMC from the MultiMC website. Unfortunately, the launcher will have to run with Rosetta. This won't affect game performance.

Using Updated LWJGL

Create a Minecraft 1.18 instance, right click, edit instance, and go to the versions tab on the left. Click on LWJGL in the list, then click customize on the right. Click edit to open the LWJGL configuration file. Replace the content of the file that opens up with the contents of the file called org.lwjgl3.json that is attached to this gist (see below).

Launch and Play

Have fun!

Credits: An older version of this guide required you to manually download jar files. The updated version uses @mjwells2002's gist that automatically downloads the jar files for you!

{
"formatVersion": 1,
"libraries": [
{
"downloads": {
"artifact": {
"sha1": "899e34f314525596f8fdb6476d3e56104da4601d",
"size": 128614,
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl-glfw/3.3.0/lwjgl-glfw-3.3.0.jar"
}
},
"name": "org.lwjgl:lwjgl-glfw:3.3.0"
},
{
"downloads": {
"artifact": {
"sha1": "899e34f314525596f8fdb6476d3e56104da4601d",
"size": 128614,
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl-glfw/3.3.0/lwjgl-glfw-3.3.0.jar"
},
"classifiers": {
"natives-linux": {
"sha1": "d710d7211b4060f738123a47dcc530329ecb0661",
"size": 119298,
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl-glfw/3.3.0/lwjgl-glfw-3.3.0-natives-linux.jar"
},
"natives-macos": {
"sha1": "1cc19d82bd2a486cb709a4cf7b4962fe65901199",
"size": 64208,
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl-glfw/3.3.0/lwjgl-glfw-3.3.0-natives-macos-arm64.jar"
},
"natives-windows": {
"sha1": "b2d71cebdfecc512131879573e835211cb47b91f",
"size": 145363,
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl-glfw/3.3.0/lwjgl-glfw-3.3.0-natives-windows.jar"
}
}
},
"name": "org.lwjgl:lwjgl-glfw:3.3.0",
"natives": {
"linux": "natives-linux",
"osx": "natives-macos",
"windows": "natives-windows"
}
},
{
"downloads": {
"artifact": {
"sha1": "ce52faa3fd0c9ed7af45145e94b01eade5fd5daf",
"size": 36597,
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl-jemalloc/3.3.0/lwjgl-jemalloc-3.3.0.jar"
}
},
"name": "org.lwjgl:lwjgl-jemalloc:3.3.0"
},
{
"downloads": {
"artifact": {
"sha1": "ce52faa3fd0c9ed7af45145e94b01eade5fd5daf",
"size": 36597,
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl-jemalloc/3.3.0/lwjgl-jemalloc-3.3.0.jar"
},
"classifiers": {
"natives-linux": {
"sha1": "2048c1c6d89c8e6120f7bb4d4150f4b11ebc14ac",
"size": 166526,
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl-jemalloc/3.3.0/lwjgl-jemalloc-3.3.0-natives-linux.jar"
},
"natives-macos": {
"sha1": "8ccf1138c54f1bf67a92317922231cba2a60d596",
"size": 102286,
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl-jemalloc/3.3.0/lwjgl-jemalloc-3.3.0-natives-macos-arm64.jar"
},
"natives-windows": {
"sha1": "9791515338f880a0e12de6b545ebd807dd066fe6",
"size": 127747,
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl-jemalloc/3.3.0/lwjgl-jemalloc-3.3.0-natives-windows.jar"
}
}
},
"name": "org.lwjgl:lwjgl-jemalloc:3.3.0",
"natives": {
"linux": "natives-linux",
"osx": "natives-macos",
"windows": "natives-windows"
}
},
{
"downloads": {
"artifact": {
"sha1": "902dd57b5a46e8a75ee843c2db61f80b4d130d48",
"size": 88240,
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl-openal/3.3.0/lwjgl-openal-3.3.0.jar"
}
},
"name": "org.lwjgl:lwjgl-openal:3.3.0"
},
{
"downloads": {
"artifact": {
"sha1": "902dd57b5a46e8a75ee843c2db61f80b4d130d48",
"size": 88240,
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl-openal/3.3.0/lwjgl-openal-3.3.0.jar"
},
"classifiers": {
"natives-linux": {
"sha1": "ec44eb3dd863e644160daa570d63f52be5b6c893",
"size": 476826,
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl-openal/3.3.0/lwjgl-openal-3.3.0-natives-linux.jar"
},
"natives-macos": {
"sha1": "a819bc83171a98349c13749cbde3a956946cf0ca",
"size": 346127,
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl-openal/3.3.0/lwjgl-openal-3.3.0-natives-macos-arm64.jar"
},
"natives-windows": {
"sha1": "0d6e59a987bd196b9a7ce161db41fe1727b0d88f",
"size": 576873,
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl-openal/3.3.0/lwjgl-openal-3.3.0-natives-windows.jar"
}
}
},
"name": "org.lwjgl:lwjgl-openal:3.3.0",
"natives": {
"linux": "natives-linux",
"osx": "natives-macos",
"windows": "natives-windows"
}
},
{
"downloads": {
"artifact": {
"sha1": "a1f395f7758a3abd5aff75fc8a20368ac371631e",
"size": 921416,
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl-opengl/3.3.0/lwjgl-opengl-3.3.0.jar"
}
},
"name": "org.lwjgl:lwjgl-opengl:3.3.0"
},
{
"downloads": {
"artifact": {
"sha1": "a1f395f7758a3abd5aff75fc8a20368ac371631e",
"size": 921416,
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl-opengl/3.3.0/lwjgl-opengl-3.3.0.jar"
},
"classifiers": {
"natives-linux": {
"sha1": "10f740ad411597e64c0d59d2303a6bbe7e3d79d8",
"size": 79126,
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl-opengl/3.3.0/lwjgl-opengl-3.3.0-natives-linux.jar"
},
"natives-macos": {
"sha1": "6bac5f116d0c8f64cad7508a08aa512eb28b568a",
"size": 41648,
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl-opengl/3.3.0/lwjgl-opengl-3.3.0-natives-macos-arm64.jar"
},
"natives-windows": {
"sha1": "de52e197709c8d03cb386ed7b3b4ce8b96a339f3",
"size": 99583,
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl-opengl/3.3.0/lwjgl-opengl-3.3.0-natives-windows.jar"
}
}
},
"name": "org.lwjgl:lwjgl-opengl:3.3.0",
"natives": {
"linux": "natives-linux",
"osx": "natives-macos",
"windows": "natives-windows"
}
},
{
"downloads": {
"artifact": {
"sha1": "69becce49e19671fccca33bfb273231055bd9fcf",
"size": 112376,
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl-stb/3.3.0/lwjgl-stb-3.3.0.jar"
}
},
"name": "org.lwjgl:lwjgl-stb:3.3.0"
},
{
"downloads": {
"artifact": {
"sha1": "69becce49e19671fccca33bfb273231055bd9fcf",
"size": 112376,
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl-stb/3.3.0/lwjgl-stb-3.3.0.jar"
},
"classifiers": {
"natives-linux": {
"sha1": "4c1a538d22f9b4f11857fc9a244b7e8f65c145da",
"size": 227248,
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl-stb/3.3.0/lwjgl-stb-3.3.0-natives-linux.jar"
},
"natives-macos": {
"sha1": "058db805624ca56d9870346ff49cf386bb00177b",
"size": 171497,
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl-stb/3.3.0/lwjgl-stb-3.3.0-natives-macos-arm64.jar"
},
"natives-windows": {
"sha1": "58994705dc03cca4da31ab850edfae51cfbff74c",
"size": 256301,
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl-stb/3.3.0/lwjgl-stb-3.3.0-natives-windows.jar"
}
}
},
"name": "org.lwjgl:lwjgl-stb:3.3.0",
"natives": {
"linux": "natives-linux",
"osx": "natives-macos",
"windows": "natives-windows"
}
},
{
"downloads": {
"artifact": {
"sha1": "e3bf58d4830e2b35ee7e6f40b1eafd8637c290b8",
"size": 6768,
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl-tinyfd/3.3.0/lwjgl-tinyfd-3.3.0.jar"
}
},
"name": "org.lwjgl:lwjgl-tinyfd:3.3.0"
},
{
"downloads": {
"artifact": {
"sha1": "e3bf58d4830e2b35ee7e6f40b1eafd8637c290b8",
"size": 6768,
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl-tinyfd/3.3.0/lwjgl-tinyfd-3.3.0.jar"
},
"classifiers": {
"javadoc": {
"sha1": "1d95e19d1b205ab4315c0607854615ab73fdbb0f",
"size": 372019,
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl-tinyfd/3.3.0/lwjgl-tinyfd-3.3.0-javadoc.jar"
},
"natives-linux": {
"sha1": "ac199ca754847003ca2207958e2b593b6a849203",
"size": 45397,
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl-tinyfd/3.3.0/lwjgl-tinyfd-3.3.0-natives-linux.jar"
},
"natives-macos": {
"sha1": "95822d8d5a816a82ae598d027c076af9f5519794",
"size": 40895,
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl-tinyfd/3.3.0/lwjgl-tinyfd-3.3.0-natives-macos-arm64.jar"
},
"natives-windows": {
"sha1": "6ea51840d468311df210018d47861ec8ac483794",
"size": 127930,
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl-tinyfd/3.3.0/lwjgl-tinyfd-3.3.0-natives-windows.jar"
},
"sources": {
"sha1": "6b3d800ec29bcf398759f13661f807fc79a1e49b",
"size": 5530,
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl-tinyfd/3.3.0/lwjgl-tinyfd-3.3.0-sources.jar"
}
}
},
"name": "org.lwjgl:lwjgl-tinyfd:3.3.0",
"natives": {
"linux": "natives-linux",
"osx": "natives-macos",
"windows": "natives-windows"
}
},
{
"downloads": {
"artifact": {
"sha1": "77b0dc0b6a6c82fb47368e73d55e23fdcfcf49a1",
"size": 568714,
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl/3.3.0/lwjgl-3.3.0.jar"
}
},
"name": "org.lwjgl:lwjgl:3.3.0"
},
{
"downloads": {
"artifact": {
"sha1": "77b0dc0b6a6c82fb47368e73d55e23fdcfcf49a1",
"size": 568714,
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl/3.3.0/lwjgl-3.3.0.jar"
},
"classifiers": {
"natives-linux": {
"sha1": "ba27f18455bae3537174ace0af75c3114004b2e0",
"size": 97064,
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl/3.3.0/lwjgl-3.3.0-natives-linux.jar"
},
"natives-macos": {
"sha1": "f4a5d3b1faa210a27b5592bd2ac9ed07b5a8d891",
"size": 41619,
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl/3.3.0/lwjgl-3.3.0-natives-macos-arm64.jar"
},
"natives-windows": {
"sha1": "835e69d483be5ff5f2259ec7802855bd2ff46492",
"size": 156015,
"url": "https://repo1.maven.org/maven2/org/lwjgl/lwjgl/3.3.0/lwjgl-3.3.0-natives-windows.jar"
}
}
},
"name": "org.lwjgl:lwjgl:3.3.0",
"natives": {
"linux": "natives-linux",
"osx": "natives-macos",
"windows": "natives-windows"
}
}
],
"name": "LWJGL 3",
"releaseTime": "2019-06-24T12:52:52+00:00",
"type": "release",
"uid": "org.lwjgl3",
"version": "3.3.0",
"volatile": true,
"time": "2021-12-04T02:08:40.155Z"
}
@jameschubbuck
Copy link

it worked

@thw0rted
Copy link

There's an issue on the multimc-hack repo that links to https://gist.github.com/mjwells2002/417e1f673794b14c188b6138afb92bd9 , which suggests that instead of downloading individual v3.3.0 JARs by hand, you can use a downloads.url property and I guess the relevant dependencies are downloaded automatically (by the launcher?). You should be able to trust the JARs because the JSON in that gist points to the official release packages, I think.

@nikhiljha
Copy link
Author

@thw0rted Thanks! I updated the instructions in this one to use that JSON instead + a link to the original gist. This is much easier, thanks for the pointer. :)

@thw0rted
Copy link

Since writing that previous comment, somebody pointed me to ManyMC, a fork of MultiMC that incorporates these (and I guess other?) Apple Silicon fixes directly. Probably the simplest solution for the average user.

@Cat7373
Copy link

Cat7373 commented Jan 25, 2023

@Kocal
Copy link

Kocal commented Apr 21, 2023

Thanks :)

@ryleighnewman
Copy link

Can you update this to be compatible with 1.20.4 please?

@Cat7373
Copy link

Cat7373 commented May 15, 2024

Can you update this to be compatible with 1.20.4 please?

@ryleighn You can use HMCL to directly launch higher versions of minecraft:
https://github.com/HMCL-dev/HMCL/releases

@nikhiljha
Copy link
Author

@ryleighn I've never heard of HMCL, so can't recommend, but I use PrismLauncher (GitHub) now and I updated the gist to reflect that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment