For those of you who do not know, last November, Apple began transitioning all of their laptop and desktop devices to CPUs with ARM64 instruction set architectures. The first generation of these chips is called M1. Programs written for the old x86 architecture (including Minecraft) can still be run through the binary translation program Apple provides (Rosetta 2), but this comes at roughly a 20-30% performance hit (supposedly), so clearly a native release version would be preferable. Several other products provided by Microsoft, like Microsoft Office and Visual Studio Code, released MacOS ARM64 versions months ago, but Minecraft seems to be somewhat lagging behind.
This seems understandable, as I imagine Mojang has their hands full working on the Caves and Cliffs update. My question is this: Does Mojang plan on releasing a MacOS ARM64 version of Minecraft Java (both the launcher and the actual game) in the near future? Have they said anything publicly about this at all? How would we know if such a thing is released and how would we update Minecraft accordingly? Would it appear in a changelog for new Minecraft version, or would we have to re-install Minecraft? Would the launcher and game just automatically do this when a new Minecraft version comes out?
Wouldn't that depend more on the version of Java on the Mac than what Mojang does? I have little knowledge of the Mac architecture so more asking for my own curiosity.
Rollback Post to RevisionRollBack
D_B
To tell them how to live is to prevent them living.
My understanding (which could be wrong) is that the Minecraft installation comes with its own standalone version of Java. The launcher itself is another matter because it is written in C++. Minecraft does not use whatever version of Java you have installed on your computer.
This appears to be the 17th most upvoted feedback under the Java snapshots category, so it seems plausible that it could already on their radar. I just wish they would say something publicly about their intentions regarding this issue, whether it be "we plan to have it in the next few months" or "likely next year" or just "No, never going to happen".
Agreed. To passive/aggressively ignore the issue as a way of snubbing the Macverse is really quite childish at this point in the game. Mac users represent a huge market; just make the port and be done with it. There's room in the sandbox for both OSs.
I do not think they are trying to passive aggressively ignore anything. The pipeline for porting software to new platforms and architectures can often involve waiting on the developers of the software's dependencies updating their software first. For instance, I do a lot of work with Python data science packages. Some of the major packages have not ported their code yet not because they are lazy or snubbing Mac users, but because those packages require a Fortran compiler, which so far does not exist for MacOS ARM64. It could very well be that Mojang is waiting on on the developers of one of Minecraft's dependencies to port their code first. Or perhaps they just have just had their hands full with 1.17. That being said, there exist tutorials online where people have explained how to get Minecraft to run natively online, so clearly it cannot be *too* much of a challenge.
Whatever the reason may be, I just wish they would state their plans publicly so we can set our expectations to SOMETHING instead of just waiting without so much as a whisper of any plans regarding this.
Update: It turns out that this is something you can do yourself. I just googled "how to optimize Minecraft for M1" and followed the instructions given by info toast. The performance is amazing. It involves installing a maces-arm64 version of Java 16 and using MultiMC. I do however, still hope Mojang releases an M1-optimized version of Minecraft for the official launcher. It doesn't seem like a difficult thing to do.
This is down to the developers of Java and LWJGL, not Mojang - one of the biggest advantages of Java is that since it runs within a virtual machine, which translates Java bytecode into native machine code at runtime (as opposed to C++, which is compiled to native code at compile time), the exact same bytecode can run on any platform that the JVM supports - there is only one Minecraft.jar for each game version. The developers of LWJGL, also separate from the game itself, also needs to make native binaries - all Mojang needs to do is then specify that these binaries are used when running on M1 Macs - just as there are already separate binaries and JVMs for older Macs, Windows, and Linux. The launcher itself doesn't need to be native; the Windows version isn't even 64 bit since there is no advantage that warrants making separate versions for 32 and 64 bit.
There do seem to be arm64 versions of Java, but it does look like the bottleneck is LWJGL. It does look like there is a known fix for LWJGL on GitHub and they are aware of it.
Looks there are lwjgl builds for M1 (see https://github.com/yusefnapora/m1-multimc-hack, I successfully launched and played MC a few months ago with 3rd party launcher, maybe not compatible for current newest MC version).
For those of you who do not know, last November, Apple began transitioning all of their laptop and desktop devices to CPUs with ARM64 instruction set architectures. The first generation of these chips is called M1. Programs written for the old x86 architecture (including Minecraft) can still be run through the binary translation program Apple provides (Rosetta 2), but this comes at roughly a 20-30% performance hit (supposedly), so clearly a native release version would be preferable. Several other products provided by Microsoft, like Microsoft Office and Visual Studio Code, released MacOS ARM64 versions months ago, but Minecraft seems to be somewhat lagging behind.
This seems understandable, as I imagine Mojang has their hands full working on the Caves and Cliffs update. My question is this: Does Mojang plan on releasing a MacOS ARM64 version of Minecraft Java (both the launcher and the actual game) in the near future? Have they said anything publicly about this at all? How would we know if such a thing is released and how would we update Minecraft accordingly? Would it appear in a changelog for new Minecraft version, or would we have to re-install Minecraft? Would the launcher and game just automatically do this when a new Minecraft version comes out?
Alright, thank you. How would one go about asking questions to Mojang directly?
Feedback.minecraft.net
Wouldn't that depend more on the version of Java on the Mac than what Mojang does? I have little knowledge of the Mac architecture so more asking for my own curiosity.
D_B
To tell them how to live is to prevent them living.
My understanding (which could be wrong) is that the Minecraft installation comes with its own standalone version of Java. The launcher itself is another matter because it is written in C++. Minecraft does not use whatever version of Java you have installed on your computer.
This appears to be the 17th most upvoted feedback under the Java snapshots category, so it seems plausible that it could already on their radar. I just wish they would say something publicly about their intentions regarding this issue, whether it be "we plan to have it in the next few months" or "likely next year" or just "No, never going to happen".
Agreed. To passive/aggressively ignore the issue as a way of snubbing the Macverse is really quite childish at this point in the game. Mac users represent a huge market; just make the port and be done with it. There's room in the sandbox for both OSs.
I do not think they are trying to passive aggressively ignore anything. The pipeline for porting software to new platforms and architectures can often involve waiting on the developers of the software's dependencies updating their software first. For instance, I do a lot of work with Python data science packages. Some of the major packages have not ported their code yet not because they are lazy or snubbing Mac users, but because those packages require a Fortran compiler, which so far does not exist for MacOS ARM64. It could very well be that Mojang is waiting on on the developers of one of Minecraft's dependencies to port their code first. Or perhaps they just have just had their hands full with 1.17. That being said, there exist tutorials online where people have explained how to get Minecraft to run natively online, so clearly it cannot be *too* much of a challenge.
Whatever the reason may be, I just wish they would state their plans publicly so we can set our expectations to SOMETHING instead of just waiting without so much as a whisper of any plans regarding this.
Update: It turns out that this is something you can do yourself. I just googled "how to optimize Minecraft for M1" and followed the instructions given by info toast. The performance is amazing. It involves installing a maces-arm64 version of Java 16 and using MultiMC. I do however, still hope Mojang releases an M1-optimized version of Minecraft for the official launcher. It doesn't seem like a difficult thing to do.
This is down to the developers of Java and LWJGL, not Mojang - one of the biggest advantages of Java is that since it runs within a virtual machine, which translates Java bytecode into native machine code at runtime (as opposed to C++, which is compiled to native code at compile time), the exact same bytecode can run on any platform that the JVM supports - there is only one Minecraft.jar for each game version. The developers of LWJGL, also separate from the game itself, also needs to make native binaries - all Mojang needs to do is then specify that these binaries are used when running on M1 Macs - just as there are already separate binaries and JVMs for older Macs, Windows, and Linux. The launcher itself doesn't need to be native; the Windows version isn't even 64 bit since there is no advantage that warrants making separate versions for 32 and 64 bit.
TheMasterCaver's First World - possibly the most caved-out world in Minecraft history - includes world download.
TheMasterCaver's World - my own version of Minecraft largely based on my views of how the game should have evolved since 1.6.4.
Why do I still play in 1.6.4?
There do seem to be arm64 versions of Java, but it does look like the bottleneck is LWJGL. It does look like there is a known fix for LWJGL on GitHub and they are aware of it.
Looks there are lwjgl builds for M1 (see https://github.com/yusefnapora/m1-multimc-hack, I successfully launched and played MC a few months ago with 3rd party launcher, maybe not compatible for current newest MC version).
Azul also has ARM64 macOS OpenJDK (https://www.azul.com/downloads/?os=macos&architecture=arm-64-bit&package=jdk).
I think there's not serious technical blockers, but lwjgl hasn't released official support for ARM64 macOS.
It looks like lwjl has released official support for MacOS ARM64, so Mojang should be able to port the Minecraft code.