DIX en DDX
De splitsing van de X-server in een machine-onafhankelijke kern die het protocol spreekt en een hardware-afhankelijke laag die tekent: de blauwdruk uit 1987 dat elke X-server nog steeds volgt.
De voorbeeldserver die MIT met X11R1 meeleverde, werd geschreven bij het Western Software Laboratory van DEC door Phil Karlton, Susan Angebranndt, Raymond Drewry en Todd Newman. Hun document over de 'porteerlaag' van de server sneed die in tweeën. DIX, Device Independent X, ontvangt protocolverzoeken, beheert de vensterboom, resources, atoms, grabs en selecties en levert events af bij de juiste client. DDX, Device Dependent X, is alles wat een specifiek scherm of invoerapparaat aanraakt: het framebuffer inrichten, rechthoeken vullen, de cursor verplaatsen, het toetsenbord uitlezen. Daartussen zit mi, machine-onafhankelijke terugvalroutines die in software tekenen als de DDX niets beters heeft, plus een OS-laag voor sockets en authenticatie.
In de broncode is DIX de map dix/ en DDX de map hw/, waar hw/xfree86 met zijn xf86-video- en xf86-input-drivers de server is die de meesten bedoelen met X.Org. Maar Xvfb, Xnest, Xephyr, Xwayland, XWin van Cygwin en XQuartz op macOS zijn evengoed gewoon andere DDX'en op dezelfde DIX. De grens is een tabel met functiepointers per scherm, en extensies als Composite en Render wisselen die pointers om en roepen daarna het origineel aan: een patroon dat X-hackers wrapping noemen en iedereen anders onleesbaar.