LibGDX has its own GL interfaces for GL ES. There is GL10, GL11, GL20, and GLCommon. GL20 is only available if if useGL20 is set to true in the app config (and GL 2.x+ is available). If Gdx.gl20 is available (non-null), then Gdx.gl10/gl11 will be null -- and vice versa. Gdx.gl is always non-null.

//GLCommon is never null//you should use it for things like glBlendFunc and other functions that are not deprecatedGdx.gl.glXXXX

You can find glLight in GL10. This is generally not a good idea since the code isn't very portable (i.e. does not run with GLES20). glLight is deprecated in modern OpenGL and in OpenGL ES 2+.

If you want to call desktop-specific GL stuff (like geometry shaders) you would need to write your own path for that. e.g. If you only want to support the LWJGL backend, you can simply link the LWJGL jars/natives with your project and call the LWJGL GL interfaces directly.

yes, but I tried use GL11.glBegin(GL11.GL_QUADS)...GL11.glEnd() and it doesn't work without initialization like GL11.glViewport(...) glOrtho(...). Is it ok? And I doesn't add library lwjgl, because it's included. and imports GL11 of course from org.lwjgl...

glBegin/glEnd relies on the fixed function matrix stack and glOrtho. In GL20 (programmable pipeline) you can't use the fixed function stack or methods like glPushMatrix. Instead you work with your own matrices -- LibGDX provides Vector2/Matrix3/etc. Generally you would use the LibGDX Camera classes which help you.

Display lists are also deprecated, and not included in LWJGL.

It sounds like you are just copying code from somewhere? What are you trying to achieve exactly?