libgdx/libgdx · error · IllegalStateException

ANGLE currently can't be used with with Lwjgl3ApplicationCon

Error message

ANGLE currently can't be used with with Lwjgl3ApplicationConfiguration#enableGLDebugOutput

What it means

Error "ANGLE currently can't be used with with Lwjgl3ApplicationConfiguration#enableGLDebugOutput" thrown in libgdx/libgdx.

Source

Thrown at backends/gdx-backend-lwjgl3/src/com/badlogic/gdx/backends/lwjgl3/Lwjgl3Application.java:602

				throw new GdxRuntimeException("Couldn't initialize GLES", e);
			}
		} else {
			GL.createCapabilities();
		}

		initiateGL(config.glEmulation == Lwjgl3ApplicationConfiguration.GLEmulation.ANGLE_GLES20);
		if (!glVersion.isVersionEqualToOrHigher(2, 0))
			throw new GdxRuntimeException("OpenGL 2.0 or higher with the FBO extension is required. OpenGL version: "
				+ glVersion.getVersionString() + "\n" + glVersion.getDebugVersionString());

		if (config.glEmulation != Lwjgl3ApplicationConfiguration.GLEmulation.ANGLE_GLES20 && !supportsFBO()) {
			throw new GdxRuntimeException("OpenGL 2.0 or higher with the FBO extension is required. OpenGL version: "
				+ glVersion.getVersionString() + ", FBO extension: false\n" + glVersion.getDebugVersionString());
		}

		if (config.debug) {
			if (config.glEmulation == GLEmulation.ANGLE_GLES20) {
				throw new IllegalStateException(
					"ANGLE currently can't be used with with Lwjgl3ApplicationConfiguration#enableGLDebugOutput");
			}
			glDebugCallback = GLUtil.setupDebugMessageCallback(config.debugStream);
			setGLDebugMessageControl(GLDebugMessageSeverity.NOTIFICATION, false);
		}

		return windowHandle;
	}

	private static void initiateGL (boolean useGLES20) {
		if (!useGLES20) {
			String versionString = GL11.glGetString(GL11.GL_VERSION);
			String vendorString = GL11.glGetString(GL11.GL_VENDOR);
			String rendererString = GL11.glGetString(GL11.GL_RENDERER);
			glVersion = new GLVersion(Application.ApplicationType.Desktop, versionString, vendorString, rendererString);
		} else {
			try {
				Class gles = Class.forName("org.lwjgl.opengles.GLES20");

View on GitHub (pinned to 97f4086187)

Solutions

  1. Do not call Lwjgl3ApplicationConfiguration#enableGLDebugOutput (or call it with false) when using ANGLE as the GL backend.
  2. Switch off ANGLE (use the default native OpenGL backend) if you need GL debug output enabled.

When it happens

Trigger: Thrown at backends/gdx-backend-lwjgl3/src/com/badlogic/gdx/backends/lwjgl3/Lwjgl3Application.java:602 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of libgdx/libgdx@97f4086187 (2026-08-14). Data as JSON: /api/errors/66cb3824ae5eee3a. Report an issue: GitHub.