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

All version support#2

Open
r58Playz wants to merge 34 commits intoyusefnapora:masterfrom
r58Playz:master
Open

All version support#2
r58Playz wants to merge 34 commits intoyusefnapora:masterfrom
r58Playz:master

Conversation

@r58Playz
Copy link
Copy Markdown

@r58Playz r58Playz commented Feb 8, 2021

Title.

Caveats:
The narrator has been disabled by decompiling and recompiling. fixed

@r58Playz r58Playz changed the title Add support for 1.6-1.12 Add support for betas-1.12 Feb 22, 2021
@bryce-hoehn
Copy link
Copy Markdown

Works for me after I fixed the log file location. Please approve my pull request in your fork first.

@r58Playz
Copy link
Copy Markdown
Author

r58Playz commented Mar 13, 2021

Optifine does not work due to sp614x/optifine#4824.

It got fixed, yay

@r58Playz r58Playz changed the title Add support for betas-1.12 All version support Apr 5, 2021
@au5ton
Copy link
Copy Markdown

au5ton commented May 12, 2021

Will this be merged @yusefnapora ? I have some improvements that will make getting the latest nightly LWJGL builds easier.

@MoustacheOff
Copy link
Copy Markdown

Does it work with Minecraft Forge?

@MoustacheOff
Copy link
Copy Markdown

And how can I download the updated files please?
It seems to be awesome work!

@MoustacheOff
Copy link
Copy Markdown

MoustacheOff commented Jun 3, 2021

@au5ton Your work is great! I tested on multiple versions and it works! :D

@theofficialgman
Copy link
Copy Markdown

theofficialgman commented Sep 3, 2021

@r58Playz have you considered making a custom meta-multimc repo instead of using this wrapper command?
its a compile time parameter so it would only be for custom builds (which would also allow multimc5 itself to run native)
https://github.com/theofficialgman/meta-multimc/tree/master
this is the one I maintain for arm64 linux ^

@ViRb3
Copy link
Copy Markdown

ViRb3 commented Dec 1, 2021

@yusefnapora @r58Playz @theofficialgman I have created an unofficial, fully native build of MultiMC for macOS arm64 (M1). It is powered by a custom meta package, and it can run all Minecraft versions from 1.5.2 to 1.18, including Forge. It works without any manual setup or wrappers.

Find it here: https://github.com/MinecraftMachina/ManyMC

@theofficialgman
Copy link
Copy Markdown

theofficialgman commented Dec 1, 2021

@ViRb3 a couple of things to note for your meta repo. https://github.com/MinecraftMachina/meta-multimc-arm64
you can actually remove all the 2.9.X folders except 2.9.4-nightly-20150209.json, no multimc meta package refers to the old versions anymore.

also, replacing all lwjgl 3 with 3.3.0 works mostly but will (and has) caused some bugs/crashes in mods, specifically sodium fabric mod had a known incompatibility (though there is a workaround in sodium now for the crash, CaffeineMC/sodium#748 CaffeineMC/sodium@fac6e03). You should probably note this on the install page that there may be crashes in 1.13+ mods. The commits to lwjgl 3.3.0 which allow for building on arm64 macos/windows can be backported to older lwjgl versions to fix potential incompatibilities, thats what I did for linux. If you ever go that route, you should probably start off with my linux arm branches of 3.1.6, 3.2.1, and 3.2.2, since most of the changes necessary are already there.

specially, you would probably need (most of) these commits cherry-picked/backported (adding them here for my reference as well if I ever get board and do it):
LWJGL/lwjgl3@9bd6e60
LWJGL/lwjgl3@2ddd63f
LWJGL/lwjgl3@960462c
LWJGL/lwjgl3@6e7fdff
LWJGL/lwjgl3@bd9557d
LWJGL/lwjgl3@9de37ae
LWJGL/lwjgl3@c32e229
LWJGL/lwjgl3@8a990e0
LWJGL/lwjgl3@d97533c

also, inverted colors is an interesting bug... never seen that before myself on any version on armhf/arm64 linux. Probably just some macos arm64 opengl bug in particular.

Using text-to-speech will result in a crash
No current workaround

on armhf/arm64 linux text2speech just doesn't get loaded because it can't load an x86_64 binary (I didn't replace the native), so can't be enabled. I assume text2speech tries to get loaded through rosetta2 on macos resulting in a crash for you.

@ViRb3
Copy link
Copy Markdown

ViRb3 commented Dec 1, 2021

Thanks so much for the detailed tips @theofficialgman. I did not expect that there would be breaking changes between minor updates of LWJGL3. I will definitely check out your repos and build the original LWJGL versions for each Minecraft release.

on armhf/arm64 linux text2speech just doesn't get loaded because it can't load an x86_64 binary (I didn't replace the native), so can't be enabled. I assume text2speech tries to get loaded through rosetta2 on macos resulting in a crash for you.

Have you tried pressing Ctrl + B (enable text-to-speech) while in-game? The natives are not loaded unless you invoke them, except on MC 1.12-1.13 with text2speech < 1.11, where they are loaded on start and cause a crash. I had to update the dependency so it delays the crash until Ctrl + B is pressed.

P.S. Do you mind if I connect with you in case I have any questions about the compilation? Ideally E-mail, Discord, or Telegram. Many thanks.

@theofficialgman
Copy link
Copy Markdown

@ViRb3 I'm gman#3709 on discord (kinda busy this week but I should be free to talk next week).

I did not expect that there would be breaking changes between minor updates of LWJGL3.

You can read the release notes for lwjgl versions on the github, they always detail breaking changes in each version. Usually we just get lucky and vanilla minecraft is not affected by them.

Have you tried pressing Ctrl + B (enable text-to-speech) while in-game?

I have not, because I get logs in the minecraft log detailing the natives could not be found (on linux if the architecture doesn't match, the file basically doesn't exist to programs). Also the button in the GUI settings page is greyed out and says it can't be enabled, so I never thought to try the hotkey. I'll have to check later. I assume this is still a macos only issue since rosetta tries to get used.

@MoustacheOff
Copy link
Copy Markdown

@r58Playz Could you apply the fixes from this on your fork? https://github.com/GameParrot/minecraft-mac-window-fix/ (but with the arm64 native libraries)

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants