what happened
Forge 1.21+ instances crash immediately on startup on Arch Linux with NVIDIA proprietary driver and Wayland.
Two separate issues, both blocking launch:
1 - NVIDIA libEGL segfault + GLFW Wayland window position error
The child process inherits LD_LIBRARY_PATH from the parent, which contains NVIDIA's EGL library paths. LWJGL's GLFW crashes in libEGL_nvidia.so.0 with SIGSEGV when using EGLon Wayland. Even without the SIGSEGV, GLFW's Wayland backend doesn't support glfwGetWindowPos(), causing another crash. PrismLauncher avoids this by stripping LD_LIBRARY_PATH/LD_PRELOAD in their CleanEnviroment().
2 - ForgeBootstrap NullPointerException
net.minecraftforge.bootstrap.ForgeBootstrap needs an explicit --launchTarget forge_client argument. Since the loader profile(forge-{version}.json) has empty gameArguments, this arg is never passed, causing ModLauncher to pass null to ImmediateWindowHandler.load(): java.lang.NullPointerException: Cannot invoke "String.contains(...)"
steps to reproduce
- Arch Linux with Wayland session and NVIDIA proprietary driver
- Create a Forge 1.21+ instance (e.g. game version 26.1.2, Forge 64.0.8)
- Launch the instance
- Game crashes with SIGSEGV in libEGL_nvidia.so.0
Or, with LD_LIBRARY_PATH cleaned: GLFW Wayland error
Or, with GDK_BACKEND=x11: NullPointerException
rmcl version
0.3.0
operating system
Linux
additional context
Proper Fix implemented:
- Strip LD_LIBRARY_PATH/LD_PRELOAD on linux before spawning Java ( with LAUNCHER_ override mechanism for power users)
- Set GDK_BACKEND=X11 for the child process
- Add --launchTarget force_client to game args for Forge
(This issue was written with AI assistance for English translation.)
what happened
Forge 1.21+ instances crash immediately on startup on Arch Linux with NVIDIA proprietary driver and Wayland.
Two separate issues, both blocking launch:
1 - NVIDIA libEGL segfault + GLFW Wayland window position error
The child process inherits LD_LIBRARY_PATH from the parent, which contains NVIDIA's EGL library paths. LWJGL's GLFW crashes in libEGL_nvidia.so.0 with SIGSEGV when using EGLon Wayland. Even without the SIGSEGV, GLFW's Wayland backend doesn't support glfwGetWindowPos(), causing another crash. PrismLauncher avoids this by stripping LD_LIBRARY_PATH/LD_PRELOAD in their CleanEnviroment().
2 - ForgeBootstrap NullPointerException
net.minecraftforge.bootstrap.ForgeBootstrap needs an explicit --launchTarget forge_client argument. Since the loader profile(forge-{version}.json) has empty gameArguments, this arg is never passed, causing ModLauncher to pass null to ImmediateWindowHandler.load(): java.lang.NullPointerException: Cannot invoke "String.contains(...)"
steps to reproduce
Or, with LD_LIBRARY_PATH cleaned: GLFW Wayland error
Or, with GDK_BACKEND=x11: NullPointerException
rmcl version
0.3.0
operating system
Linux
additional context
Proper Fix implemented:
(This issue was written with AI assistance for English translation.)