The X Window System

Before diving right into the finer details, there is one component, underlying all WMs and DEs, that is worth mentioning: the mysterious X. Unlike some famous super-villains, the X window system is not an evil entity (at least not entirely), but basically a way for the computer to display a graphical desktop, based on a server-client model.

Commonly called X or X11, the X Window System is a really old and mature way to display a very basic graphical environment, like windows and window controls, which tends to stay out of the way. The project started in 1984, that’s over 30 years ago, and X is still the de-facto graphical server for most UNIX systems, including Linux. The reason for its success was probably its minimal nature: It provides a very base functionality, which can be utilised and built upon, making the Linux desktop experience versatile and flexible. In other words, what X really does is draw and handle windows.

X.org or Xorg is an Open Source implementation of the X Window System, which is now included in most Linux distributions (there are others but who cares about those). What it does is run an X server (yes, it can be used over a network), to which a client can connect and use its graphical capabilities. Of course on a desktop computer, the server and client will be one and the same.

So you’ve thought Windows was the first with the “breakthrough”, bringing a graphical user interface to the masses? You were wrong. Windows 1.0 came out in 1985, while X Server was functional in 1984. Yes. UNIX had desktop support before Windows, but it is still late compared to Apple, which came out with a graphical environment in the late 70s, which as in turn based on XEROX PARC’s own initiative dating back as early as 1973. So yea, graphical interfaces are pretty old.

Anyhow, X.org continues to rule the UNIX (and thus the Linux) world, and although a replacement has been in development for a long time, it is not going away anytime soon.

Said replacement is called Wayland. Developers have long felt that X.org is outdated. Basically, it is built on an old model, with problems patched up as they appeared, or were discovered, making X.org a great big patchwork in the eyes of some. Wayland is meant to simplify things while maintaining compatibility wherever possible. Surely a newer design (architectural, not graphical) would be nice, but development is going slow.

Wayland has been in development since 2008, and as of 2016, it is still not ready for widespread adoption, although things are looking up lately. The project has suffered from the usual chicken and egg dilemma: Development is slow because there is no widespread adoption, but there is no widespread adoption because development is slow. This will hopefully change after some major Linux distributions make the leap into the world of Wayland. until then, we are all very happy to use X.org without having the faintest technological idea of the difference…