How does the android graphics stack work? I know that Android is based on Linux. On a desktop machine, you have an X server which coordinates all the screen activity. Some Linux distributions are working on switching to something other than X (Wayland, or Mir.)

Android doesn't appear to be using X. What does it use instead, and how can I find out more about it?
Android doesn't use X,
although there is a Java implimentation of X made for Android android-xserver.
Instead of X, Android relies on the SurfaceFlinger and HWC(Hardware Composer),
working with the BufferQueue.