Explaining X11 for the rest of us

Last year, I wrote an article describing the free and open-source graphics stack, explaining all of the interconnected pieces: X11, graphics drivers, DRM, and DRI, and their roles in getting pixels placed on the screen. In the year since, I’ve answered a lot of really good questions from the Linux community about my post, about X11, and about Wayland. I’ve learned a lot. Several new technologies have appeared, and I have started to take a more active role in this myself, as part of our efforts to port GNOME to Wayland.

However, I still field plenty of questions from lots of people about this, and a lot of the time, it’s extremely simple stuff: “What is X?” “How does it interact with my graphics card and mouse/keyboard?” “What do apps use X for?” “What is Wayland, and how does it fit into the picture?” “What problems did X have that made us want to write new display server technologies?”

These sort of questions were what inspired me to write “The Linux Graphics Stack” in the first place, but there’s really never been a comprehensive, historical writeup of our display server technologies in general. So, I chose to spend my free time at Red Hat writing it.

Now, compared to some of my colleagues, I’m relatively new to the Linux development scene, with only five or so years of experience. I’ve also arrived late, way after we’ve added lots of hacks to keep the X Window System fresh. Most of my knowledge comes from talking to my more experienced coworkers in person, digging through mailing list and newsgroup archives, and IRC discussions with the great sports in #xorg-devel. So, there’s a good possibility that I’ll get something wrong, guy-who-worked-at-DEC-in-the-80s-waiting-to-correct-me! I’m genuinely sorry if I misrepresent something. If you want to discuss this at all, shoot me an email at jstpierre@mecheye.net, and let’s try to work something out!