问题描述 | Bug Description
Hi I am trying to run HMCL 3.12.4 on fedora 43 KDE Plasma Desktop.
But it crash with following msg when running via java-25-openjdk
./HMCL-3.12.4.sh
[16:12:07] [@.util.SelfDependencyPatcher.patch/INFO] Missing JavaFX dependencies, attempting to patch in missing classes
Exception in thread "main" 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:158)
at java.desktop/java.awt.Window.<init>(Window.java:518)
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.SwingUtilities$SharedOwnerFrame.<init>(SwingUtilities.java:1919)
at java.desktop/javax.swing.SwingUtilities.getSharedOwnerFrame(SwingUtilities.java:1987)
at java.desktop/javax.swing.JDialog.<init>(JDialog.java:276)
at java.desktop/javax.swing.JDialog.<init>(JDialog.java:210)
at java.desktop/javax.swing.JDialog.<init>(JDialog.java:158)
at org.jackhuang.hmcl.util.SelfDependencyPatcher$ProgressFrame.<init>(SelfDependencyPatcher.java:392)
at org.jackhuang.hmcl.util.SelfDependencyPatcher.fetchDependencies(SelfDependencyPatcher.java:272)
at org.jackhuang.hmcl.util.SelfDependencyPatcher.patch(SelfDependencyPatcher.java:180)
at org.jackhuang.hmcl.EntryPoint.checkJavaFX(EntryPoint.java:199)
at org.jackhuang.hmcl.EntryPoint.main(EntryPoint.java:60)
at org.jackhuang.hmcl.Main.main(Main.java:147)
I am sure there is a active herder on it. since It works if I change the openjdk to version 21
./HMCL-3.12.4.sh
[16:14:55] [@.util.SelfDependencyPatcher.patch/INFO] Missing JavaFX dependencies, attempting to patch in missing classes
[16:14:56] [@.util.SelfDependencyPatcher.fetchDependencies/INFO] Downloading https://mirrors.cloud.tencent.com/nexus/repository/maven-public/org/openjfx/javafx-base/21.0.8/javafx-base-21.0.8-linux.jar
[16:14:56] [@.util.SelfDependencyPatcher.fetchDependencies/INFO] Downloading https://mirrors.cloud.tencent.com/nexus/repository/maven-public/org/openjfx/javafx-graphics/21.0.8/javafx-graphics-21.0.8-linux.jar
[16:14:56] [@.util.SelfDependencyPatcher.fetchDependencies/INFO] Downloading https://mirrors.cloud.tencent.com/nexus/repository/maven-public/org/openjfx/javafx-controls/21.0.8/javafx-controls-21.0.8-linux.jar
[16:14:57] [@.util.SelfDependencyPatcher.loadFromCache/INFO] - Loading dependencies...
[16:14:57] [@.util.SelfDependencyPatcher.patch/INFO] - Done!
[16:14:57] [@.Launcher.main/INFO] *** HMCL 3.12.4 ***
[16:14:57] [@.Launcher.main/INFO] Operating System: Fedora Linux 43 (KDE Plasma Desktop Edition) (Linux 6.19.8-200.fc43.x86_64)
[16:14:57] [@.Launcher.main/INFO] System Architecture: x86-64
[16:14:57] [@.Launcher.main/INFO] Native Encoding: UTF-8
[16:14:57] [@.Launcher.main/INFO] JNU Encoding: UTF-8
[16:14:57] [@.Launcher.main/INFO] Java Architecture: x86-64
[16:14:57] [@.Launcher.main/INFO] Java Version: 21.0.10, Red Hat, Inc.
[16:14:57] [@.Launcher.main/INFO] Java VM Version: OpenJDK 64-Bit Server VM (mixed mode, sharing), Red Hat, Inc.
[16:14:57] [@.Launcher.main/INFO] Java Home: /usr/lib/jvm/java-21-openjdk
[16:14:57] [@.Launcher.main/INFO] Current Directory: /home/xinlong/Downloads
[16:14:57] [@.Launcher.main/INFO] HMCL Global Directory: /home/xinlong/.local/share/hmcl
[16:14:57] [@.Launcher.main/INFO] HMCL Current Directory: /home/xinlong/Downloads/.hmcl
[16:14:57] [@.Launcher.main/INFO] HMCL Jar Path: /home/xinlong/Downloads/HMCL-3.12.4.sh
[16:14:57] [@.Launcher.main/INFO] HMCL Log File: /home/xinlong/Downloads/.hmcl/logs/2026-04-16T16-14-55.log
[16:14:57] [@.Launcher.main/INFO] JVM Max Memory: 7792 MiB
[16:14:57] [@.Launcher.main/INFO] Metaspace: 21.32 MiB
[16:14:57] [@.Launcher.main/INFO] Native Backend: None
[16:14:57] [@.Launcher.main/INFO] XDG Session Type: wayland
[16:14:57] [@.Launcher.main/INFO] XDG Current Desktop: KDE
[16:14:57] [@.util.platform.SystemInfo.initialize/INFO] System Info:
- CPU: AMD Ryzen 9 9950X (16 Cores / 32 Threads)
- GPU 1: AMD Radeon RX 9060 XT [Discrete]
- GPU 2: AMD Radeon Graphics [Integrated]
- Memory: 10.63 GiB / 30.44 GiB (34%)
[16:14:57] [@.Launcher.start/INFO] JavaFX Version: 21.0.8+2
[16:14:57] [@.Launcher.start/INFO] Prism Pipeline: com.sun.prism.es2.ES2Pipeline
[16:14:57] [@.Launcher.start/INFO] Dark Mode: false
[16:14:57] [@.Launcher.start/INFO] Reduced Motion: false
[16:14:57] [@.Launcher.start/INFO] Screens:
- Screen 1: 1920x1080 81dpi in 27" (0, 0, 1920, 1080)
[16:14:57] [@.setting.ConfigHolder.init/INFO] Config location: /home/xinlong/Downloads/.hmcl/hmcl.json
[16:14:57] [@.setting.ConfigHolder.loadGlobalConfig/INFO] Creating an empty global config
[16:14:57] [@.setting.ConfigHolder.init/INFO] Creating config file /home/xinlong/Downloads/.hmcl/hmcl.json
[16:14:57] [@.task.AsyncTaskExecutor.lambda$executeNormalTask$19/TRACE] Executing task: org.jackhuang.hmcl.game.GameRepository.refreshVersionsAsync(GameRepository.java:91)
[16:14:57] [@.task.AsyncTaskExecutor.lambda$executeNormalTask$19/TRACE] Executing task: org.jackhuang.hmcl.game.GameRepository.refreshVersionsAsync(GameRepository.java:91)
[16:14:57] [@.event.EventBus.fireEvent/INFO] RefreshingVersionsEvent [source=HMCLGameRepository [versions=null, baseDirectory=.minecraft]] gets fired
[16:14:57] [@.event.EventBus.fireEvent/INFO] RefreshingVersionsEvent [source=HMCLGameRepository [versions=null, baseDirectory=.minecraft]] gets fired
[16:14:57] [@.event.EventBus.fireEvent/INFO] RefreshedVersionsEvent [source=HMCLGameRepository [versions=[], baseDirectory=.minecraft]] gets fired
[16:14:57] [@.event.EventBus.fireEvent/INFO] RefreshedVersionsEvent [source=HMCLGameRepository [versions=[], baseDirectory=.minecraft]] gets fired
[16:14:57] [@.task.AsyncTaskExecutor.lambda$executeNormalTask$29/TRACE] Task finished: org.jackhuang.hmcl.game.GameRepository.refreshVersionsAsync(GameRepository.java:91)
[16:14:57] [@.task.AsyncTaskExecutor.lambda$executeNormalTask$29/TRACE] Task finished: org.jackhuang.hmcl.game.GameRepository.refreshVersionsAsync(GameRepository.java:91)
[16:14:57] [@.ui.Controllers.initialize/INFO] Start initializing application
[16:14:57] [@.ui.Controllers.initialize/INFO] April Fools: false
[16:14:57] [@.java.JavaManager.searchPotentialJavaExecutables/TRACE] Finished Java lookup, found 2
- JRE 21.0.10 (x86-64, Red Hat, Inc.): /usr/lib/jvm/java-21-openjdk/bin/java
- JRE 25.0.2 (x86-64, Red Hat, Inc.): /usr/lib/jvm/java-25-openjdk/bin/java
[16:14:57] [@.setting.FontManager.findByFcMatch/INFO] Load font file: /usr/share/fonts/google-noto-sans-cjk-vf-fonts/NotoSansCJK-VF.ttc
[16:14:57] [@.setting.FontManager.<clinit>/INFO] Font: Noto Sans CJK SC
[16:14:57] [@.util.FileSaver.saveSync/INFO] Saving file /home/xinlong/Downloads/.hmcl/hmcl.json
[16:14:57] [@.auth.authlibinjector.AuthlibInjectorServer.refreshMetadata/INFO] authlib-injector server metadata refreshed: https://littleskin.cn/api/yggdrasil/
[16:14:57] [@.ui.construct.JFXDialogPane.push/INFO] JFXDialogPane@130da0ed [JFXDialogLayout@3bb7325c[styleClass=jfx-dialog-layout]]
[16:14:57] [@.upgrade.IntegrityChecker.isSelfVerified/INFO] Successfully verified current JAR
[16:14:57] [@.util.FileSaver.saveSync/INFO] Saving file /home/xinlong/Downloads/.hmcl/hmcl.json
[16:14:57] [@.upgrade.UpdateChecker.lambda$requestCheckUpdate$2/INFO] Latest version (STABLE, preview=false) is [3.12.2 from https://hmcl.glavo.site/download/HMCL-3.12.2.jar]
[16:15:02] [@.util.FileSaver.saveSync/INFO] Saving file /home/xinlong/.local/share/hmcl/config.json
[16:15:02] [@.ui.construct.JFXDialogPane.pop/INFO] JFXDialogPane@130da0ed [], removed: true, object: JFXDialogLayout@3bb7325c[styleClass=jfx-dialog-layout]
[16:15:06] [@.Launcher.stopApplication/INFO] Stopping application.
at java.base/java.lang.Thread.getStackTrace(Thread.java:2451)
at org.jackhuang.hmcl.Launcher.stopApplication(Launcher.java:333)
at org.jackhuang.hmcl.ui.decorator.Decorator.close(Decorator.java:284)
at org.jackhuang.hmcl.ui.decorator.DecoratorSkin.lambda$new$7(DecoratorSkin.java:250)
at javafx.base@21.0.8/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
at javafx.base@21.0.8/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:232)
at javafx.base@21.0.8/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:189)
at javafx.base@21.0.8/com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at javafx.base@21.0.8/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at javafx.base@21.0.8/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base@21.0.8/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at javafx.base@21.0.8/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base@21.0.8/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at javafx.base@21.0.8/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base@21.0.8/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at javafx.base@21.0.8/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base@21.0.8/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at javafx.base@21.0.8/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base@21.0.8/com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at javafx.base@21.0.8/com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
at javafx.base@21.0.8/javafx.event.Event.fireEvent(Event.java:198)
at javafx.graphics@21.0.8/javafx.scene.Node.fireEvent(Node.java:8875)
at javafx.controls@21.0.8/javafx.scene.control.Button.fire(Button.java:203)
at javafx.controls@21.0.8/com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(ButtonBehavior.java:207)
at javafx.controls@21.0.8/com.sun.javafx.scene.control.inputmap.InputMap.handle(InputMap.java:274)
at javafx.base@21.0.8/com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:247)
at javafx.base@21.0.8/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
at javafx.base@21.0.8/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:232)
at javafx.base@21.0.8/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:189)
at javafx.base@21.0.8/com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at javafx.base@21.0.8/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at javafx.base@21.0.8/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base@21.0.8/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at javafx.base@21.0.8/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base@21.0.8/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at javafx.base@21.0.8/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base@21.0.8/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at javafx.base@21.0.8/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base@21.0.8/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at javafx.base@21.0.8/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base@21.0.8/com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at javafx.base@21.0.8/com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
at javafx.base@21.0.8/javafx.event.Event.fireEvent(Event.java:198)
at javafx.graphics@21.0.8/javafx.scene.Scene$MouseHandler.process(Scene.java:3984)
at javafx.graphics@21.0.8/javafx.scene.Scene.processMouseEvent(Scene.java:1890)
at javafx.graphics@21.0.8/javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2708)
at javafx.graphics@21.0.8/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:411)
at javafx.graphics@21.0.8/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:301)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
at javafx.graphics@21.0.8/com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(GlassViewEventHandler.java:450)
at javafx.graphics@21.0.8/com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:424)
at javafx.graphics@21.0.8/com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:449)
at javafx.graphics@21.0.8/com.sun.glass.ui.View.handleMouseEvent(View.java:551)
at javafx.graphics@21.0.8/com.sun.glass.ui.View.notifyMouse(View.java:937)
at javafx.graphics@21.0.8/com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
at javafx.graphics@21.0.8/com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$10(GtkApplication.java:263)
at java.base/java.lang.Thread.run(Thread.java:1583)
[16:15:06] [@.task.Schedulers.shutdown/INFO] Shutting down executor services.
[16:15:06] [@.util.FileSaver.saveSync/INFO] Saving file /home/xinlong/Downloads/.hmcl/hmcl.json
启动器崩溃报告 / 启动器日志文件 | Launcher Crash Report / Launcher Log File
non
问题描述 | Bug Description
Hi I am trying to run HMCL 3.12.4 on fedora 43 KDE Plasma Desktop.
But it crash with following msg when running via
java-25-openjdkI am sure there is a active herder on it. since It works if I change the openjdk to version 21
启动器崩溃报告 / 启动器日志文件 | Launcher Crash Report / Launcher Log File
non