Skip to content
This repository has been archived by the owner on Feb 12, 2023. It is now read-only.

Alternative Method For Native Perfomance #32

Open
mjwells2002 opened this issue Dec 4, 2021 · 12 comments
Open

Alternative Method For Native Perfomance #32

mjwells2002 opened this issue Dec 4, 2021 · 12 comments

Comments

@mjwells2002
Copy link

alternatively you can replace the use of the wrapper command with a replacement jwjgl native json file

in order to do this in the version tab of multimc select lwjgl 3 and click customize then click edit

replace the content of the file it opens with the following https://gist.github.com/mjwells2002/417e1f673794b14c188b6138afb92bd9

then select a arm64 JRE for the instance like one from the following link https://www.azul.com/downloads/?os=macos&architecture=arm-64-bit&package=jre

launch the game and everything should work normally

@Priultimus
Copy link

Can't full screen, can you?

@theramzay
Copy link

Thanks! Works fine with 1.18!

@aheze
Copy link

aheze commented Dec 27, 2021

Amazing, thanks! 1.18 wasn't working for me before this. Just make sure to set the java version to the one that says java in the path.

Screen Shot 2021-12-26 at 11 01 15 PM

@theramzay
Copy link

@aheze I'm using just unzipped folder with java and all works fine. (I have no any installed java on system level)
image

@ghostseven
Copy link

Fantastic, this is an excellent method. Thank you!

@aquaface
Copy link

aquaface commented Jan 8, 2022

Is there a way to make this work for Minecraft 1.16.1? I was able to get it working with 1.18, but with 1.16, I get this error:

GLFW error 65548: Cocoa: Regular windows do not have icons on macOS.

The reason I'm asking is because LWJGL 3.3.0 patched this issue, but I can't seem to get a working Apple Silicon fix for it in 1.16; someone in the report I linked did provide an Intel fix for it that worked for me though.

@mezz
Copy link

mezz commented Jan 24, 2022

Fullscreen and Narrator on Mac depend on the Java-Objective-C-Bridge library, which needs a new release to support M1:
shannah/Java-Objective-C-Bridge#43
Once it's released, we can add it to the native.json file to update it as well and everything should work.

@mezz
Copy link

mezz commented Jan 24, 2022

Java-Objective-C-Bridge has been updated to 1.1, so it can be included here in the native.json in order to fully support the Narrator and Fullscreen on M1 mac :)

@thw0rted
Copy link

I just started reading up on this stuff today, so I'm still getting spun up. The native.json file -- is that part of LWJGL, part of core Minecraft, or part of MultiMC? Whichever one it is, would your edits be appropriate to submit as a PR to that project upstream?

(I guess if it ships with Minecraft they're unlikely to take a community submission, but hopefully they're working on supporting this out of the box already -- I saw on the LWJGL tracker that there was a MS rep actively involved, and the issue is now resolved/closed...)

@codewisdom
Copy link

codewisdom commented Mar 21, 2022

I'm roughly in the same boat as @thw0rted. Setting up Minecraft on a M1 Mac to play with my daughter occasionally. Since @mezz has indicated 1.1 of the bridge has been released (1.1), the JSON config can be updated to get everything working https://gist.github.com/mjwells2002/417e1f673794b14c188b6138afb92bd9. Using Minecraft Fullscreen causes a crash for me, even with this wrapper hack. Same for everyone else I assume or am I doing something wrong with this?

@thw0rted
Copy link

@codewisdom I had one fullscreen crash on first run, before trying any kind of fixes, but it hasn't happened again since. (The computer was a few hours old, and I'm not a Mac Person, so it was really fun trying to figure out how to handle a fullscreen "brick effect" texture that prevented us from seeing any applications -- including the Force Quit dialog! -- or the top menu bar. If it ever happens to you: CMD+Shift+Q prompts you to log out the current user.)

One other option you should be aware of: I believe that just installing an aarm JRE (I used Azul, I think?) then using ManyMC should Just Work. MultiMC has declined to incorporate these fixes -- they don't want to be on the hook for maintaining them, which is certainly fair. As I understand it, ManyMC is a fork of MultiMC, focused specifically on the Apple Silicon platform. Seemed to work well for me.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

10 participants