The state of X Windows

Jim Gettys, one of the main developers of X Windows, gave a talk about the future of X11 at MIT. The present had some nasty surprises in store, when it took Jim a considerable while to make X11 talk to the projector 😉 It is gratifying to know that even the gurus sometimes fail with the “simplest” tasks.
Rough notes from his talk:
X’s flaws
X’s font architecture fundamentally flawed
Inadequate 2D graphics
Accessibility difficult to implement
No Eye candy
Full integration into 3D environment
Collaborative shared use of X
Cairo brings extremely high quality graphics to free software. Client side fonts are the biggest change in X since 1988.
Try turning on hinting in Freetype (patent problem prevent it from being on by default.)
Lessons learned:
X is but one component of a complete desktop environment
no more flashing: double buffering everywhere
To preserve traditional X flexibility, new Compositioning Manager is introduced. Solved via indirection, copied to visible frame buffer by compositing manager. Apps never draw the screen, compositioning manager applies whatever effects are appropriate and does the screen drawing.
Mouse input needs to be captured and transformed for accessibility. XEvie by Sun does this.
Four new extensions: XFixes, Damage, Composite, XEvie
Eye candy is designed in a way that institutes an upper bound for computation cost. This is a very nice design. (Bound is human perception)
Demo with drop shadows, fade in / out. “A thousand eye candy flowers will bloom, most will stink, but some will smell nice. Expect a cambrian explosion of eye candy.”
X becomes just another GL application. Croquet project highly recommended.
Jim evoked visions of millions of people sharing 3D spaces with it.
Efforts underway to make X build more easy. Switch to autotools underway. 90% of server round trips can be eliminated. Network compression for synthetic images can do 300x (needed for competition with RDP, Citrix) Session migration needs Xlib support for connection loss. There is a migration prototype done in GTK+ 2.2 One goal is to make input devices network transparent (on the way to X11 entertainment center :)
“Network audio solutions are all very lame”
“XFree86 is dead”, most developers moved to It moved from industry consortium to open membership. X11R6.8 includes X fixes, Evie, Damage, Composite, shipping now. New releases happening much more frequently now.