Jump to content

[Java] RED: JavaFX Error


Recommended Posts

Hallo Zusammen,

 

ich habe Probleme, ein simples JavaFX-Programm auf dem RED zu starten.

Ich bekomme folgende Fehlermeldung:

Prism pipeline init order: es2 
Using platform text rasterizer
Using native-based Pisces rasterizer
Using dirty region optimizations
Using system sized 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_eglfb
succeeded.
GLFactory using com.sun.prism.es2.EGLFBGLFactory
eglGetDisplay returned EGL_NO_DISPLAY(X) Got class = class com.sun.prism.es2.ES2Pipeline
GraphicsPipeline.createPipeline: error initializing pipeline com.sun.prism.es2.ES2Pipeline
Graphics Device initialization failed for :  es2
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:300)
at com.sun.javafx.tk.quantum.QuantumToolkit.init(QuantumToolkit.java:244)
at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:179)
at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:214)
at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:653)
at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:314)
at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:305)
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:483)
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:98)
at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:128)
at java.lang.Thread.run(Thread.java:744)
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:483)
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:191)
at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:214)
at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:653)
at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:314)
at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:305)
... 5 more

 

Von NetBeans aus gestartet funktioniert das Programm, auf einem RaspberryPi auch. Am RED ist über HDMI ein normaler Monitor angeschlossen, später soll der 5-Zöller ran.

Bei meiner Recherche im Netz bin ich nicht so recht schlau geworden. Hat jemand bereits JavaFX auf dem RED laufen und wenn ja wie?

 

Danke und Gruß

Karsten

Link zu diesem Kommentar
Share on other sites

Hallo R0lanD,

 

danke erstmal für Deine schnelle Antwort.

Die Display-Variable hatte ich nicht gesetzt, obwohl ich den Thread die Tage schon mal gelesen hatte. Leider löste es mein Problem trotzdem nicht, denn wenn ich direkt auf der Konsole des RED (nicht die Konsole im BrickV) das Programm starte, klappt es auch nicht, da sollte der BrickV ja eigentlich außen vor sein.

Du verwendest auch JavaFX? Dann muss das Problem scheinbar bei mir liegen.

Ich verwende die RED-Version 1.5 und in den Settings habe ich "Enable GPU" angehakt.

 

Gruß

Karsten

Link zu diesem Kommentar
Share on other sites

So, hab es mir angeguckt. Dein Programm versucht OpenGLES zu verwenden und JavaFX hat leider eine Grafikkartenabhängige Initialisierung und es gibt keine Unterstützung für Mali (die GPU des RED Bricks). Eine ausführliche Diskussion dazu gibt es hier, inkl. Bug reports bei JavaFX: http://forum.odroid.com/viewtopic.php?f=77&t=3272

 

Thanks bunch for all your help. I manage to find this official bug reports:

 

https://javafx-jira.kenai.com/browse/RT-34816

https://javafx-jira.kenai.com/browse/RT-34902

 

Looks like the Mali GPU is not yet supported. Both of them are scheduled for version 9.

 

Ich kenne mich mit JavaFX leider nicht aus, kann man OpenGL evtl generell ausstellen und per Software rendern?

Link zu diesem Kommentar
Share on other sites

Danke für Deine Mühe und Deine schnelle Antwort,

ich komme eigentlich aus der JavaEE-Fraktion und hätte mir eine schnellere Einarbeitung in JavaFX vorstellen können als z.B. in Python, die ersten Test funktionierten ja erfolgreich und elegant.

Mit dem Verhalten auf unterschiedlicher Hardware kenne ich mich also leider auch nicht aus, deshalb mein Hilferuf.

 

So werde ich dann doch den RPi nutzen "müssen", was mir zwar aufgrund der Größe und der zusätzlichen Verkabelung nicht wirklich schmeckt, aber mit dem neuen RPi 2 in der Geschwindigkeit dann doch wieder entgegen kommt, das merkt man gerade bei den Java-GUIs schon deutlich.

Ich finde den RED schon Klasse und vor allem seine Konfiguration über den BrickV, ein Ansatz, der seinesgleichen sucht. Leider ist er scheinbar für mein eingeschränktes Programmierwissen nicht für alle meine Ideen geeignet. Gerade die ganze Installation und Konfiguration des RPi für meine Zwecke hätte ich mir aus Zeitgründen schon gern gespart.

Aber man kann nicht alles haben ;) ...

 

Gruß

Karsten

Link zu diesem Kommentar
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...