Exo implements a display server on top of the Aura Shell. It uses the Wayland protocol to communicate with clients. For a general introduction to Wayland see https://wayland-book.com/.
Current clients of Exo include:
- ARC++ (Android apps on Chrome OS)
- Crostini (Linux apps on Chrome OS)
In addition to the core Wayland protocol, Exo supports a number of protocol extensions. Some are third-party; see //third_party/wayland-protocols/README.chromium. Others are Chromium-specific.
A few noteworthy extensions (this list is not at all exhaustive):