Uploaded image for project: 'Minecraft: Java Edition'
  1. Minecraft: Java Edition
  2. MC-235147

'lwjgl.dll' Error with Aarch64 OpenJDK 16.0.2

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Awaiting Response
    • None
    • 1.17.1
    • None
    • Microsoft Surface Pro X
      CPU : Microsoft SQ1 (Aarch64 aka arm64)
      Java : OpenJDK 16.0.2 (Microsoft Aarch64 Build)
    • Plausible
    • (Unassigned)

      I'm trying to run Minecraft Java Edition on Aarch64 Windows device.

      My device is Surface Pro X. Since this guy's CPU(ARM) doesn't support any x86 features, it has to emeulate the x86 features. So huge performance drop occurs. It's fine with simple programs like Chrome or MS Office, but if you try to run something a little bit heavier, like Minecraft, it becomes SSSSLLLLLLOOOOOOWWWWWW as hell.

       

      Since Minecraft JE is a Java program, I thought that I can somehow manage to run Minecraft but bypassing the x86 emulation, using the Aarch64 ported version of Java Runtime, JVM or whatever.

       

      So I installed OpenJDK 16.0.2 Aarch64 Windows version (that was the only ARM Java I could find) and told Minecraft launcher to use the OpenJDK's javaw.exe.(of course, the one inside the bin folder) But it didn't work.

       

      Release 1.17~ would just crash and leave 'Exit code 0', and Release 1.16.5 would leave a Crash Report, like down below.

       

      ---- Minecraft Crash Report ----// Uh... Did I do that?
      Time: 21. 8. 24. 오후 10:21Description: Initializing game
      java.lang.ExceptionInInitializerError at dkd.<init>(SourceFile:146) at djz.<init>(SourceFile:440) at net.minecraft.client.main.Main.main(SourceFile:177)Caused by: java.lang.RuntimeException: java.lang.UnsatisfiedLinkError: Failed to locate library: lwjgl.dll at deo.<clinit>(SourceFile:46) ... 3 moreCaused by: java.lang.UnsatisfiedLinkError: Failed to locate library: lwjgl.dll at org.lwjgl.system.Library.loadSystem(Library.java:147) at org.lwjgl.system.Library.loadSystem(Library.java:67) at org.lwjgl.system.Library.<clinit>(Library.java:50) at org.lwjgl.system.MemoryAccessJNI.<clinit>(MemoryAccessJNI.java:13) at org.lwjgl.system.Pointer.<clinit>(Pointer.java:28) at org.lwjgl.system.Platform.mapLibraryNameBundled(Platform.java:80) at org.lwjgl.glfw.GLFW.<clinit>(GLFW.java:674) at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized0(Native Method) at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized(Unsafe.java:1155) at java.base/java.lang.invoke.DirectMethodHandle$EnsureInitialized.computeValue(DirectMethodHandle.java:378) at java.base/java.lang.invoke.DirectMethodHandle$EnsureInitialized.computeValue(DirectMethodHandle.java:375) at java.base/java.lang.ClassValue.getFromHashMap(ClassValue.java:228) at java.base/java.lang.ClassValue.getFromBackup(ClassValue.java:210) at java.base/java.lang.ClassValue.get(ClassValue.java:116) at java.base/java.lang.invoke.DirectMethodHandle.checkInitialized(DirectMethodHandle.java:401) at java.base/java.lang.invoke.DirectMethodHandle.ensureInitialized(DirectMethodHandle.java:389) at java.base/java.lang.invoke.DirectMethodHandle.ensureInitialized(DirectMethodHandle.java:423) at deo.<clinit>(SourceFile:43) ... 3 more

      A detailed walkthrough of the error, its code path and all known details is as follows:---------------------------------------------------------------------------------------
      – Head --Thread: Render threadStacktrace: at dkd.<init>(SourceFile:146) at djz.<init>(SourceFile:440)
      – Initialization --Details:Stacktrace: at net.minecraft.client.main.Main.main(SourceFile:177)
      – System Details --Details: Minecraft Version: 1.16.5 Minecraft Version ID: 1.16.5 Operating System: Windows 10 (aarch64) version 10.0 Java Version: 16.0.2, Microsoft Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Microsoft Memory: 907209096 bytes (865 MB) / 1342177280 bytes (1280 MB) up to 2147483648 bytes (2048 MB) CPUs: 8 JVM Flags: 8 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xmx2G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M Launched Version: 1.16.5 Backend library: LWJGL version 3.2.2 build 10 Backend API: ~ERROR~ NoClassDefFoundError: Could not initialize class org.lwjgl.glfw.GLFW GL Caps:  Using VBOs: Yes Is Modded: Probably not. Jar signature remains and client brand is untouched. Type: Client (map_client.txt) CPU: <unknown>

      Yeah, it's complaining about not having lwjgl.dll file i guess...? but I have no idea what should I do in order to deal with this thing.

      I left a crash report file from 1.16.5. Hopefully that helps us something...

      Thanks.

      == Update ==
      When this error happens, I found that 'OpenJDK platfrom binary' uses virtually 90% of my CPU. Still got no idea what it could mean.

      I could also get a log from 1.17.1 version when it crashes. I used "-Dorg.lwjgl.util.Debug=true" parameter in order to let the game display some more information what could be wrong. I uploaded "from1171.log" file, hopefully this can help solving this problem.

            Unassigned Unassigned
            KLBSice Min Sung Kim
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:
              CHK: