Opengl es LWJGL不';无法识别树莓Pi上的OpenGL

Opengl es LWJGL不';无法识别树莓Pi上的OpenGL,opengl-es,libgdx,raspberry-pi3,lwjgl,jogl,Opengl Es,Libgdx,Raspberry Pi3,Lwjgl,Jogl,所以我尝试运行一个LibGDX游戏,它使用LWJGL作为我的Raspberry Pi 3的后端。我在pi上尝试了各种gl驱动程序组合: 实验驱动程序:游戏开始,但不久后由于JVM错误而崩溃,完全不稳定 没有实验性的驱动程序:软件渲染似乎被使用,速度非常慢 仅限propretairy驱动程序(已卸载mesa):LWJGL在初始化gl时失败并崩溃(下面是stacktrace) 因为我认为专有驱动程序是最稳定的GL驱动程序,所以我打算使用它。另外,我知道OpenGL之所以能够工作,是因为glxge

所以我尝试运行一个LibGDX游戏,它使用LWJGL作为我的Raspberry Pi 3的后端。我在pi上尝试了各种gl驱动程序组合:

  • 实验驱动程序:游戏开始,但不久后由于JVM错误而崩溃,完全不稳定
  • 没有实验性的驱动程序:软件渲染似乎被使用,速度非常慢
  • 仅限propretairy驱动程序(已卸载mesa):LWJGL在初始化gl时失败并崩溃(下面是stacktrace)
因为我认为专有驱动程序是最稳定的GL驱动程序,所以我打算使用它。另外,我知道OpenGL之所以能够工作,是因为glxgears的JOGL工作得很好

那么,有人有什么线索或想法从哪里开始寻找吗?这是LWJGL问题还是GL驱动程序问题

提前谢谢大家,, 曼努埃尔

堆栈跟踪:

Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException: OpenGL is not supported by the video driver.
       at com.badlogic.gdx.backends.lwjgl.LwjglGraphics.createDisplayPixelFormat(LwjglGraphics.java:322)
       at com.badlogic.gdx.backends.lwjgl.LwjglGraphics.setupDisplay(LwjglGraphics.java:216)
       at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:144)
       at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:126)
    Caused by: org.lwjgl.LWJGLException: Could not init GLX
       at org.lwjgl.opengl.LinuxDisplayPeerInfo.initDefaultPeerInfo(Native Method)
       at org.lwjgl.opengl.LinuxDisplayPeerInfo.<init>(LinuxDisplayPeerInfo.java:61)
       at org.lwjgl.opengl.LinuxDisplay.createPeerInfo(LinuxDisplay.java:831)
       at org.lwjgl.opengl.DrawableGL.setPixelFormat(DrawableGL.java:61)
       at org.lwjgl.opengl.Display.create(Display.java:846)
       at org.lwjgl.opengl.Display.create(Display.java:757)
       at com.badlogic.gdx.backends.lwjgl.LwjglGraphics.createDisplayPixelFormat(LwjglGraphics.java:314)
       ... 3 more
线程“LWJGL应用程序”com.badlogic.gdx.utils.GdxRuntimeException中的异常:视频驱动程序不支持OpenGL。 位于com.badlogic.gdx.backends.lwjgl.LwjglGraphics.createDisplayPixelFormat(LwjglGraphics.java:322) 位于com.badlogic.gdx.backends.lwjgl.LwjglGraphics.setupDisplay(LwjglGraphics.java:216) 位于com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:144) 位于com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:126) 原因:org.lwjgl.LWJGLException:无法初始化GLX 位于org.lwjgl.opengl.LinuxDisplayPeerInfo.initDefaultPeerInfo(本机方法) 在org.lwjgl.opengl.LinuxDisplayPeerInfo.(LinuxDisplayPeerInfo.java:61) 在org.lwjgl.opengl.LinuxDisplay.createPeerInfo(LinuxDisplay.java:831)上 位于org.lwjgl.opengl.DrawableGL.setPixelFormat(DrawableGL.java:61) 位于org.lwjgl.opengl.Display.create(Display.java:846) 位于org.lwjgl.opengl.Display.create(Display.java:757) 位于com.badlogic.gdx.backends.lwjgl.LwjglGraphics.createDisplayPixelFormat(LwjglGraphics.java:314) ... 3个以上
LWJGL和LWJGL3确实支持开源(Mesa)OpenGL驱动程序。Raspberry Pi的Minecraft Java版的大量演示演示了这一点

事实上,LibGDX在树莓皮3上运行平稳,如PokeMMO所示

正确的方向是追求开源驱动程序,在撰写本文时,开源驱动程序不再被称为实验驱动程序。事实上,这是在Raspberry Pi 4上使用加速3D图形的唯一方法

因为我认为专有驱动程序是最稳定的GL驱动程序,所以我打算使用它。另外,我知道OpenGL之所以能够工作,是因为glxgears和JOGL工作得很好


JOGL的优点是既支持专有的GLES驱动程序(对于Pi Zero),也支持OpenGL后端。但是,专有驱动程序无法运行完整的OpenGL,因此它似乎只能工作,因为Pi 3的CPU足以在软件渲染中全速运行glxgears。

LWJGL和LWJGL3确实支持开源(Mesa)OpenGL驱动程序。Raspberry Pi的Minecraft Java版的大量演示演示了这一点

事实上,LibGDX在树莓皮3上运行平稳,如PokeMMO所示

正确的方向是追求开源驱动程序,在撰写本文时,开源驱动程序不再被称为实验驱动程序。事实上,这是在Raspberry Pi 4上使用加速3D图形的唯一方法

因为我认为专有驱动程序是最稳定的GL驱动程序,所以我打算使用它。另外,我知道OpenGL之所以能够工作,是因为glxgears和JOGL工作得很好


JOGL的优点是既支持专有的GLES驱动程序(对于Pi Zero),也支持OpenGL后端。但是,专有驱动程序无法运行完整的OpenGL,因此它似乎只能工作,因为Pi 3的CPU足以在软件渲染中全速运行glxgears。

Raspberry Pi没有nvidia卡。您的驱动程序是什么?实际上,我不再确定。以前,当我卸载mesa驱动程序时,另一个驱动程序支持稳定的OpenGL。但是我不能再复制它了,老实说,我不太确定如何管理raspberry pi上的图形驱动程序…raspberry pi没有nvidia卡你的驱动程序是什么?实际上我不确定了。以前,当我卸载mesa驱动程序时,另一个驱动程序支持稳定的OpenGL。但是我不能再复制它了,老实说,我不太确定如何管理raspberry pi上的图形驱动程序。。。