-
Bug
-
Resolution: Duplicate
-
None
-
Minecraft 1.11
-
None
-
Linux, xorg-xrandr not installed
-
Unconfirmed
LWJGL expects a binary called xrandr to be available and uses it to enumerate its display modes. If xrandr fails lwjgl throws an IndexOutOfBounds exception and Minecraft fails with a rather unhelpful ExceptionInitializerError.
The relevant error happens in LWJGLs XRandR.java, the process() method specifically, which when it fails causes XRandR.getScreenNames() to return an empty array which causes an exception in LinuxDisplay.java getAvailableDisplayModes() because there's no bounds checking: XRandR.getScreenNames()[0].
This isn't a problem with minecraft per se and rather an LWJGL issue, but the error message we get makes this hard to fix. I'd propose intercepting a IndexOutOfBounds exception from Display.create() and check if xrandr is an executable command and print a message to the effect of "install this or minecraft won't work" if it's not.
- duplicates
-
MC-79573 Hopper: java.lang.ExceptionInInitializerError (Crash on Linux, Bug in LWJGL)
- Resolved