Vassal will not start (Fedora 42)

I am launching the Vassal.sh file and a terminal opens, then nothing happens and it closes. The logfile reads as such:
2025-05-08 11:02:50,899 [59085-main] INFO VASSAL.launch.StartUp - Starting
2025-05-08 11:02:50,904 [59085-main] INFO VASSAL.launch.StartUp - OS Linux 6.14.4-300.fc42.x86_64 amd64
2025-05-08 11:02:50,905 [59085-main] INFO VASSAL.launch.StartUp - Java version 21.0.7
2025-05-08 11:02:50,905 [59085-main] INFO VASSAL.launch.StartUp - Java home /usr/lib/jvm/java-21-openjdk
2025-05-08 11:02:50,905 [59085-main] INFO VASSAL.launch.StartUp - VASSAL version 3.7.16
2025-05-08 11:02:50,933 [59085-AWT-EventQueue-0] INFO VASSAL.launch.ModuleManager - Manager
2025-05-08 11:02:50,940 [59085-AWT-EventQueue-0] ERROR VASSAL.tools.ErrorDialog -
java.lang.ExceptionInInitializerError: null
at VASSAL.launch.ModuleManager.launch(ModuleManager.java:384)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Caused by: java.awt.HeadlessException:
No X11 DISPLAY variable was set,
or no headful library support was found,
but this program performed an operation which requires it,

at java.desktop/java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:164)
at java.desktop/java.awt.Window.<init>(Window.java:553)
at java.desktop/java.awt.Frame.<init>(Frame.java:428)
at java.desktop/java.awt.Frame.<init>(Frame.java:393)
at java.desktop/javax.swing.JFrame.<init>(JFrame.java:180)
at VASSAL.launch.ModuleManagerWindow.<init>(ModuleManagerWindow.java:188)
at VASSAL.launch.ModuleManagerWindow.<clinit>(ModuleManagerWindow.java:186)
... 14 common frames omitted

I have made sure (I think?) I do not have a headless JDK, I’m not sure how to proceed further. Can anyone help me?

What you’re seeing is what happens when you have only a headless JDK installed.

What’s the output of running rpm -qa | grep openjdk in a terminal?

Looks like I DO have a headless JDK installed, how do I fix this? I tried to figure this out myself, but failed.

Check the Fedora Documentation - seems like you need to do

$ sudo  dnf install java-latest-openjdk

(you probably have java-openjdk-headless installed)

Please remember to mark the answer to your question as detailed in How to report problems. Also consider How to format forum posts.

Yours,
Christian

1 Like