libgdx无法在ubuntu上启动桌面项目

时间:2015-07-07 19:20:01

标签: eclipse ubuntu libgdx lwjgl

所以,我刚刚为桌面创建了libgdx项目并将其导入(gradle)到eclipse。当我启动它时会弹出这个错误:

Exception in thread "LWJGL Application" java.lang.ExceptionInInitializerError
at com.badlogic.gdx.backends.lwjgl.LwjglGraphics.setVSync(LwjglGraphics.java:446)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:118)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
at org.lwjgl.opengl.LinuxDisplay.getAvailableDisplayModes(LinuxDisplay.java:954)
at org.lwjgl.opengl.LinuxDisplay.init(LinuxDisplay.java:738)
at org.lwjgl.opengl.Display.<clinit>(Display.java:138)
... 2 more
AL lib: (EE) alc_cleanup: 1 device not closed

我无法弄清楚发生了什么。 Project为Android创建并在android studio中正常运行。

3 个答案:

答案 0 :(得分:7)

您需要安装xorg-xrandr软件包,请参阅

http://badlogicgames.com/forum/viewtopic.php?f=11&t=18801

答案 1 :(得分:5)

这是一个已知的issue,尝试安装xorg-xrandr。

此外,我通过安装bumblebee修复了此问题。

答案 2 :(得分:1)

当我从默认的lwjgl后端(出于某种原因仍在生成LibGDX项目的工具中使用)切换到lwjgl3后端后,这个错误对我消失了。对于由gdx-setup.jar(doc)新生成的项目,这是您的处理方式:

build.gradle中进行更改

compile "com.badlogicgames.gdx:gdx-backend-lwjgl:$gdxVersion"

compile "com.badlogicgames.gdx:gdx-backend-lwjgl3:$gdxVersion"

DesktopLauncher类中,更改

LwjglApplicationConfiguration config = new LwjglApplicationConfiguration();
new LwjglApplication(new Game(), config);

Lwjgl3ApplicationConfiguration config = new Lwjgl3ApplicationConfiguration();
new Lwjgl3Application(new Game(), config);

并将导入修改为

import com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application;
import com.badlogic.gdx.backends.lwjgl3.Lwjgl3ApplicationConfiguration;

因此基本上只需在这两个位置的3之后添加lwjgl