The Display on Linux is implemented almost entirely using Xlib. There is only a very tiny amount of AWT namely for the Display.setParent() (not used for standalone Display) and a few calls to JAWT's lock/unlock methods.
Not entirely sure why we even need all the lock/unlock calls (and thus dependence on JAWT) for LWJGL's Display to function. There is a note in LWJGL code stating the following:
/* Since Xlib is not guaranteed to be thread safe, we need a way to synchronize LWJGL
* Xlib calls with AWT Xlib calls. Fortunately, JAWT implements Lock()/Unlock() to
* do just that.
Could be that these calls are left over from a time when there was more AWT code in the Linux Display (which has since been replaced by Xlib?) but not really sure.
As far as OpenGL-ES part is concerned it seems to work fine (but needs to be self compiled as pre-compiled binaries aren't provided). Some people have shown examples of getting LWJGL-ES working on various embedded devices using OpenJDK.