Could not get native display: How is platformGetNativeDisplay() in AcceleratedScreen realized?

info at cuhka.com info at cuhka.com
Mon Sep 7 13:29:54 UTC 2015


I'm runing my JavaFX application on a Udoo Quad, a ARMv7 with Vivante  
GPU. I haven't succeeded in using the GPU yet, and I'm endeavouring on  
the quest to find out why. It probably has to do something with  
drivers, missing libraries etc etc. I'm aware of the page "Porting  
JavaFX to additional embedded Linux devices" [1], although I haven't  
found the answer there yet that I need.

I tried to look inside the code to see how it works, and why the  
native display cannot be gotten. I found the code in  
AcceleratedScreen, but I fail to understand where a different  
resultcode of 0 is implemented, so who should realize the call? This  
will help me to look further.


The output of my javafx program is:

Prism pipeline init order: es2 sw
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_monocle
         succeeded.
GLFactory using com.sun.prism.es2.MonocleGLFactory
com.sun.glass.ui.monocle.GLException: 0x0: Could not get native display
         at  
com.sun.glass.ui.monocle.AcceleratedScreen.<init>(AcceleratedScreen.j
ava:75)
         at  
com.sun.glass.ui.monocle.MX6AcceleratedScreen.<init>(MX6AcceleratedSc
reen.java:39)
         at  
com.sun.glass.ui.monocle.MX6Platform.getAcceleratedScreen(MX6Platform
..java:39)
         at  
com.sun.prism.es2.MonocleGLFactory.initialize(MonocleGLFactory.java:1
07)
         at com.sun.prism.es2.ES2Pipeline.<clinit>(ES2Pipeline.java:81)
         at java.lang.Class.forName0(Native Method)
         at java.lang.Class.forName(Class.java:260)
         at  
com.sun.prism.GraphicsPipeline.createPipeline(GraphicsPipeline.java:1
87)
         at  
com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(Quant
umRenderer.java:91)
         at  
com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(Quantu
mRenderer.java:124)
         at java.lang.Thread.run(Thread.java:745)
(X) Got class = class com.sun.prism.es2.ES2Pipeline
GraphicsPipeline.createPipeline: error initializing pipeline  
com.sun.prism.es2.E
S2Pipeline
*** Fallback to Prism SW pipeline
Prism pipeline name = com.sun.prism.sw.SWPipeline
(X) Got class = class com.sun.prism.sw.SWPipeline
Initialized prism pipeline: com.sun.prism.sw.SWPipeline
  vsync: true vpipe: false
Loading Prism common native library ...
         succeeded.


Regards,
Maurice.

[1]  
https://wiki.openjdk.java.net/display/OpenJFX/Porting+JavaFX+to+additional+embedded+Linux+devices



More information about the openjfx-dev mailing list