FabricMC / fabric-loom

Gradle build system plugin used to automate the setup of a minecraft mod development environment.
MIT License
233 stars 201 forks source link

Game does not boot in dev environment on MacOS #963

Closed char3210 closed 10 months ago

char3210 commented 11 months ago

When trying to launch Minecraft Client 1.16.1 on MacOS with Loom 1.4, the game window cannot be created and a popup appears. image

This does not happen on Loom 1.3. This seems to happen because the game is trying to use a different LWJGL version (3.3.2-snapshot on Loom 1.4) which causes the game to crash when an operation is not supported rather than the previous behavior of silently ignoring it.

Stacktrace
[13:04:18] [main/INFO] (Minecraft) Backend library: LWJGL version 3.3.2-snapshot [13:04:32] [main/WARN] (Minecraft) Failed to create window: com.mojang.blaze3d.platform.Window$WindowInitFailed: GLFW error 65548: Cocoa: Regular windows do not have icons on macOS at com.mojang.blaze3d.platform.Window.bootCrash(Window.java:208) ~[minecraft-merged-4d6cd39190-1.16.1-loom.mappings.1_16_1.layered+hash.746785244-v2.jar:?] at org.lwjgl.glfw.GLFWErrorCallbackI.callback(GLFWErrorCallbackI.java:43) ~[lwjgl-glfw-3.3.2.jar:?] at org.lwjgl.system.JNI.invokePPV(Native Method) ~[lwjgl-3.3.2.jar:?] at org.lwjgl.glfw.GLFW.nglfwSetWindowIcon(GLFW.java:2368) ~[lwjgl-glfw-3.3.2.jar:?] at org.lwjgl.glfw.GLFW.glfwSetWindowIcon(GLFW.java:2400) ~[lwjgl-glfw-3.3.2.jar:?] at com.mojang.blaze3d.platform.Window.setIcon(Window.java:166) ~[minecraft-merged-4d6cd39190-1.16.1-loom.mappings.1_16_1.layered+hash.746785244-v2.jar:?] at net.minecraft.client.Minecraft.(Minecraft.java:430) ~[minecraft-merged-4d6cd39190-1.16.1-loom.mappings.1_16_1.layered+hash.746785244-v2.jar:?] at net.minecraft.client.main.Main.main(Main.java:152) [minecraft-merged-4d6cd39190-1.16.1-loom.mappings.1_16_1.layered+hash.746785244-v2.jar:?] at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:462) [fabric-loader-0.14.19.jar:?] at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) [fabric-loader-0.14.19.jar:?] at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) [fabric-loader-0.14.19.jar:?] at net.fabricmc.devlaunchinjector.Main.main(Main.java:86) [dev-launch-injector-0.2.1+build.8.jar:?]
modmuss50 commented 11 months ago

Can you provide the full game log please? Loom should include the https://github.com/FabricMC/fabric-loom-native-support mod automatically to fix this issue.

char3210 commented 11 months ago

I can't seem to reproduce it anymore, as the game is now launching with LWJGL 3.2.1 even on Loom 1.4. I'm not sure how I got it to launch with 3.3.2 in the first place, perhaps it is using some global installation? Either way, I don't think the mod appeared as loaded in the logs, and it still doesn't appear when launching it now. I'm on an Intel Macbook Pro running MacOS Ventura 13.6

char3210 commented 11 months ago

I'm able to get the crash on Prism Launcher by changing the LWJGL version to 3.2.2, not sure if that is relevant here though. Perhaps it could be fixed on fabric loader?

[13:28:22] [main/INFO]: Loading Minecraft 1.16.1 with Fabric Loader 0.14.23 [13:28:22] [main/INFO]: Fabric is preparing JARs on first launch, this may take a few seconds... [13:28:22] [main/INFO]: Loading 3 mods: - fabricloader 0.14.23 - java 19 - minecraft 1.16.1 [13:28:22] [main/INFO]: SpongePowered MIXIN Subsystem Version=0.8.5 Source=file:/Users/**/Library/Application%20Support/PrismLauncher/libraries/net/fabricmc/sponge-mixin/0.12.5+mixin.0.8.5/sponge-mixin-0.12.5+mixin.0.8.5.jar Service=Knot/Fabric Env=CLIENT [13:28:26] [Render thread/INFO]: Environment: authHost='https://authserver.mojang.com', accountsHost='https://api.mojang.com', sessionHost='https://sessionserver.mojang.com', name='PROD' [13:28:26] [Render thread/INFO]: Setting user: char321 [13:28:26] [Render thread/INFO]: Backend library: LWJGL version 3.3.2-snapshot [13:28:29] [Render thread/WARN]: Failed to create window: net.minecraft.class_1041$class_4716: GLFW error 65548: Cocoa: Regular windows do not have icons on macOS at net.minecraft.class_1041.method_4501(class_1041.java:216) ~[client-intermediary.jar:?] at org.lwjgl.glfw.GLFWErrorCallbackI.callback(GLFWErrorCallbackI.java:43) ~[lwjgl-glfw-3.3.2.jar:?] at org.lwjgl.system.JNI.invokePPV(Native Method) ~[lwjgl-3.3.2.jar:?] at org.lwjgl.glfw.GLFW.nglfwSetWindowIcon(GLFW.java:2368) ~[lwjgl-glfw-3.3.2.jar:?] at org.lwjgl.glfw.GLFW.glfwSetWindowIcon(GLFW.java:2400) ~[lwjgl-glfw-3.3.2.jar:?] at net.minecraft.class_1041.method_4491(class_1041.java:178) ~[client-intermediary.jar:?] at net.minecraft.class_310.(class_310.java:454) ~[client-intermediary.jar:?] at net.minecraft.client.main.Main.main(Main.java:177) [client-intermediary.jar:?] at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:468) [fabric-loader-0.14.23.jar:?] at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) [fabric-loader-0.14.23.jar:?] at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) [fabric-loader-0.14.23.jar:?] at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:88) [NewLaunch.jar:?] at org.prismlauncher.EntryPoint.listen(EntryPoint.java:126) [NewLaunch.jar:?] at org.prismlauncher.EntryPoint.main(EntryPoint.java:71) [NewLaunch.jar:?] Process exited with code 0.
modmuss50 commented 11 months ago

I think I have found the cause of this, loom upgrades LWJGL when using Java 19 or above here but only applies the native support library on ARM64 macbooks here. It should also be applying that mod when running on Java 19+.

I imagine you have downgraded to Java 17 and its now working as expected.