Sure. Looks like the root cause is
Loading D3D native library …
GraphicsPipeline.createPipeline failed for com.sun.prism.d3d.D3DPipeline
java.lang.UnsatisfiedLinkError: no prism_d3d in java.library.path
Full output
C:jigsaw-jfx>distbinjava -Djavafx.verbose=true -Dprism.verbose=true —module-path C:javafx-sdk-> 11lib;buildhellomodule —module hellomodule/com.ameus.Main
JavaFX launchApplication method: launchMode=LM_MODULE
Loaded C:jigsaw-jfxdistbinapi-ms-win-core-console-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-core-datetime-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-core-debug-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-core-errorhandling-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-core-file-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-core-file-l1-2-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-core-file-l2-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-core-handle-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-core-heap-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-core-interlocked-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-core-libraryloader-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-core-localization-l1-2-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-core-memory-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-core-namedpipe-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-core-processenvironment-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-core-processthreads-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-core-processthreads-l1-1-1.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-core-profile-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-core-rtlsupport-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-core-string-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-core-synch-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-core-synch-l1-2-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-core-sysinfo-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-core-timezone-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-core-util-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-crt-conio-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-crt-convert-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-crt-environment-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-crt-filesystem-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-crt-heap-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-crt-locale-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-crt-math-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-crt-multibyte-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-crt-private-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-crt-process-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-crt-runtime-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-crt-stdio-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-crt-string-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-crt-time-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-crt-utility-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinucrtbase.dll from java.library.path
Loaded C:jigsaw-jfxdistbinvcruntime140.dll from java.library.path
Loaded C:jigsaw-jfxdistbinmsvcp140.dll from java.library.path
Loaded C:WINDOWSsystem32concrt140.dll from java.library.path
Prism pipeline init order: d3d sw
Using Double Precision Marlin Rasterizer
Using dirty region optimizations
Not using texture mask for primitives
Not forcing power of 2 sizes for textures
Using hardware CLAMP_TO_ZERO mode
Opting in for HiDPI pixel scaling
Prism pipeline name = com.sun.prism.d3d.D3DPipeline
Loading D3D native library …
GraphicsPipeline.createPipeline failed for com.sun.prism.d3d.D3DPipeline
java.lang.UnsatisfiedLinkError: no prism_d3d in java.library.path: [C:jigsaw-jfxdistbin, C:WINDOWSSunJavabin, C:WINDOWSsystem32, C:WINDOWS, C:Program FilesJavajdk-11bin, C:Program FilesNVIDIA GPU Computing ToolkitCUDAv9.0bin, C:Program FilesNVIDIA GPU Computing ToolkitCUDAv9.0libnvvp, C:Program Files (x86)Common FilesOracleJavajavapath, C:Windowssystem32, C:Windows, C:WindowsSystem32Wbem, C:WindowsSystem32WindowsPowerShellv1.0, C:Program Files (x86)NVIDIA CorporationPhysXCommon, C:Program FilesGitcmd, C:WINDOWSsystem32, C:WINDOWS, C:WINDOWSSystem32Wbem, C:WINDOWSSystem32WindowsPowerShellv1.0, C:Program FilesMicrosoft SQL Server130ToolsBinn, C:Program Files (x86)Windows Kits10Windows Performance Toolkit, C:Program FilesMySQLMySQL Utilities 1.6, C:Program FilesJavajdk-10bin, C:Program FilesGourcecmd, C:WINDOWSSystem32OpenSSH, C:Program Filesnodejs, C:Program Files (x86)SkypePhone, C:UsersxAppDataLocalMicrosoftWindowsApps, C:UsersxAppDataRoamingnpm, C:UsersxAppDataLocalatombin, .]
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2660)
at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:829)
at java.base/java.lang.System.loadLibrary(System.java:1867)
at javafx.graphics/com.sun.glass.utils.NativeLibLoader.loadLibraryInternal(NativeLibLoader.java:150)
at javafx.graphics/com.sun.glass.utils.NativeLibLoader.loadLibrary(NativeLibLoader.java:52)
at javafx.graphics/com.sun.prism.d3d.D3DPipeline.lambda$static$0(D3DPipeline.java:48)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at javafx.graphics/com.sun.prism.d3d.D3DPipeline.(D3DPipeline.java:44)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:315)
at javafx.graphics/com.sun.prism.GraphicsPipeline.createPipeline(GraphicsPipeline.java:187)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:91)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:124)
at java.base/java.lang.Thread.run(Thread.java:834)
*** Fallback to Prism SW pipeline
Prism pipeline name = com.sun.prism.sw.SWPipeline
GraphicsPipeline.createPipeline failed for com.sun.prism.sw.SWPipeline
java.lang.UnsatisfiedLinkError: no prism_sw in java.library.path: [C:jigsaw-jfxdistbin, C:WINDOWSSunJavabin, C:WINDOWSsystem32, C:WINDOWS, C:Program FilesJavajdk-11bin, C:Program FilesNVIDIA GPU Computing ToolkitCUDAv9.0bin, C:Program FilesNVIDIA GPU Computing ToolkitCUDAv9.0libnvvp, C:Program Files (x86)Common FilesOracleJavajavapath, C:Windowssystem32, C:Windows, C:WindowsSystem32Wbem, C:WindowsSystem32WindowsPowerShellv1.0, C:Program Files (x86)NVIDIA CorporationPhysXCommon, C:Program FilesGitcmd, C:WINDOWSsystem32, C:WINDOWS, C:WINDOWSSystem32Wbem, C:WINDOWSSystem32WindowsPowerShellv1.0, C:Program FilesMicrosoft SQL Server130ToolsBinn, C:Program Files (x86)Windows Kits10Windows Performance Toolkit, C:Program FilesMySQLMySQL Utilities 1.6, C:Program FilesJavajdk-10bin, C:Program FilesGourcecmd, C:WINDOWSSystem32OpenSSH, C:Program Filesnodejs, C:Program Files (x86)SkypePhone, C:UsersxAppDataLocalMicrosoftWindowsApps, C:UsersxAppDataRoamingnpm, C:UsersxAppDataLocalatombin, .]
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2660)
at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:829)
at java.base/java.lang.System.loadLibrary(System.java:1867)
at javafx.graphics/com.sun.glass.utils.NativeLibLoader.loadLibraryInternal(NativeLibLoader.java:150)
at javafx.graphics/com.sun.glass.utils.NativeLibLoader.loadLibrary(NativeLibLoader.java:52)
at javafx.graphics/com.sun.prism.sw.SWPipeline.lambda$static$0(SWPipeline.java:42)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at javafx.graphics/com.sun.prism.sw.SWPipeline.(SWPipeline.java:41)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:315)
at javafx.graphics/com.sun.prism.GraphicsPipeline.createPipeline(GraphicsPipeline.java:187)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:91)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:124)
at java.base/java.lang.Thread.run(Thread.java:834)
Graphics Device initialization failed for : d3d, sw
Error initializing QuantumRenderer: no suitable pipeline found
java.lang.RuntimeException: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer.getInstance(QuantumRenderer.java:280)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.init(QuantumToolkit.java:222)
at javafx.graphics/com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:260)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:267)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:158)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:658)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:409)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:363)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:1051)
Caused by: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:94)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:124)
at java.base/java.lang.Thread.run(Thread.java:834)
Exception in thread «main» java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:1051)
Caused by: java.lang.RuntimeException: No toolkit found
at javafx.graphics/com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:272)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:267)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:158)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:658)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:409)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:363)
… 5 more
I encountered the following RuntimeException
when starting an application which uses JavaFX 11+:
Graphics Device initialization failed for : d3d, sw
Error initializing QuantumRenderer: no suitable pipeline found
java.lang.RuntimeException: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer.getInstance(QuantumRenderer.java:280)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.init(QuantumToolkit.java:243)
at javafx.graphics/com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:260)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:267)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:158)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:658)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:409)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:363)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:567)
at java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:1051)
Caused by: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:94)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:124)
at java.base/java.lang.Thread.run(Thread.java:835)
Exception in thread "main" java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:567)
at java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:1051)
Caused by: java.lang.RuntimeException: No toolkit found
at javafx.graphics/com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:272)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:267)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:158)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:658)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:409)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:363)
... 5 more
asked Apr 7, 2019 at 17:51
1
Download the JavaFX Windows SDK using the link below
and use the options below in VM argument’s when running FX Application
-p $ModuleFileDir$/lib/javafx-sdk-11.0.2/lib --add-modules javafx.controls,javafx.base,javafx.fxml,javafx.graphics,javafx.media,javafx.web --add-opens=javafx.graphics/javafx.scene=ALL-UNNAMED --add-exports javafx.base/com.sun.javafx.event=ALL-UNNAMED
Note: Don’t change anything in the downloaded folder: use as it is. The DLL files are important; if the DLL files are missing then the above error pops up.
answered Feb 13, 2020 at 16:26
1
After downloading JavaFX 11+, extract the file, and when the file is extracted, switch to IntelliJ IDEA. Then follow the steps below in IntelliJ IDEA.
- File
- Project Structure
- Global Libraries
- Press the «+» sign and then Java
- Go to the JavaFX 11+ folder you have just downloaded. Go into the Folder and now go into «lib» and select all of these files in the Folder except «src.zip», and press «OK» in the bottom right corner and save it as «javafx12».
-
Now you move the mouse pointer under the «+» and press right click on the Librarie that you named as «javafx12», now a small window opens with different options but you press the mouse pointer on «Add to Modules» after you did that you move the mouse pointer to the «src» Folder and right-click with the mouse. Now open a wide window with various options but you choose the «New» option, now has opened a wide window with many different options but you choose again «module-info.java» and now you copy this text:
module YOUR-PROJECT-NAME { requires javafx.graphics; requires javafx.controls; requires javafx.media; requires javafx.base; requires javafx.web; requires javafx.swing; requires javafx.fxml; opens application; }
This resolves the problem.
trashgod
203k29 gold badges242 silver badges1028 bronze badges
answered Apr 10, 2019 at 14:55
The solution that worked for me was to add the bin
directory of the JavaFX SDK to java.library.path
. This has the same effect as copying the files from the bin folder to the path of JAVA_HOME
but it keeps the change project-specific.
File -> Project Properties -> Run
-Djava.library.path="C:pathtojavafx-sdk-11.0.2bin"
answered Apr 8, 2021 at 18:46
Eric IhliEric Ihli
1,63217 silver badges29 bronze badges
I strongly recommend using maven for creating the JavaFX program. The approach is illustrated in the Intellij workshop on JavaFX. link
However; there is a simple solution to this problem. you have to extract all content of the JavaFX SDK; then add libraries without removing or changing other subfolders. if you just copy the lib subfolder, it will not address folders in the bin subfolder
answered Jun 14, 2021 at 12:18
You don’t have to include everything in the module-info, only the pieces that you use. The minimum seems to be base, controls, and graphics. (My code uses those and fxml.) For example, if you’re not using swing or media, javafx.swing and javafx.media may be omitted. The rendering toolkit, the part that wasn’t found, is in the Windows-specific binary. It’s in the javafx-sdk/bin directory. That directory has to be part of java.library.path. If you’re using modules, javafx-sdk/lib may be part of the module-path. (Of course, the particular version is part of the javafx-sdk directory name.)
answered Apr 22, 2019 at 7:33
Error initializing QuantumRenderer no suitable pipeline found when running through jlink’s custom runtime image #237
Comments
Steps to reproduce are here https://github.com/lploom/javafx-11-modular-hello-world
Likely I am just missing something
I am on Windows 10 Java 11 both x64
java -version
java version «11» 2018-09-25
Java(TM) SE Runtime Environment 18.9 (build 11+28)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11+28, mixed mode)
Error occurs when running the sample program with the custom jre. Works fine when running normally.
jigsaw-jfx>distbinstart
Graphics Device initialization failed for : d3d, sw
Error initializing QuantumRenderer: no suitable pipeline found
java.lang.RuntimeException: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer.getInstance(QuantumRenderer.java:280)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.init(QuantumToolkit.java:222)
at javafx.graphics/com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:260)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:267)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:158)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:658)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:409)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:363)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:1051)
Caused by: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:94)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:124)
at java.base/java.lang.Thread.run(Thread.java:834)
Exception in thread «main» java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:1051)
Caused by: java.lang.RuntimeException: No toolkit found
at javafx.graphics/com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:272)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:267)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:158)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:658)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:409)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:363)
. 5 more
The text was updated successfully, but these errors were encountered:
Can you run your app with java -Djavafx.verbose=true -Dprism.verbose=true . and paste the output?
Sure. Looks like the root cause is
Loading D3D native library .
GraphicsPipeline.createPipeline failed for com.sun.prism.d3d.D3DPipeline
java.lang.UnsatisfiedLinkError: no prism_d3d in java.library.path
C:jigsaw-jfx>distbinjava -Djavafx.verbose=true -Dprism.verbose=true —module-path C:javafx-sdk-> 11lib;buildhellomodule —module hellomodule/com.ameus.Main
JavaFX launchApplication method: launchMode=LM_MODULE
Loaded C:jigsaw-jfxdistbinapi-ms-win-core-console-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-core-datetime-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-core-debug-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-core-errorhandling-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-core-file-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-core-file-l1-2-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-core-file-l2-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-core-handle-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-core-heap-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-core-interlocked-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-core-libraryloader-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-core-localization-l1-2-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-core-memory-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-core-namedpipe-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-core-processenvironment-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-core-processthreads-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-core-processthreads-l1-1-1.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-core-profile-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-core-rtlsupport-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-core-string-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-core-synch-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-core-synch-l1-2-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-core-sysinfo-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-core-timezone-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-core-util-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-crt-conio-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-crt-convert-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-crt-environment-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-crt-filesystem-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-crt-heap-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-crt-locale-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-crt-math-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-crt-multibyte-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-crt-private-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-crt-process-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-crt-runtime-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-crt-stdio-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-crt-string-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-crt-time-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinapi-ms-win-crt-utility-l1-1-0.dll from java.library.path
Loaded C:jigsaw-jfxdistbinucrtbase.dll from java.library.path
Loaded C:jigsaw-jfxdistbinvcruntime140.dll from java.library.path
Loaded C:jigsaw-jfxdistbinmsvcp140.dll from java.library.path
Loaded C:WINDOWSsystem32concrt140.dll from java.library.path
Prism pipeline init order: d3d sw
Using Double Precision Marlin Rasterizer
Using dirty region optimizations
Not using texture mask for primitives
Not forcing power of 2 sizes for textures
Using hardware CLAMP_TO_ZERO mode
Opting in for HiDPI pixel scaling
Prism pipeline name = com.sun.prism.d3d.D3DPipeline
Loading D3D native library .
GraphicsPipeline.createPipeline failed for com.sun.prism.d3d.D3DPipeline
java.lang.UnsatisfiedLinkError: no prism_d3d in java.library.path: [C:jigsaw-jfxdistbin, C:WINDOWSSunJavabin, C:WINDOWSsystem32, C:WINDOWS, C:Program FilesJavajdk-11bin, C:Program FilesNVIDIA GPU Computing ToolkitCUDAv9.0bin, C:Program FilesNVIDIA GPU Computing ToolkitCUDAv9.0libnvvp, C:Program Files (x86)Common FilesOracleJavajavapath, C:Windowssystem32, C:Windows, C:WindowsSystem32Wbem, C:WindowsSystem32WindowsPowerShellv1.0, C:Program Files (x86)NVIDIA CorporationPhysXCommon, C:Program FilesGitcmd, C:WINDOWSsystem32, C:WINDOWS, C:WINDOWSSystem32Wbem, C:WINDOWSSystem32WindowsPowerShellv1.0, C:Program FilesMicrosoft SQL Server130ToolsBinn, C:Program Files (x86)Windows Kits10Windows Performance Toolkit, C:Program FilesMySQLMySQL Utilities 1.6, C:Program FilesJavajdk-10bin, C:Program FilesGourcecmd, C:WINDOWSSystem32OpenSSH, C:Program Filesnodejs, C:Program Files (x86)SkypePhone, C:UsersxAppDataLocalMicrosoftWindowsApps, C:UsersxAppDataRoamingnpm, C:UsersxAppDataLocalatombin, .]
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2660)
at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:829)
at java.base/java.lang.System.loadLibrary(System.java:1867)
at javafx.graphics/com.sun.glass.utils.NativeLibLoader.loadLibraryInternal(NativeLibLoader.java:150)
at javafx.graphics/com.sun.glass.utils.NativeLibLoader.loadLibrary(NativeLibLoader.java:52)
at javafx.graphics/com.sun.prism.d3d.D3DPipeline.lambda$static$0(D3DPipeline.java:48)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at javafx.graphics/com.sun.prism.d3d.D3DPipeline.(D3DPipeline.java:44)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:315)
at javafx.graphics/com.sun.prism.GraphicsPipeline.createPipeline(GraphicsPipeline.java:187)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:91)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:124)
at java.base/java.lang.Thread.run(Thread.java:834)
*** Fallback to Prism SW pipeline
Prism pipeline name = com.sun.prism.sw.SWPipeline
GraphicsPipeline.createPipeline failed for com.sun.prism.sw.SWPipeline
java.lang.UnsatisfiedLinkError: no prism_sw in java.library.path: [C:jigsaw-jfxdistbin, C:WINDOWSSunJavabin, C:WINDOWSsystem32, C:WINDOWS, C:Program FilesJavajdk-11bin, C:Program FilesNVIDIA GPU Computing ToolkitCUDAv9.0bin, C:Program FilesNVIDIA GPU Computing ToolkitCUDAv9.0libnvvp, C:Program Files (x86)Common FilesOracleJavajavapath, C:Windowssystem32, C:Windows, C:WindowsSystem32Wbem, C:WindowsSystem32WindowsPowerShellv1.0, C:Program Files (x86)NVIDIA CorporationPhysXCommon, C:Program FilesGitcmd, C:WINDOWSsystem32, C:WINDOWS, C:WINDOWSSystem32Wbem, C:WINDOWSSystem32WindowsPowerShellv1.0, C:Program FilesMicrosoft SQL Server130ToolsBinn, C:Program Files (x86)Windows Kits10Windows Performance Toolkit, C:Program FilesMySQLMySQL Utilities 1.6, C:Program FilesJavajdk-10bin, C:Program FilesGourcecmd, C:WINDOWSSystem32OpenSSH, C:Program Filesnodejs, C:Program Files (x86)SkypePhone, C:UsersxAppDataLocalMicrosoftWindowsApps, C:UsersxAppDataRoamingnpm, C:UsersxAppDataLocalatombin, .]
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2660)
at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:829)
at java.base/java.lang.System.loadLibrary(System.java:1867)
at javafx.graphics/com.sun.glass.utils.NativeLibLoader.loadLibraryInternal(NativeLibLoader.java:150)
at javafx.graphics/com.sun.glass.utils.NativeLibLoader.loadLibrary(NativeLibLoader.java:52)
at javafx.graphics/com.sun.prism.sw.SWPipeline.lambda$static$0(SWPipeline.java:42)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at javafx.graphics/com.sun.prism.sw.SWPipeline.(SWPipeline.java:41)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:315)
at javafx.graphics/com.sun.prism.GraphicsPipeline.createPipeline(GraphicsPipeline.java:187)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:91)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:124)
at java.base/java.lang.Thread.run(Thread.java:834)
Graphics Device initialization failed for : d3d, sw
Error initializing QuantumRenderer: no suitable pipeline found
java.lang.RuntimeException: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer.getInstance(QuantumRenderer.java:280)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.init(QuantumToolkit.java:222)
at javafx.graphics/com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:260)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:267)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:158)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:658)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:409)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:363)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:1051)
Caused by: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:94)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:124)
at java.base/java.lang.Thread.run(Thread.java:834)
Exception in thread «main» java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:1051)
Caused by: java.lang.RuntimeException: No toolkit found
at javafx.graphics/com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:272)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:267)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:158)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:658)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:409)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:363)
. 5 more
The reason is that you are bundling the «mods» from the SDK, which don’t have the native libraries in them (in the SDK, we have jars and native libs).
You can download the JavaFX modules as jmods, including classes and native libs. See https://gluonhq.com/products/javafx/ and download the mods (instead of the SDK).
Next, point jlink to the mods directory (assuming you unpacked them in /opt )
jlink —module-path /opt/java/jmods:/opt/javafx-jmods-11:build/hellomodule —add-modules hellomodule —launcher start=hellomodule/com.ameus.Main —output dist
On Linux, I got it working like this, and I expect it to work similar on the other platforms.
We should document this.
Indeed we should. There are two cases to document:
- Using jlink to bundle your (modular) app with a Java runtime.
- Using jlink to create a Java runtime with JavaFX for use with your (possibly non-modular) applications.
Case 1 is covered by the above jlink example. Case 2 requires adding the javafx.* modules that you need, since there is no application module that will «require» them and cause them to be included.
Источник
I am getting following error while running Kangaroo Test Automation
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:280)
at com.sun.javafx.tk.quantum.QuantumToolkit.init(QuantumToolkit.java:220)
at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:173)
at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:206)
at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:649)
at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:312)
at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:303)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:767)
Caused by: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:94)
at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:124)
at java.lang.Thread.run(Thread.java:745)
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:767)
Caused by: java.lang.RuntimeException: No toolkit found
at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:185)
at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:206)
at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:649)
at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:312)
at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:303)
... 5 more
i google it and fount i mailed application developer and he replied i have to install gtk3 so i tried following packages
sudo apt-get install libgtk-3-dev
sudo apt-get install libswt-gtk-3-java
even-thought it’s not working can anybody help me why..?
my java -version is
openjdk version "1.8.0_40-internal"
OpenJDK Runtime Environment (build 1.8.0_40-internal-b27)
OpenJDK 64-Bit Server VM (build 25.40-b25, mixed mode)
i went through https://stackoverflow.com/questions/21185156/javafx-on-linux-is-showing-a-graphics-device-initialization-failed-for-es2-s
even-though not able to figure out solution.
any help is appreciated.
I’m trying to create a JavaFX project in IntelliJ IDEA, but I get errors every time.
After completing tutorial https://openjfx.io/openjfx-docs/#IDE-Intellij, I’ve got this:
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 javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer.getInstance(QuantumRenderer.java:280)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.init(QuantumToolkit.java:222)
at javafx.graphics/com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:260)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:267)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:158)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:658)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:409)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:363)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:1051)
Caused by: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:94)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:124)
at java.base/java.lang.Thread.run(Thread.java:834)
Exception in thread "main" java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:1051)
Caused by: java.lang.RuntimeException: No toolkit found
at javafx.graphics/com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:272)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:267)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:158)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:658)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:409)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:363)
... 5 moreProcess finished with exit code 1
After adding -Dprism.verbose=true to VM options in IntelliJ IDEA (so my VM options look like this:
--module-path /myPath/javafx-sdk-11.0.1/lib --add-modules=javafx.controls,javafx.fxml -Dprism.verbose=true
And then I get this output:
Prism pipeline init order: es2 sw
Using Double Precision Marlin Rasterizer
Using dirty region optimizations
Not using texture mask for primitives
Not forcing power of 2 sizes for textures
Using hardware CLAMP_TO_ZERO mode
Opting in for HiDPI pixel scaling
Prism pipeline name = com.sun.prism.es2.ES2Pipeline
Loading ES2 native library ... prism_es2
GraphicsPipeline.createPipeline failed for com.sun.prism.es2.ES2Pipeline
java.lang.UnsatisfiedLinkError: no prism_es2 in java.library.path: [/Users/Lisa/javafx-sdk-11.0.1/lib]
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2660)
at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:829)
at java.base/java.lang.System.loadLibrary(System.java:1867)
at javafx.graphics/com.sun.glass.utils.NativeLibLoader.loadLibraryInternal(NativeLibLoader.java:150)
at javafx.graphics/com.sun.glass.utils.NativeLibLoader.loadLibrary(NativeLibLoader.java:52)
at javafx.graphics/com.sun.prism.es2.ES2Pipeline.lambda$static$0(ES2Pipeline.java:68)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at javafx.graphics/com.sun.prism.es2.ES2Pipeline.<clinit>(ES2Pipeline.java:50)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:315)
at javafx.graphics/com.sun.prism.GraphicsPipeline.createPipeline(GraphicsPipeline.java:187)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:91)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:124)
at java.base/java.lang.Thread.run(Thread.java:834)
*** Fallback to Prism SW pipeline
Prism pipeline name = com.sun.prism.sw.SWPipeline
GraphicsPipeline.createPipeline failed for com.sun.prism.sw.SWPipeline
java.lang.UnsatisfiedLinkError: no prism_sw in java.library.path: [/Users/Lisa/javafx-sdk-11.0.1/lib]
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2660)
at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:829)
at java.base/java.lang.System.loadLibrary(System.java:1867)
at javafx.graphics/com.sun.glass.utils.NativeLibLoader.loadLibraryInternal(NativeLibLoader.java:150)
at javafx.graphics/com.sun.glass.utils.NativeLibLoader.loadLibrary(NativeLibLoader.java:52)
at javafx.graphics/com.sun.prism.sw.SWPipeline.lambda$static$0(SWPipeline.java:42)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at javafx.graphics/com.sun.prism.sw.SWPipeline.<clinit>(SWPipeline.java:41)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:315)
at javafx.graphics/com.sun.prism.GraphicsPipeline.createPipeline(GraphicsPipeline.java:187)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:91)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:124)
at java.base/java.lang.Thread.run(Thread.java:834)
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 javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer.getInstance(QuantumRenderer.java:280)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.init(QuantumToolkit.java:222)
at javafx.graphics/com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:260)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:267)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:158)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:658)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:409)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:363)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:1051)
Caused by: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:94)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:124)
at java.base/java.lang.Thread.run(Thread.java:834)
Exception in thread "main" java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:1051)
Caused by: java.lang.RuntimeException: No toolkit found
at javafx.graphics/com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:272)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:267)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:158)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:658)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:409)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:363)
... 5 moreProcess finished with exit code 1
What should I do to make my project work?
SOLUTION 1 :
As mentioned in the documentation of Run HelloWorld using JavaFX 11, the first step to start off with the project is to
Download an appropriate JavaFX runtime for your operating system and unzip it to a desired location.
Changing my links to an afresh platform specific downloaded SDK’s /lib
folder solved it for me, while I was previously trying to use the lib folder provided by another user.
Reason: There are dynamic libraries bundled with the SDK in the lib
folder that we specify as an argument to the modulepath
. These libraries are platform-wise bundled and hence an SDK or lib folder used cross-platform wouldn’t be able to provide the dynamic libraries such as those mentioned in the error to load during the application startup.
SOLUTION 2 :
I had exactly this error when trying to run the build result of jlink
. The reason was a typo in the --module-path
. A symptom of this is that files like
libprism_common.dylib, libprism_es2.dylib, libprism_sw.dylib, libjavafx_font.dylib, libjavafx_iio.dylib
(and some more) are missing in the lib/
folder of the build result.
So I recommend to check that the indicated module path actually contains the openjfx
modules:
javafx.base.jmod, javafx.controls.jmod, javafx.fxml.jmod, javafx.graphics.jmod, javafx.media.jmod, javafx.swing.jmod, javafx.web.jmod
Label : tag_java tag_javafx tag_java-11 tag_javafx-11 tag_openjfx
Issue
I have built my app with JavaFX 11 and now I need to distribute it. I have chosen to distribute it in two ways: cross-platform fat-jar (I know, I know, it is discouraged, but that is not the point) and platform specific image created with jlink.
I am building on Linux Mint 20.1. I am using Maven and creating runtime image with javafx-maven-plugin
. I have JDKs for both platforms on my Linux machine and pointed to the corresponding jmods
folder in pom.xml
.
The built fat-jar works on both Linux and Windows where both have installed the latest Java SDK (11.0.12).
The image for Linux also works without problems.
However, the image for Windows does not run and the output of -Dprism.verbose=true
is this:
B:Datasjsmreleases1.0sjsm-1.0-winbin>sjsm-1.0-launcher.bat Prism pipeline init order: d3d sw
Using Double Precision Marlin Rasterizer
Using dirty region optimizations
Not using texture mask for primitives
Not forcing power of 2 sizes for textures
Using hardware CLAMP_TO_ZERO mode
Opting in for HiDPI pixel scaling
Prism pipeline name = com.sun.prism.d3d.D3DPipeline
GraphicsPipeline.createPipeline failed for com.sun.prism.d3d.D3DPipeline
java.lang.ClassNotFoundException: com.sun.prism.d3d.D3DPipeline
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Unknown Source)
at javafx.graphics/com.sun.prism.GraphicsPipeline.createPipeline(Unknown Source)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(Unknown Source)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
*** Fallback to Prism SW pipeline
Prism pipeline name = com.sun.prism.sw.SWPipeline
GraphicsPipeline.createPipeline failed for com.sun.prism.sw.SWPipeline
java.lang.UnsatisfiedLinkError: no prism_sw in java.library.path: [B:Datasjsmreleases1.0sjsm-1.0-winbin, C:WINDOWSSunJavabin, C:WINDOWSsystem32, C:WINDOWS, C:Program FilesEclipse Foundationjdk-11.0.12.7-hotspotbin, C:WINDOWSsystem32, C:WINDOWS, C:WINDOWSSystem32Wbem, C:WINDOWSSystem32WindowsPowerShellv1.0, C:WINDOWSSystem32OpenSSH, C:Program Filesdotnet, B:xamppphp, B:MinGWbin, C:Program FilesMicrosoft SQL Server120ToolsBinn, B:Gitcmd, B:Matlab R2020abin, B:Microsoft VS Codebin, C:UsersUserAppDataLocalMicrosoftWindowsApps, B:xamppphp, ., .]
at java.base/java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.base/java.lang.Runtime.loadLibrary0(Unknown Source)
at java.base/java.lang.System.loadLibrary(Unknown Source)
at javafx.graphics/com.sun.glass.utils.NativeLibLoader.loadLibraryInternal(Unknown Source)
at javafx.graphics/com.sun.glass.utils.NativeLibLoader.loadLibrary(Unknown Source)
at javafx.graphics/com.sun.prism.sw.SWPipeline.lambda$static$0(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at javafx.graphics/com.sun.prism.sw.SWPipeline.<clinit>(Unknown Source)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Unknown Source)
at javafx.graphics/com.sun.prism.GraphicsPipeline.createPipeline(Unknown Source)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(Unknown Source)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
Graphics Device initialization failed for : d3d, sw
Error initializing QuantumRenderer: no suitable pipeline found
java.lang.RuntimeException: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer.getInstance(Unknown Source)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.init(Unknown Source)
at javafx.graphics/com.sun.javafx.tk.Toolkit.getToolkit(Unknown Source)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(Unknown Source)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(Unknown Source)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.startToolkit(Unknown Source)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication1(Unknown Source)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(Unknown Source)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(Unknown Source)
... 1 more
Exception in thread "main" java.lang.RuntimeException: No toolkit found
at javafx.graphics/com.sun.javafx.tk.Toolkit.getToolkit(Unknown Source)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(Unknown Source)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(Unknown Source)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.startToolkit(Unknown Source)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication1(Unknown Source)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
I got the same response when I tried to run the project from source on Windows. (I copied the project to Windows, installed maven, and it would not even run with javafx:run
, let alone jlink with javafx:jlink
)
I have tried many links on Google and none of them works, People either have something missing in their installation (I have everything installed at least as far as I have found) or the issue pops up in a different situation (when packaging a fat-jar for example, or running their application from IDE).
What I have not tried so far is creating the image by hand from command line, since I have read many times that it is discourage compared to using a build tool like Maven.
What can I try next?
Solution
I have managed to solve this. The javafx-maven-plugin expects in <jModsPath>
a colon separated list of paths to ALL jmods, not just the standard oridinary JDK. It pulls what’s missing out of maven repository I think but ignores all platform clasifiers.
Answered By — TurgonTheKingOfGondolin
Answer Checked By — Candace Johnson (JavaFixing Volunteer)
When I created an app in Eclipce using a framework called JavaFX, when I executed the completed app as a jar file, it could not be opened, and instead I got the following error.
Command line screen
>java -jar test.bat
Graphics Device initialization failed for : d3d, 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:280)
at com.sun.javafx.tk.quantum.QuantumToolkit.init(QuantumToolkit.java:244)
at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:261)
at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:267)
at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:158)
at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:658)
at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:678)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195)
at java.base/java.lang.Thread.run(Thread.java:832)
Caused by: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:94)
at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:124)
... 1 more
Exception in thread "main" java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:61)
Caused by: java.lang.RuntimeException: No toolkit found
at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:273)
at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:267)
at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:158)
at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:658)
at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:678)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195)
at java.base/java.lang.Thread.run(Thread.java:832)
The cause of this error is Zubari, __ not through environment variables __.
When using Java, set the environment variables «PATH» and «JAVA_HOME» to the folder path of OpenSDK. In the same way, when using the framework, I had to add the framework folder path to the environment variable «PATH».
Setting up JavaFX was easy, just open the Windows «Set System Environment Variables» and add the path to the bin folder of the JavaFX SDK folder to the «PATH» variable there.
This «no suitable pipeline found» will be the same in other frameworks if the environment variables are set incorrectly. If you get this error, be sure to suspect environment variables.
I’ve just started coding/testing non-modular JavaFX projects using the IDE tools on macOS on Eclipse (it’s mandatory to use Eclipse that way for a class) and I’m facing an error to start a simple app. I keep getting the following:
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 javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer.getInstance(QuantumRenderer.java:283)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.init(QuantumToolkit.java:254)
at javafx.graphics/com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:264)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:291)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:163)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:659)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:410)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:364)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:1071)
Caused by: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:95)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:125)
at java.base/java.lang.Thread.run(Thread.java:833)
Exception in thread «main» java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:1071)
Caused by: java.lang.RuntimeException: No toolkit found
at javafx.graphics/com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:276)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:291)
at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:163)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:659)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:410)
at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:364)
… 5 more
I already used a suitable JDK, installed the latest version of e(fx)lipse, included the proper JARs, and even added the proper VM arguments. But nothing is working, I’d appreciate any help if possible!