This is the project that i am trying to run on linux: https://github.com/legoaggelos/GraveDemolisher. I turn it into a jar with gradlew shadowJar. It works fine on windows(tested on my machine and my mum's laptop with win11) but on linux it doenst launch(i have tested it with arch(wayland) and linux mint(X11)). The QuantumRenderer error will be in my next message.
#(all of) my javafx app dont work on linux.
1 messages · Page 1 of 1 (latest)
<@&987246554085740594> please have a look, thanks.
WARNING: Unsupported JavaFX configuration: classes were loaded from 'unnamed module @93dcdb0'
Graphics Device initialization failed for : es2, sw
Error initializing QuantumRenderer: no suitable pipeline found
java.lang.RuntimeException: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
at com.sun.javafx.tk.quantum.QuantumRenderer.getInstance(QuantumRenderer.java:283)
at com.sun.javafx.tk.quantum.QuantumToolkit.init(QuantumToolkit.java:253)
at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:263)
at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:290)
at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:162)
at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:651)
at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:671)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:196)
at java.base/java.lang.Thread.run(Thread.java:1575)
Caused by: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:95)
at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:125)
... 1 more
Exception in thread "main" java.lang.RuntimeException: No toolkit found
at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:275)
at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:290)
at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:162)
at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:651)
at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:671)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:196)
at java.base/java.lang.Thread.run(Thread.java:1575)
also this happens with every javafx app that i made, i think i am turning it into a jar wrong
i am using java 21 btw, on all systems
Did you build the program again in Linux?
No
The problem is that javafx libs are different in windows and linux
So you need to build it separately
😭
No. You'll have to distribute JFX library files with your app
You can ship libraries for all systems you want to support at once, but it will inflate size of your app drastically
There's no workaround. It's not Swing whose binaries are part of JRE
nah it is ok how can i do that?
https://openjfx.io/openjfx-docs/#modular see Cross-platform jar
Getting started with JavaFX for Java desktop application development