2017-07-28 33 views
1

我目前正試圖部署我的Raspberry Model B + v1.2上在Windows平臺上運行的JavaFX應用程序。由於JavaFX沒有直接在Raspi上使用,我已經按照此處所述執行了與Gluon的適配(但是使用最新版本144):Running Javafx GUI on the Raspberry Pi樹莓派上的JavaFX:加載庫存着色器時出錯

現在,當我運行我的JFX應用程序時,它只是顯示一個簡單的窗口,我得到以下錯誤堆棧大約着色器(錯誤加載股票着色器AlphaTexture_Color)問題:

Program link log: 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:498) at com.sun.prism.es2.ES2ResourceFactory.createStockShader(ES2ResourceFactory.java:313) at com.sun.prism.impl.ps.BaseShaderContext.getPaintShader(BaseShaderContext.java:257) at com.sun.prism.impl.ps.BaseShaderContext.validatePaintOp(BaseShaderContext.java:478) at com.sun.prism.impl.ps.BaseShaderGraphics.fillPrimRect(BaseShaderGraphics.java:1106) at com.sun.prism.impl.ps.BaseShaderGraphics.fillRect(BaseShaderGraphics.java:1502) at com.sun.javafx.sg.prism.NGRegion.renderBackgroundRectanglesDirectly(NGRegion.java:1108) at com.sun.javafx.sg.prism.NGRegion.renderBackgroundRectangle(NGRegion.java:848) at com.sun.javafx.sg.prism.NGRegion.renderAsRectangle(NGRegion.java:751) at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:572) at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2056) at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1948) at com.sun.javafx.tk.quantum.ViewPainter.doPaint(ViewPainter.java:477) at com.sun.javafx.tk.quantum.ViewPainter.paintImpl(ViewPainter.java:330) at com.sun.javafx.tk.quantum.PresentingPainter.run(PresentingPainter.java:91) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) at com.sun.javafx.tk.RenderJob.run(RenderJob.java:58) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:125) at java.lang.Thread.run(Thread.java:748)

Caused by: java.lang.RuntimeException: Error creating shader program at com.sun.prism.es2.ES2Shader.createFromSource(ES2Shader.java:158) at com.sun.prism.es2.ES2Shader.createFromSource(ES2Shader.java:173) at com.sun.prism.es2.ES2ResourceFactory.createShader(ES2ResourceFactory.java:225) at com.sun.prism.shader.AlphaTexture_Color_Loader.loadShader(AlphaTexture_Color_Loader.java:47) ... 25 more

java.lang.InternalError: Error loading stock shader AlphaTexture_Color at com.sun.prism.es2.ES2ResourceFactory.createStockShader(ES2ResourceFactory.java:316) at com.sun.prism.impl.ps.BaseShaderContext.getPaintShader(BaseShaderContext.java:257) at com.sun.prism.impl.ps.BaseShaderContext.validatePaintOp(BaseShaderContext.java:478) at com.sun.prism.impl.ps.BaseShaderGraphics.fillPrimRect(BaseShaderGraphics.java:1106) at com.sun.prism.impl.ps.BaseShaderGraphics.fillRect(BaseShaderGraphics.java:1502) at com.sun.javafx.sg.prism.NGRegion.renderBackgroundRectanglesDirectly(NGRegion.java:1108) at com.sun.javafx.sg.prism.NGRegion.renderBackgroundRectangle(NGRegion.java:848) at com.sun.javafx.sg.prism.NGRegion.renderAsRectangle(NGRegion.java:751) at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:572) at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2056) at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1948) at com.sun.javafx.tk.quantum.ViewPainter.doPaint(ViewPainter.java:477) at com.sun.javafx.tk.quantum.ViewPainter.paintImpl(ViewPainter.java:330) at com.sun.javafx.tk.quantum.PresentingPainter.run(PresentingPainter.java:91) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) at com.sun.javafx.tk.RenderJob.run(RenderJob.java:58) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:125) at java.lang.Thread.run(Thread.java:748)

難道是因爲我的覆盆子太舊,不支持某些着色器的硬件? 我還能嘗試什麼?

巨大的感謝提前!

回答

1

Hmpf,非常巧合,我發現,所有問題都是VRAM!樹莓必須從64mb增加到128或256。這可以通過raspi_config或可視化配置界面完成。