JavaFX работает на Raspbian Stretch / Raspberry Pi Zero W 1.1

Моя среда для запуска приложения JavaFX:

jdk1.8.0_144 от Oracle, JavaFX Embedded SDK 8.60.9 (armv6 hard float) от Gluon, Raspbian Stretch (последнее обновление 7.10.2017 - с sudo apt-get update / sudo apt-get dist-upgrade), Raspberry Pi Zero W 1.1

Простое приложение JavaFX Hello World запускается из NetBeans 8.2 (удаленная платформа), и вот полный вывод в окне вывода из NetBeans 8.2 при запуске:

Connecting to 192.168.1.14:22
cmd : cd '/home/pi/NetBeansProjects//JavaFXHelloWorldRPiApplication'; 'sudo' '/opt/jdk1.8.0_144/bin/java'  -Dfile.encoding=UTF-8 -Djava.ext.dirs=/home/pi/armv6hf-sdk/rt/lib/ext -Dprism.verbose=true -Dprism.debug=true -Djavafx.verbose=true -Djavafx.debug=true  -jar /home/pi/NetBeansProjects//JavaFXHelloWorldRPiApplication/dist/JavaFXHelloWorldRPiApplication.jar 
Oct 07, 2017 4:18:13 PM com.sun.javafx.jmx.MXExtension initializeIfAvailable
INFO: Failed to initialize management extension
java.lang.ClassNotFoundException: com.oracle.javafx.jmx.MXExtensionImpl
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:264)
    at com.sun.javafx.jmx.MXExtension.initializeIfAvailable(MXExtension.java:40)
    at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:669)
    at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:337)
    at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:328)
    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:498)
    at sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:767)
Prism pipeline init order: 
es2 
sw 
Using native-based Pisces rasterizer
Using dirty region optimizations
Using system sized mask for primitives
Not 
f
orcing 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
Loaded /home/pi/armv6hf-sdk/rt/lib/ext/../arm/libprism_es2_monocle.so from relative path
succeeded.
GLFactory using com.sun.prism.es2.MonocleGLFactory
Loaded /home/pi/armv6hf-sdk/rt/lib/ext/../arm/libglass_monocle.so from relative path
java.lang.UnsatisfiedLinkError: Error loading libGLESv2.so
at com.sun.glass.ui.monocle.AcceleratedScreen.initPlatformLibraries(AcceleratedScreen.java:158)
at com.sun.glass.ui.monocle.AcceleratedScreen.<init>(AcceleratedScreen.java:68)
at com.sun.glass.ui.monocle.DispmanAcceleratedScreen.<init>(DispmanAcceleratedScreen.java:34)
    at com.sun.glass.ui.monocle.DispmanPlatform.getAcceleratedScreen(DispmanPlatform.java:43)
    at com.sun.prism.es2.MonocleGLFactory.initialize(MonocleGLFactory.java:107)
    at com.sun.prism.es2.ES2Pipeline.<clinit>(ES2Pipeline.java:82)
    at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at com.sun.prism.GraphicsPipeline.createPipeline(GraphicsPipeline.java:187)
at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:91)
at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:124)
at java.lang.Thread.run(Thread.java:748)
(X) Got class = class com.sun.prism.es2.ES2Pipeline
GraphicsPipeline.createPipeline: error initializing pipeline com.sun.prism.es2.ES2Pipeline
*** Fallback to Prism SW pipeline
Prism pipeline name = com.sun.prism.sw.SWPipeline
Loaded /home/pi/armv6hf-sdk/rt/lib/ext/../arm/libprism_sw.so from relative path
(X) Got class = class com.sun.prism.sw.SWPipeline
Initialized prism pipeline: com.sun.prism.sw.SWPipeline
JavaFX: using com.sun.javafx.tk.quantum.QuantumToolkit
Cannot open display
 vsync: true vpipe: false
Launching application directly
Loaded /home/pi/armv6hf-sdk/rt/lib/ext/../arm/libjavafx_font.so from relative path
Loaded /home/pi/armv6hf-sdk/rt/lib/ext/../arm/libjavafx_font_freetype.so from relative path
Loaded /home/pi/armv6hf-sdk/rt/lib/ext/../arm/libjavafx_font_pango.so from relative path
Cannot create resource
PCS Texture allocating buffer: com.sun.prism.sw.SWRTTexture@2f2548, 1920x1080
+ PR.resetClip
+ concat scale com.sun.prism.sw.SWGraphics@1b521bb; sx: 1.0; sy: 1.0
+ PR.resetClip
+ PR.clear: Color[r=1.0, g=1.0, b=1.0, a=1.0]
PR.setColor: Color[r=1.0, g=1.0, b=1.0, a=1.0]
+ getTransformNoClone com.sun.prism.sw.SWGraphics@1b521bb; tr: Affine2D[[1.0, 0.0, 0.0], [0.0, 1.0, 0.0]]
+ concatTransform com.sun.prism.sw.SWGraphics@1b521bb; tr: Identity[]
+ getTransformNoClone com.sun.prism.sw.SWGraphics@1b521bb; tr: Affine2D[[1.0, 0.0, 0.0], [0.0, 1.0, 0.0]]
+ SWG.fillRect, x: 
0.000000
, y: 
0.000000
, w: 
1920.000000
, h: 
1080.000000
GR: com.sun.prism.sw.SWGraphics@1b521bb
target: com.sun.prism.sw.SWRTTexture@2f2548 t.w: 1920, t.h: 1080, t.dims: com.sun.javafx.geom.Rectangle[x=0,y=0,width=1920,height=1080]
Tx: Affine2D[[1.0, 0.0, 0.0], [0.0, 1.0, 0.0]]
Clip: com.sun.javafx.geom.Rectangle[x=0,y=0,width=1920,height=1080]
Composite rule: SRC_OVER
PR.setColor: Color[r=0.9569631, g=0.9569631, b=0.9569631, a=1.0]
+ getTransformNoClone com.sun.prism.sw.SWGraphics@1b521bb; tr: Affine2D[[1.0, 0.0, 0.0], [0.0, 1.0, 0.0]]
+ concatTransform com.sun.prism.sw.SWGraphics@1b521bb; tr: Translate2D[10.0, 10.0]
+ getTransformNoClone com.sun.prism.sw.SWGraphics@1b521bb; tr: Affine2D[[1.0, 0.0, 10.0], [0.0, 1.0, 10.0]]
+ SWG.fillRoundRect
PR.setColor: Color[r=0.6784314, g=0.84705883, b=0.9019608, a=1.0]
GR: com.sun.prism.sw.SWGraphics@1b521bb
target: com.sun.prism.sw.SWRTTexture@2f2548 t.w: 1920, t.h: 1080, t.dims: com.sun.javafx.geom.Rectangle[x=0,y=0,width=1920,height=1080]
Shape: com.sun.javafx.geom.RoundRectangle2D[x=0.0,y=0.0,w=1900.0,h=1060.0]
Stroke: null
Tx: Affine2D[[1.0, 0.0, 10.0], [0.0, 1.0, 10.0]]
Clip: com.sun.javafx.geom.Rectangle[x=0,y=0,width=1920,height=1080]
Composite rule: SRC_OVER
Loading Prism common native library ...
Loaded /home/pi/armv6hf-sdk/rt/lib/ext/../arm/libprism_common.so from relative path
succeeded.
MASK TEXTURE, Pixel format: BYTE_ALPHA, buffer: java.nio.HeapByteBuffer[pos=0 lim=2076672 cap=2076672]
dstx:0 dsty:0
srcx:0 srcy:0 srcw:1900 srch:1060 srcscan: 1900
PCS Texture allocating buffer: com.sun.prism.sw.SWMaskTexture@1697604, 1900x1060
+ restoreTransform com.sun.prism.sw.SWGraphics@1b521bb; tr: Affine2D[[1.0, 0.0, 0.0], [0.0, 1.0, 0.0]]
+ getTransformNoClone com.sun.prism.sw.SWGraphics@1b521bb; tr: Affine2D[[1.0, 0.0, 0.0], [0.0, 1.0, 0.0]]
+ concatTransform com.sun.prism.sw.SWGraphics@1b521bb; tr: Translate2D[883.0, 525.0]
+ getTransformNoClone com.sun.prism.sw.SWGraphics@1b521bb; tr: Affine2D[[1.0, 0.0, 883.0], [0.0, 1.0, 525.0]]
+ getTransformNoClone com.sun.prism.sw.SWGraphics@1b521bb; tr: Affine2D[[1.0, 0.0, 883.0], [0.0, 1.0, 525.0]]
PCS Texture allocating buffer: com.sun.prism.sw.SWRTTexture@fceee5, 2048x1024
+ PR.resetClip
+ concat translate com.sun.prism.sw.SWGraphics@1baa41; tx: 3.0; ty: 3.0
+ SWG.fillRoundRect
PR.setColor: Color[r=0.011764706, g=0.61960787, b=0.827451, a=1.0]
GR: com.sun.prism.sw.SWGraphics@1baa41
target: com.sun.prism.sw.SWRTTexture@fceee5 t.w: 2048, t.h: 1024, t.dims: com.sun.javafx.geom.Rectangle[x=0,y=0,width=2048,height=1024]
Shape: com.sun.javafx.geom.RoundRectangle2D[x=-0.2,y=-0.2,w=10.4,h=31.400002]
Stroke: null
Tx: Affine2D[[1.0, 0.0, 3.0], [0.0, 1.0, 3.0]]
Clip: com.sun.javafx.geom.Rectangle[x=0,y=0,width=2048,height=1024]
Composite rule: SRC_OVER
MASK TEXTURE, Pixel format: BYTE_ALPHA, buffer: java.nio.HeapByteBuffer[pos=0 lim=2097152 cap=2097152]
dstx:0 dsty:0
srcx:0 srcy:0 srcw:12 srch:33 srcscan: 12
+ SWG.fillRoundRect
PR.setLinearGradient: 0.0, 0.0, 0.0, 1.0
GR: com.sun.prism.sw.SWGraphics@1baa41
target: com.sun.prism.sw.SWRTTexture@fceee5 t.w: 2048, t.h: 1024, t.dims: com.sun.javafx.geom.Rectangle[x=0,y=0,width=2048,height=1024]
Shape: com.sun.javafx.geom.RoundRectangle2D[x=1.0,y=1.0,w=8.0,h=29.0]
Stroke: null
Tx: Affine2D[[1.0, 0.0, 3.0], [0.0, 1.0, 3.0]]
Clip: com.sun.javafx.geom.Rectangle[x=0,y=0,width=2048,height=1024]
Composite rule: SRC_OVER
MASK TEXTURE, Pixel format: BYTE_ALPHA, buffer: java.nio.HeapByteBuffer[pos=396 lim=2097152 cap=2097152]
dstx:0 dsty:0
srcx:0 srcy:0 srcw:8 srch:29 srcscan: 8
+ SWG.fillRoundRect
PR.setLinearGradient: 0.0, 0.0, 0.0, 1.0
GR: com.sun.prism.sw.SWGraphics@1baa41
target: com.sun.prism.sw.SWRTTexture@fceee5 t.w: 2048, t.h: 1024, t.dims: com.sun.javafx.geom.Rectangle[x=0,y=0,width=2048,height=1024]
Shape: com.sun.javafx.geom.RoundRectangle2D[x=2.0,y=2.0,w=6.0,h=27.0]
Stroke: null
Tx: Affine2D[[1.0, 0.0, 3.0], [0.0, 1.0, 3.0]]
Clip: com.sun.javafx.geom.Rectangle[x=0,y=0,width=2048,height=1024]
Composite rule: SRC_OVER
MASK TEXTURE, Pixel format: BYTE_ALPHA, buffer: java.nio.HeapByteBuffer[pos=232 lim=2097152 cap=2097152]
dstx:0 dsty:0
srcx:0 srcy:0 srcw:6 srch:27 srcscan: 6
+ SWG.fillRoundRect
PR.setColor: Color[r=0.011764706, g=0.61960787, b=0.827451, a=0.13333334]
GR: com.sun.prism.sw.SWGraphics@1baa41
target: com.sun.prism.sw.SWRTTexture@fceee5 t.w: 2048, t.h: 1024, t.dims: com.sun.javafx.geom.Rectangle[x=0,y=0,width=2048,height=1024]
Shape: com.sun.javafx.geom.RoundRectangle2D[x=-1.4,y=-1.4,w=12.799999,h=33.800003]
Stroke: null
Tx: Affine2D[[1.0, 0.0, 3.0], [0.0, 1.0, 3.0]]
Clip: com.sun.javafx.geom.Rectangle[x=0,y=0,width=2048,height=1024]
Composite rule: SRC_OVER
MASK TEXTURE, Pixel format: BYTE_ALPHA, buffer: java.nio.HeapByteBuffer[pos=162 lim=2097152 cap=2097152]
dstx:0 dsty:0
srcx:0 srcy:0 srcw:14 srch:35 srcscan: 14
PCS Texture allocating buffer: com.sun.prism.sw.SWMaskTexture@11bd84c, 14x35
+ SWG.fillRoundRect
PR.setLinearGradient: 0.0, 0.0, 0.0, 1.0
GR: com.sun.prism.sw.SWGraphics@1baa41
target: com.sun.prism.sw.SWRTTexture@fceee5 t.w: 2048, t.h: 1024, t.dims: com.sun.javafx.geom.Rectangle[x=0,y=0,width=2048,height=1024]
Shape: com.sun.javafx.geom.RoundRectangle2D[x=2.6,y=2.6,w=4.8,h=25.8]
Stroke: null
Tx: Affine2D[[1.0, 0.0, 3.0], [0.0, 1.0, 3.0]]
Clip: com.sun.javafx.geom.Rectangle[x=0,y=0,width=2048,height=1024]
Composite rule: SRC_OVER
MASK TEXTURE, Pixel format: BYTE_ALPHA, buffer: java.nio.HeapByteBuffer[pos=490 lim=2097152 cap=2097152]
dstx:0 dsty:0
srcx:0 srcy:0 srcw:6 srch:27 srcscan: 6
+ drawTexture: com.sun.prism.sw.SWRTTexture@fceee5, imageMode: 1, tex.w: 2048, tex.h: 1024, tex.cw: 2048, tex.ch: 1024
target: com.sun.prism.sw.SWRTTexture@2f2548 t.w: 1920, t.h: 1080, t.dims: com.sun.javafx.geom.Rectangle[x=0,y=0,width=1920,height=1080]
GR: com.sun.prism.sw.SWGraphics@1b521bb
dx1:-2.4960938 dy1:-2.4960938 dx2:5.0 dy2:33.496094
sx1:0.50390625 sy1:0.50390625 sx2:8.0 sy2:36.496094
Clip: com.sun.javafx.geom.Rectangle[x=0,y=0,width=1920,height=1080]
Composite rule: SRC_OVER
tx: Affine2D[[1.0, 0.0, 883.0], [0.0, 1.0, 525.0]]
piscesTx: Transform6[m00=1.0, m01=0.0, m02=880.0, m10=0.0, m11=1.0, m12=522.0]
srcBBox: RectBounds { minX:-2.4960938, minY:-2.4960938, maxX:5.0, maxY:33.496094} (w:7.4960938, h:35.992188)
dstBBox: RectBounds { minX:880.5039, minY:522.5039, maxX:888.0, maxY:558.4961} (w:7.4960938, h:35.992188)
* drawTexture, DONE
+ drawTexture: com.sun.prism.sw.SWRTTexture@fceee5, imageMode: 1, tex.w: 2048, tex.h: 1024, tex.cw: 2048, tex.ch: 1024
target: com.sun.prism.sw.SWRTTexture@2f2548 t.w: 1920, t.h: 1080, t.dims: com.sun.javafx.geom.Rectangle[x=0,y=0,width=1920,height=1080]
GR: com.sun.prism.sw.SWGraphics@1b521bb
dx1:5.0 dy1:-2.4960938 dx2:150.0 dy2:33.496094
sx1:8.0 sy1:0.50390625 sx2:8.0 sy2:36.496094
Clip: com.sun.javafx.geom.Rectangle[x=0,y=0,width=1920,height=1080]
Composite rule: SRC_OVER
tx: Affine2D[[1.0, 0.0, 883.0], [0.0, 1.0, 525.0]]
piscesTx: Transform6[m00=32767.0, m01=0.0, m02=-32768.0, m10=0.0, m11=1.0, m12=522.0]
srcBBox: RectBounds { minX:5.0, minY:-2.4960938, maxX:150.0, maxY:33.496094} (w:145.0, h:35.992188)
dstBBox: RectBounds { minX:888.0, minY:522.5039, maxX:1033.0, maxY:558.4961} (w:145.0, h:35.992188)
* drawTexture, DONE
+ drawTexture: com.sun.prism.sw.SWRTTexture@fceee5, imageMode: 1, tex.w: 2048, tex.h: 1024, tex.cw: 2048, tex.ch: 1024
target: com.sun.prism.sw.SWRTTexture@2f2548 t.w: 1920, t.h: 1080, t.dims: com.sun.javafx.geom.Rectangle[x=0,y=0,width=1920,height=1080]
GR: com.sun.prism.sw.SWGraphics@1b521bb
dx1:150.0 dy1:-2.4960938 dx2:157.4961 dy2:33.496094
sx1:8.0 sy1:0.50390625 sx2:15.496094 sy2:36.496094
Clip: com.sun.javafx.geom.Rectangle[x=0,y=0,width=1920,height=1080]
Composite rule: SRC_OVER
tx: Affine2D[[1.0, 0.0, 883.0], [0.0, 1.0, 525.0]]
piscesTx: Transform6[m00=1.0, m01=0.0, m02=1025.0, m10=0.0, m11=1.0, m12=522.0]
srcBBox: RectBounds { minX:150.0, minY:-2.4960938, maxX:157.4961, maxY:33.496094} (w:7.4960938, h:35.992188)
dstBBox: RectBounds { minX:1033.0, minY:522.5039, maxX:1040.4961, maxY:558.4961} (w:7.4960938, h:35.992188)
* drawTexture, DONE
+ getTransformNoClone com.sun.prism.sw.SWGraphics@1b521bb; tr: Affine2D[[1.0, 0.0, 883.0], [0.0, 1.0, 525.0]]
+ concatTransform com.sun.prism.sw.SWGraphics@1b521bb; tr: Translate2D[11.0, 21.0]
+ getTransformNoClone com.sun.prism.sw.SWGraphics@1b521bb; tr: Affine2D[[1.0, 0.0, 894.0], [0.0, 1.0, 546.0]]
+ getTransformNoClone com.sun.prism.sw.SWGraphics@1b521bb; tr: Affine2D[[1.0, 0.0, 894.0], [0.0, 1.0, 546.0]]
+ SWG.drawGlyphList, gl.Count: 17, x: 0.0, y: 0.0, selectStart: -1, selectEnd: -1
PR.setColor: Color[r=0.2, g=0.2, b=0.2, a=1.0]
+ SWG.setNodeBounds: null
+ restoreTransform com.sun.prism.sw.SWGraphics@1b521bb; tr: Affine2D[[1.0, 0.0, 883.0], [0.0, 1.0, 525.0]]
+ restoreTransform com.sun.prism.sw.SWGraphics@1b521bb; tr: Affine2D[[1.0, 0.0, 0.0], [0.0, 1.0, 0.0]]
+ getTransformNoClone com.sun.prism.sw.SWGraphics@1b521bb; tr: Affine2D[[1.0, 0.0, 0.0], [0.0, 1.0, 0.0]]
+ concatTransform com.sun.prism.sw.SWGraphics@1b521bb; tr: Translate2D[903.0, 561.0]
+ getTransformNoClone com.sun.prism.sw.SWGraphics@1b521bb; tr: Affine2D[[1.0, 0.0, 903.0], [0.0, 1.0, 561.0]]
+ getTransformNoClone com.sun.prism.sw.SWGraphics@1b521bb; tr: Affine2D[[1.0, 0.0, 903.0], [0.0, 1.0, 561.0]]
+ concatTransform com.sun.prism.sw.SWGraphics@1b521bb; tr: Translate2D[0.0, 15.0]
+ getTransformNoClone com.sun.prism.sw.SWGraphics@1b521bb; tr: Affine2D[[1.0, 0.0, 903.0], [0.0, 1.0, 576.0]]
+ getTransformNoClone com.sun.prism.sw.SWGraphics@1b521bb; tr: Affine2D[[1.0, 0.0, 903.0], [0.0, 1.0, 576.0]]
+ SWG.drawGlyphList, gl.Count: 17, x: 0.0, y: 0.0, selectStart: -1, selectEnd: -1
PR.setColor: Color[r=0.2, g=0.2, b=0.2, a=1.0]
+ SWG.setNodeBounds: null
+ restoreTransform com.sun.prism.sw.SWGraphics@1b521bb; tr: Affine2D[[1.0, 0.0, 903.0], [0.0, 1.0, 561.0]]
+ restoreTransform com.sun.prism.sw.SWGraphics@1b521bb; tr: Affine2D[[1.0, 0.0, 0.0], [0.0, 1.0, 0.0]]
+ restoreTransform com.sun.prism.sw.SWGraphics@1b521bb; tr: Affine2D[[1.0, 0.0, 0.0], [0.0, 1.0, 0.0]]
+ PR.resetClip
+ concat scale com.sun.prism.sw.SWGraphics@1d98f9a; sx: 1.0; sy: 1.0
+ PR.resetClip
+ PR.clear: Color[r=1.0, g=1.0, b=1.0, a=1.0]
PR.setColor: Color[r=1.0, g=1.0, b=1.0, a=1.0]
+ getTransformNoClone com.sun.prism.sw.SWGraphics@1d98f9a; tr: Affine2D[[1.0, 0.0, 0.0], [0.0, 1.0, 0.0]]
+ concatTransform com.sun.prism.sw.SWGraphics@1d98f9a; tr: Identity[]
+ getTransformNoClone com.sun.prism.sw.SWGraphics@1d98f9a; tr: Affine2D[[1.0, 0.0, 0.0], [0.0, 1.0, 0.0]]
+ SWG.fillRect, x: 
0.000000
, y: 
0.000000
, w: 
1920.000000
, h: 
1080.000000
GR: com.sun.prism.sw.SWGraphics@1d98f9a
target: com.sun.prism.sw.SWRTTexture@2f2548 t.w: 1920, t.h: 1080, t.dims: com.sun.javafx.geom.Rectangle[x=0,y=0,width=1920,height=1080]
Tx: Affine2D[[1.0, 0.0, 0.0], [0.0, 1.0, 0.0]]
Clip: com.sun.javafx.geom.Rectangle[x=0,y=0,width=1920,height=1080]
Composite rule: SRC_OVER
PR.setColor: Color[r=0.9569631, g=0.9569631, b=0.9569631, a=1.0]
+ getTransformNoClone com.sun.prism.sw.SWGraphics@1d98f9a; tr: Affine2D[[1.0, 0.0, 0.0], [0.0, 1.0, 0.0]]
+ concatTransform com.sun.prism.sw.SWGraphics@1d98f9a; tr: Translate2D[10.0, 10.0]
+ getTransformNoClone com.sun.prism.sw.SWGraphics@1d98f9a; tr: Affine2D[[1.0, 0.0, 10.0], [0.0, 1.0, 10.0]]
+ SWG.fillRoundRect
PR.setColor: Color[r=0.6784314, g=0.84705883, b=0.9019608, a=1.0]
GR: com.sun.prism.sw.SWGraphics@1d98f9a
target: com.sun.prism.sw.SWRTTexture@2f2548 t.w: 1920, t.h: 1080, t.dims: com.sun.javafx.geom.Rectangle[x=0,y=0,width=1920,height=1080]
Shape: com.sun.javafx.geom.RoundRectangle2D[x=0.0,y=0.0,w=1900.0,h=1060.0]
Stroke: null
Tx: Affine2D[[1.0, 0.0, 10.0], [0.0, 1.0, 10.0]]
Clip: com.sun.javafx.geom.Rectangle[x=0,y=0,width=1920,height=1080]
Composite rule: SRC_OVER
MASK TEXTURE, Pixel format: BYTE_ALPHA, buffer: java.nio.HeapByteBuffer[pos=162 lim=2097152 cap=2097152]
dstx:0 dsty:0
srcx:0 srcy:0 srcw:1900 srch:1060 srcscan: 1900
PCS Texture allocating buffer: com.sun.prism.sw.SWMaskTexture@1856384, 1900x1060
+ restoreTransform com.sun.prism.sw.SWGraphics@1d98f9a; tr: Affine2D[[1.0, 0.0, 0.0], [0.0, 1.0, 0.0]]
+ getTransformNoClone com.sun.prism.sw.SWGraphics@1d98f9a; tr: Affine2D[[1.0, 0.0, 0.0], [0.0, 1.0, 0.0]]
+ concatTransform com.sun.prism.sw.SWGraphics@1d98f9a; tr: Translate2D[883.0, 525.0]
+ getTransformNoClone com.sun.prism.sw.SWGraphics@1d98f9a; tr: Affine2D[[1.0, 0.0, 883.0], [0.0, 1.0, 525.0]]
+ getTransformNoClone com.sun.prism.sw.SWGraphics@1d98f9a; tr: Affine2D[[1.0, 0.0, 883.0], [0.0, 1.0, 525.0]]
+ drawTexture: com.sun.prism.sw.SWRTTexture@fceee5, imageMode: 1, tex.w: 2048, tex.h: 1024, tex.cw: 2048, tex.ch: 1024
target: com.sun.prism.sw.SWRTTexture@2f2548 t.w: 1920, t.h: 1080, t.dims: com.sun.javafx.geom.Rectangle[x=0,y=0,width=1920,height=1080]
GR: com.sun.prism.sw.SWGraphics@1d98f9a
dx1:-2.4960938 dy1:-2.4960938 dx2:5.0 dy2:33.496094
sx1:0.50390625 sy1:0.50390625 sx2:8.0 sy2:36.496094
Clip: com.sun.javafx.geom.Rectangle[x=0,y=0,width=1920,height=1080]
Composite rule: SRC_OVER
tx: Affine2D[[1.0, 0.0, 883.0], [0.0, 1.0, 525.0]]
piscesTx: Transform6[m00=1.0, m01=0.0, m02=880.0, m10=0.0, m11=1.0, m12=522.0]
srcBBox: RectBounds { minX:-2.4960938, minY:-2.4960938, maxX:5.0, maxY:33.496094} (w:7.4960938, h:35.992188)
dstBBox: RectBounds { minX:880.5039, minY:522.5039, maxX:888.0, maxY:558.4961} (w:7.4960938, h:35.992188)
* drawTexture, DONE
+ drawTexture: com.sun.prism.sw.SWRTTexture@fceee5, imageMode: 1, tex.w: 2048, tex.h: 1024, tex.cw: 2048, tex.ch: 1024
target: com.sun.prism.sw.SWRTTexture@2f2548 t.w: 1920, t.h: 1080, t.dims: com.sun.javafx.geom.Rectangle[x=0,y=0,width=1920,height=1080]
GR: com.sun.prism.sw.SWGraphics@1d98f9a
dx1:5.0 dy1:-2.4960938 dx2:150.0 dy2:33.496094
sx1:8.0 sy1:0.50390625 sx2:8.0 sy2:36.496094
Clip: com.sun.javafx.geom.Rectangle[x=0,y=0,width=1920,height=1080]
Composite rule: SRC_OVER
tx: Affine2D[[1.0, 0.0, 883.0], [0.0, 1.0, 525.0]]
piscesTx: Transform6[m00=32767.0, m01=0.0, m02=-32768.0, m10=0.0, m11=1.0, m12=522.0]
srcBBox: RectBounds { minX:5.0, minY:-2.4960938, maxX:150.0, maxY:33.496094} (w:145.0, h:35.992188)
dstBBox: RectBounds { minX:888.0, minY:522.5039, maxX:1033.0, maxY:558.4961} (w:145.0, h:35.992188)
* drawTexture, DONE
+ drawTexture: com.sun.prism.sw.SWRTTexture@fceee5, imageMode: 1, tex.w: 2048, tex.h: 1024, tex.cw: 2048, tex.ch: 1024
target: com.sun.prism.sw.SWRTTexture@2f2548 t.w: 1920, t.h: 1080, t.dims: com.sun.javafx.geom.Rectangle[x=0,y=0,width=1920,height=1080]
GR: com.sun.prism.sw.SWGraphics@1d98f9a
dx1:150.0 dy1:-2.4960938 dx2:157.4961 dy2:33.496094
sx1:8.0 sy1:0.50390625 sx2:15.496094 sy2:36.496094
Clip: com.sun.javafx.geom.Rectangle[x=0,y=0,width=1920,height=1080]
Composite rule: SRC_OVER
tx: Affine2D[[1.0, 0.0, 883.0], [0.0, 1.0, 525.0]]
piscesTx: Transform6[m00=1.0, m01=0.0, m02=1025.0, m10=0.0, m11=1.0, m12=522.0]
srcBBox: RectBounds { minX:150.0, minY:-2.4960938, maxX:157.4961, maxY:33.496094} (w:7.4960938, h:35.992188)
dstBBox: RectBounds { minX:1033.0, minY:522.5039, maxX:1040.4961, maxY:558.4961} (w:7.4960938, h:35.992188)
* drawTexture, DONE
+ getTransformNoClone com.sun.prism.sw.SWGraphics@1d98f9a; tr: Affine2D[[1.0, 0.0, 883.0], [0.0, 1.0, 525.0]]
+ concatTransform com.sun.prism.sw.SWGraphics@1d98f9a; tr: Translate2D[11.0, 21.0]
+ getTransformNoClone com.sun.prism.sw.SWGraphics@1d98f9a; tr: Affine2D[[1.0, 0.0, 894.0], [0.0, 1.0, 546.0]]
+ getTransformNoClone com.sun.prism.sw.SWGraphics@1d98f9a; tr: Affine2D[[1.0, 0.0, 894.0], [0.0, 1.0, 546.0]]
+ SWG.drawGlyphList, gl.Count: 17, x: 0.0, y: 0.0, selectStart: -1, selectEnd: -1
PR.setColor: Color[r=0.2, g=0.2, b=0.2, a=1.0]
+ SWG.setNodeBounds: null
+ restoreTransform com.sun.prism.sw.SWGraphics@1d98f9a; tr: Affine2D[[1.0, 0.0, 883.0], [0.0, 1.0, 525.0]]
+ restoreTransform com.sun.prism.sw.SWGraphics@1d98f9a; tr: Affine2D[[1.0, 0.0, 0.0], [0.0, 1.0, 0.0]]
+ getTransformNoClone com.sun.prism.sw.SWGraphics@1d98f9a; tr: Affine2D[[1.0, 0.0, 0.0], [0.0, 1.0, 0.0]]
+ concatTransform com.sun.prism.sw.SWGraphics@1d98f9a; tr: Translate2D[903.0, 561.0]
+ getTransformNoClone com.sun.prism.sw.SWGraphics@1d98f9a; tr: Affine2D[[1.0, 0.0, 903.0], [0.0, 1.0, 561.0]]
+ getTransformNoClone com.sun.prism.sw.SWGraphics@1d98f9a; tr: Affine2D[[1.0, 0.0, 903.0], [0.0, 1.0, 561.0]]
+ concatTransform com.sun.prism.sw.SWGraphics@1d98f9a; tr: Translate2D[0.0, 15.0]
+ getTransformNoClone com.sun.prism.sw.SWGraphics@1d98f9a; tr: Affine2D[[1.0, 0.0, 903.0], [0.0, 1.0, 576.0]]
+ getTransformNoClone com.sun.prism.sw.SWGraphics@1d98f9a; tr: Affine2D[[1.0, 0.0, 903.0], [0.0, 1.0, 576.0]]
+ SWG.drawGlyphList, gl.Count: 17, x: 0.0, y: 0.0, selectStart: -1, selectEnd: -1
PR.setColor: Color[r=0.2, g=0.2, b=0.2, a=1.0]
+ SWG.setNodeBounds: null
+ restoreTransform com.sun.prism.sw.SWGraphics@1d98f9a; tr: Affine2D[[1.0, 0.0, 903.0], [0.0, 1.0, 561.0]]
+ restoreTransform com.sun.prism.sw.SWGraphics@1d98f9a; tr: Affine2D[[1.0, 0.0, 0.0], [0.0, 1.0, 0.0]]
+ restoreTransform com.sun.prism.sw.SWGraphics@1d98f9a; tr: Affine2D[[1.0, 0.0, 0.0], [0.0, 1.0, 0.0]]
BUILD STOPPED (total time: 2 minutes 0 seconds)

Важно вот что:

GLFactory using com.sun.prism.es2.MonocleGLFactory
Loaded /home/pi/armv6hf-sdk/rt/lib/ext/../arm/libglass_monocle.so from relative path
**java.lang.UnsatisfiedLinkError: Error loading libGLESv2.so**
at com.sun.glass.ui.monocle.AcceleratedScreen.initPlatformLibraries(AcceleratedScreen.java:158)
at com.sun.glass.ui.monocle.AcceleratedScreen.<init>(AcceleratedScreen.java:68)
at com.sun.glass.ui.monocle.DispmanAcceleratedScreen.<init>(DispmanAcceleratedScreen.java:34)
    at com.sun.glass.ui.monocle.DispmanPlatform.getAcceleratedScreen(DispmanPlatform.java:43)
    at com.sun.prism.es2.MonocleGLFactory.initialize(MonocleGLFactory.java:107)
    at com.sun.prism.es2.ES2Pipeline.<clinit>(ES2Pipeline.java:82)
    at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at com.sun.prism.GraphicsPipeline.createPipeline(GraphicsPipeline.java:187)
at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:91)
at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:124)
at java.lang.Thread.run(Thread.java:748)
(X) Got class = class com.sun.prism.es2.ES2Pipeline
GraphicsPipeline.createPipeline: error initializing pipeline com.sun.prism.es2.ES2Pipeline
*** Fallback to Prism SW pipeline
Prism pipeline name = com.sun.prism.sw.SWPipeline
Loaded /home/pi/armv6hf-sdk/rt/lib/ext/../arm/libprism_sw.so from relative path
(X) Got class = class com.sun.prism.sw.SWPipeline
**Initialized prism pipeline: com.sun.prism.sw.SWPipeline**
JavaFX: using com.sun.javafx.tk.quantum.QuantumToolkit
Cannot open display

libGLESv2.so - https://github.com/RPi-Distro/firmware/issues/3 Используется конвейер Prism SW, но нет конвейера ES2 (hw ускорено). Конвейер ПО сломан (курсор мыши не виден и т. Д.).

Очевидно, требуется исправление в JavaFX Embedded SDK.


person Ladislav Török    schedule 07.10.2017    source источник
comment
Если вы считаете, что в JavaFX Embedded SDK требуется исправление. тогда вам нужно будет опубликовать дефект в JavaFX, а не задавать вопрос по SO. Кроме того, запуск JavaFX на таких вещах, как RaspPi требует дополнительных шагов. Использование конвейера HW ES2 требует, чтобы среда выполнения обнаружила .so. Работает, но не из коробки.   -  person M. le Rutte    schedule 07.10.2017


Ответы (2)


Более подробную информацию см. Здесь: https://www.raspberrypi.org/forums/viewtopic.php?f=81&t=195026#p1221399

person Ladislav Török    schedule 11.10.2017
comment
Спасибо за ссылку, возникла внутренняя проблема. В качестве ответа не могли бы вы предоставить более подробную информацию, а не только ссылку? - person José Pereda; 14.10.2017

Сегодня я занимаюсь кросс-сборкой JavaFX для платформы armv6hf на 32-битной Ubuntu 16.04.3 с изменениями, перечисленными на https://www.raspberrypi.org/forums/viewtopic.php?f=81&t=195026#p1221481 и все отлично работает (но простое приложение HelloWorld с одной кнопкой).

person Ladislav Török    schedule 05.01.2018