After a year of big successes, X Window System developers are confronting their tortured history.
The X Window System is on a roll. There’s good news for maintainers and users of the graphics subsystem that powers the visible face of Linux and BSD operating systems, on technical, organizational and licensing fronts. But behind the scenes, developers are seeking help with even more, and more fundamental, work.
The X Window System is on a roll. There’s good news for maintainers and users of the graphics subsystem that powers the visible face of Linux and BSD operating systems, on technical, organizational and licensing fronts. But behind the scenes, developers are seeking help with even more, and more fundamental, work.
In December 2005, X made the transition from a monolithic package that included the X server, libraries and applications, to modular releases. Now, a security fix in one part of X can be addressed with a release of just that part. The modularization release included migrating the build system from an X-only tool, imake, to the industry-standard GNU Autotools.
X development is now hosted at a new organization, the X.org Foundation. And the code has moved from CVS to the git version control system, the same one that Linux kernel developers use.
And, thanks to a code release from the Intel Open Source Technology Center, the drivers exist to make it possible to run a fully open source X system, from the hardware up to the applications.
But hold the applause. In a conversation at Maya’s Taqueria in Portland, Ore., on Sept. 19, X developers said big projects with deep effects on the core “server” component of X remain to be done, in order to support new hardware, including hot-plug displays.
The need for fundamental work on the X server has been visible for several years. In a 1994 paper for the Linux Syumposium, core X developer Keith Packard wrote, “The X server has assumed the same reliability requirements as the operating system kernel itself; bugs in the X server would render the system just as unusable as bugs in the kernel.”
X came to both workstations and PCs as a second-class citizen with, thanks to licensing and organizational issues, little or no ability to influence the kernel on which it runs. As a result, in order to do graphics with acceptable speed, X has taken on an unseemly amount of what looks like its own built-in kernel code. For example, on the PC architecture, the X server itself often has to reconfigure the PCI bus, a tricky operation that could corrupt users’ data.
Recently, key X and kernel developers, who work for companies including IBM, Intel and Novell, have been discussing a reorganization of X’s and the kernel’s responsibilities, and the plans are beginning to bear fruit.
One major task is eliminating duplication of hardware probing, currently undertaken both by the kernel and X. X developer Ian Romanick of IBM said, “we need to use what the kernel already gives us.” Instead of making X handling the PCI bus itself, Romanick’s in-progress “pci-rework” branch of the X server code queries Linux’s sysfs, a virtual file system that makes hardware information available to user programs. In using sysfs, 800 lines replace 10,000 lines of legacy code.
In other areas of kernel/X interface, though, Packard said, “We don’t know how to get done what we need to get done yet.” The interface between X and the kernel still needs to be worked out.
One area of hotplug support, input devices, got an unexpected boost from the Nokia 700 Internet Tablet. Nokia developer Daniel Stone contributed support for adding mice and other pointing devices on the fly. But hotplug monitors are a more difficult problem.
Fortunately for X, the shift to git means that developers can comfortably use the same version control system to work on both projects. “Having multiple systems is not good,” said Bart Massey, an X contributor and Portland State University professor.
Packard invited would-be X developers to visit the X.org site and find a place to contribute. Compared with the kernel, X is “a place where you can write a significant amount of code,” he said.




