LiquidBounce icon indicating copy to clipboard operation
LiquidBounce copied to clipboard

[BUG] MCEF downloads wrong natives for APPLE M1 MAC

Open Daizkie opened this issue 3 years ago • 8 comments

LiquidBounce Build/Version

liquidbounce-a9cc4df

Operating System

macOS

Minecraft Version

1.18.1

Describe the bug

launch failed

Java : azul zulu 17 latest

MC ver 1.18.1

Device : mac m1

launch using multimc

It happen when i have liquidbounce enabled.

Steps to reproduce

idk i just launched the game and it happen...

Client Log

[11:26:43] [Render thread/INFO]: Launching LiquidBounce v1.0.0 by CCBlueX
[11:26:43] [Render thread/INFO]: Successfully extracted default theme
[11:26:43] [Render thread/INFO]: Loading heads...
[11:26:47] [Render thread/INFO]: Successfully loaded 956 heads from the database
[11:26:47] [Render thread/INFO]: Found out OpenGL version to be 4.1. Using backend for OpenGL 3.3+ (VAOs, VBOs, Instancing, Shaders)
[11:26:47] [Render thread/INFO]: Loading ultralight...
[11:26:47] [Render thread/INFO]: Checking resources...
[11:26:47] [Render thread/ERROR]: Unable to load client.
com.labymedia.ultralight.UltralightLoadException: Failed to load native dependency UltralightCore (tried to load from /Users/***/Desktop/MultiMC.app/Data/instances/liquid 1.18/.minecraft/LiquidBounce/ultralight/bin/libUltralightCore.dylib)
	at com.labymedia.ultralight.UltralightJava.load(UltralightJava.java:146) ~[liquidbounce.jar:?]
	at com.labymedia.ultralight.UltralightJava.load(UltralightJava.java:115) ~[liquidbounce.jar:?]
	at net.ccbluex.liquidbounce.render.ultralight.UltralightEngine.init(UltralightEngine.kt:90) ~[liquidbounce.jar:?]
	at net.ccbluex.liquidbounce.LiquidBounce$startHandler$1.invoke(LiquidBounce.kt:103) [liquidbounce.jar:?]
	at net.ccbluex.liquidbounce.LiquidBounce$startHandler$1.invoke(LiquidBounce.kt:68) [liquidbounce.jar:?]
	at net.ccbluex.liquidbounce.event.EventManager.callEvent(EventManager.kt:108) [liquidbounce.jar:?]
	at net.minecraft.class_310.handler$zja000$startClient(class_310.java:6045) [client-intermediary.jar:?]
	at net.minecraft.class_310.<init>(class_310.java:615) [client-intermediary.jar:?]
	at net.minecraft.client.main.Main.main(Main.java:199) [client-intermediary.jar:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
	at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:416) [fabric-loader-0.13.1.jar:?]
	at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:77) [fabric-loader-0.13.1.jar:?]
	at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) [fabric-loader-0.13.1.jar:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
	at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:210) [NewLaunch.jar:?]
	at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:245) [NewLaunch.jar:?]
	at org.multimc.EntryPoint.listen(EntryPoint.java:143) [NewLaunch.jar:?]
	at org.multimc.EntryPoint.main(EntryPoint.java:34) [NewLaunch.jar:?]
Caused by: java.lang.UnsatisfiedLinkError: Can't load library: /Users/***/Desktop/MultiMC.app/Data/instances/liquid 1.18/.minecraft/LiquidBounce/ultralight/bin/libUltralightCore.dylib
	at java.lang.ClassLoader.loadLibrary(ClassLoader.java:2393) ~[?:?]
	at java.lang.Runtime.load0(Runtime.java:755) ~[?:?]
	at java.lang.System.load(System.java:1953) ~[?:?]
	at com.labymedia.ultralight.UltralightJava.load(UltralightJava.java:144) ~[liquidbounce.jar:?]
	... 23 more
Process exited with code 0.

Screenshots

No response

Daizkie avatar Feb 09 '22 04:02 Daizkie

M1 chips are based on ARM architecture, try emulating x86/amd64. https://github.com/CCBlueX/LiquidBounce/issues/646#

1zun4secondary avatar Feb 09 '22 13:02 1zun4secondary

@1zun4 how can i do that?

Daizkie avatar Feb 10 '22 00:02 Daizkie

Not sure. Sorry.

1zun4secondary avatar Mar 09 '22 11:03 1zun4secondary

It's because of Ultralight and because your cpu has an arm architecture which isnt supported by Ultralight. https://ultralig.ht

"We're currently porting Ultralight to Xbox One and PS4, with plans to port it to ARM64 and others soon after."

dudethis avatar May 31 '22 23:05 dudethis

https://github.com/CCBlueX/LiquidBounce/commit/a83861f482a2aa3300d378a4f2a82c8daed5cd16

1zun4 avatar Dec 26 '23 15:12 1zun4

not sure why this was marked as completed, still fails:

"[23:18:36] [Render thread/ERROR]: Fatal error java.lang.UnsatisfiedLinkError: /home/dudethis/.local/share/PrismLauncher/instances/liquidbounce/.minecraft/LiquidBounce/mcef/libraries/linux_arm64/libcef.so: /home/dudethis/.local/share/PrismLauncher/instances/liquidbounce/.minecraft/LiquidBounce/mcef/libraries/linux_arm64/libcef.so: cannot open shared object file: No such file or directory (Possible cause: can't load AMD 64 .so on a AARCH64 platform)"

dudethis avatar Dec 28 '23 07:12 dudethis

not sure why this was marked as completed, still fails:

"[23:18:36] [Render thread/ERROR]: Fatal error java.lang.UnsatisfiedLinkError: /home/dudethis/.local/share/PrismLauncher/instances/liquidbounce/.minecraft/LiquidBounce/mcef/libraries/linux_arm64/libcef.so: /home/dudethis/.local/share/PrismLauncher/instances/liquidbounce/.minecraft/LiquidBounce/mcef/libraries/linux_arm64/libcef.so: cannot open shared object file: No such file or directory (Possible cause: can't load AMD 64 .so on a AARCH64 platform)"

Seems it downloads the linux natives for macOS instead of the actual macOS natives. I will make a fix for this soon.

1zun4 avatar Dec 28 '23 17:12 1zun4

Please try again now! https://github.com/CCBlueX/LiquidBounce/commit/ff8983cf8e1255e40d23b144aa67cf0a3559d407

This should fix support for macOS, hopefully. :) However, since we did not manage to build a fixed version of JCEF for macOS the UI will run at a limit of 30 fps.

1zun4 avatar Dec 29 '23 06:12 1zun4

Likely fixed since there were no reports after this change.

1zun4 avatar Mar 09 '24 10:03 1zun4