Surprisingly, LibGDX also doesn't accept NPOT textures on desktop if useGL20 is set to false, even if it's available in hardware.
Use
Texture.setEnforcePotImages(false);.
It needs to start embracing some desktop features like closeRequested, vsync, hardware mouse cursors, NPOT textures, geometry shaders, and other desktop-specific things.
LwjglFrame gives you Swing features to get some of these things. Otherwise you can use LWJGL directly or blame LWJGL for lacking features.

Of course, cross platform contributions are always super welcome!