USENIX 2004 Annual Technical Conference, FREENIX Track Abstract
Pp. 5161 of the Proceedings
How Xlib Is Implemented (and What We're Doing About It)
Jamey Sharp, Portland State University
The X Window System is the de facto standard graphical environment
for Linux and Unix hosts, and is usable on nearly any class of computer
one could find today. Its success is partially due to its flexible,
Unfortunately, as research proceeds on cutting-edge window system
functionality, the brittleness of the underlying software is a critical
impediment to progress. Xlib, the client-side implementation of the
network protocol that underlies X, is one source of these issues. Many
developers working on new features in the X protocol are discovering
that Xlib requires changes to support these features, but Xlib makes
those changes difficult. For more than 15 years, new features have been
added to Xlib by accretion, rather than with careful design.
We discuss the implementation of Xlib and analyze some specific
difficulties in it that cause problems in understanding and maintaining
this code base. We also present our current work on migrating the X
Window System to a more maintainable, carefully designed architecture.
- View the full text of this paper in HTML and PDF.
The Proceedings are published as a collective work, © 2004 by the USENIX Association. All Rights Reserved. Rights to individual papers remain with the author or the author's employer. Permission is granted for the noncommercial reproduction of the complete work for educational or research purposes. USENIX acknowledges all trademarks within this paper.
- If you need the latest Adobe Acrobat Reader, you can download it from Adobe's site.