On Linux if I have home directory such as `/home/Dāvis` then it crashes with
---- Minecraft Crash Report ----
// This is a token for 1 free hug. Redeem at your nearest Mojangsta: [~~HUG~~]
Time: 21.8.1 08:22
Description: 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 dynamically load library: /home/Dāvis/.minecraft/bin/cf8c-d22e-2f44-334a/libglfw.so(error = null)
at deo.<clinit>(SourceFile:46)
... 3 more
Caused by: java.lang.UnsatisfiedLinkError: Failed to dynamically load library: /home/Dāvis/.minecraft/bin/cf8c-d22e-2f44-334a/libglfw.so(error = null)
at org.lwjgl.system.linux.LinuxLibrary.loadLibrary(LinuxLibrary.java:32)
at org.lwjgl.system.linux.LinuxLibrary.<init>(LinuxLibrary.java:19)
at org.lwjgl.system.APIUtil.apiCreateLibrary(APIUtil.java:123)
at org.lwjgl.system.Library.loadNative(Library.java:335)
at org.lwjgl.system.Library.loadNative(Library.java:281)
at org.lwjgl.system.Library.loadNative(Library.java:205)
at org.lwjgl.glfw.GLFW.<clinit>(GLFW.java:674)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at java.lang.invoke.DirectMethodHandle$EnsureInitialized.computeValue(DirectMethodHandle.java:330)
at java.lang.invoke.DirectMethodHandle$EnsureInitialized.computeValue(DirectMethodHandle.java:327)
at java.lang.ClassValue.getFromHashMap(ClassValue.java:227)
at java.lang.ClassValue.getFromBackup(ClassValue.java:209)
at java.lang.ClassValue.get(ClassValue.java:115)
at java.lang.invoke.DirectMethodHandle.checkInitialized(DirectMethodHandle.java:351)
at java.lang.invoke.DirectMethodHandle.ensureInitialized(DirectMethodHandle.java:341)
at java.lang.invoke.DirectMethodHandle.ensureInitialized(DirectMethodHandle.java:373)
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 thread
Stacktrace:
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.4
Minecraft Version ID: 1.16.4
Operating System: Linux (amd64) version 5.10.5-arch1-1
Java Version: 1.8.0_265, Oracle Corporation
Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 1075552088 bytes (1025 MB) / 2147483648 bytes (2048 MB) up to 2147483648 bytes (2048 MB)
CPUs: 8
JVM Flags: 8 total; -Xss1M -Xmx2G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M
Launched Version: 1.16.4
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>
Found that it can be workarounded by specifying non-Unicode `--workDir`
Also note that there's another/related bug if I try to use different non-official launcher then it crashes similar error because it copies `libglfw.so` to path like `/tmp/lwjglDāvis/3.2.2-build-10/}` with fails to load aswell.
This can be workarouned by passing `-Duser.name=ascii_name` JVM argument.
This bug exists since 1.13+ as 1.12 works fine.
Linked issues
relates to
Comments
@unknown please don't undo Thommy's move 😃
It's on the game team to add support for unicode character paths - based on the reporter the Minecraft Launcher seems to work fine
Sorry, I didn't realize the ticket was moved!

Affects 1.18 pre1 (I used a non-ASCII installation folder to reproduce this, with the same error)
The issue is that it can't find GLFW library. For some reason it messes up Unicode path.
Tested that it still crashes with latest available snapshot 1.18-pre1
java.lang.ExceptionInInitializerError
at dxf.<init>(SourceFile:163)
at dxb.<init>(SourceFile:456)
at net.minecraft.client.main.Main.main(SourceFile:197)
Caused by: java.lang.RuntimeException: java.lang.UnsatisfiedLinkError: Failed to dynamically load library: /home/Dāvis/.minecraft/bin/eb1d-162c-8209-f124/libglfw.so(error = /home/Dvis/.minecraft/bin/eb1d-162c-8209-f124/libglfw.so: cannot open shared object file: No such file or directory)
at dqs.<clinit>(SourceFile:46)
... 3 more
Caused by: java.lang.UnsatisfiedLinkError: Failed to dynamically load library: /home/Dāvis/.minecraft/bin/eb1d-162c-8209-f124/libglfw.so(error = /home/Dvis/.minecraft/bin/eb1d-162c-8209-f124/libglfw.so: cannot open shared object file: No such file or directory)
at org.lwjgl.system.linux.LinuxLibrary.loadLibrary(LinuxLibrary.java:32)
at org.lwjgl.system.linux.LinuxLibrary.<init>(LinuxLibrary.java:19)
at org.lwjgl.system.APIUtil.apiCreateLibrary(APIUtil.java:123)
at org.lwjgl.system.Library.loadNative(Library.java:335)
at org.lwjgl.system.Library.loadNative(Library.java:281)
at org.lwjgl.system.Library.loadNative(Library.java:205)
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 dqs.<clinit>(SourceFile:43)
... 3 more
When using different launcher with 1.17.1
Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.lwjgl.glfw.GLFW
at com.mojang.blaze3d.platform.GLX.getOpenGLVersionString(SourceFile:35)
at com.mojang.blaze3d.systems.RenderSystem.getApiDescription(SourceFile:770)
at ac.a(SourceFile:65)
at dvp.a(SourceFile:2418)
at dvp.a(SourceFile:2412)
at net.minecraft.client.main.Main.main(SourceFile:187)
There is a workaround. MultiMC launcher allows to use system's GLFW library instead of bundled one. Enabling that option /usr/lib/libglfw.so will be used instead which will load fine and everything will work 🙂

Affects 1.18.1
Moved to MCL since this probably needs to be fixed on the launcher's end.
There exists MCL-774 as well.