Re: replacing X Window System !

From: D. Hazelton
Date: Thu May 18 2006 - 21:13:25 EST

Linux does provide a system in kernel for accessing the graphics cards. This
includes both the DRM system and the framebuffer drivers. If the hardware
drivers, such as the DRM drivers and system and the framebuffer drivers, were
extended to allow a bit more utility, perhaps by providing a documented API
(in the framebuffer case) it should be a simple matter to rewrite X so that
it doesn't require root access. That this *hasn't* been done is both a
problem with the kernel documentation and the X developers - more the X
developers than anything.

In the case of the DRM drivers, I, personally, feel they should implement the
accelerated drawing commands, or perhaps have a passthrough method similar to
the SG system, then X and Mesa could easily access all features of the
hardware through the userspace side of the DRM driver, which itself could
provide the API as a wrapper around an IOCTL interface, or perhaps a sysfs

For the Framebuffer drivers I, personally, would like to see its userspace
accessable bits documented. This is, of course, assuming that there is more
to it than an interface for setting the video mode and writing the graphics
data to the device file. Now, if the framebuffer device was extended to
provide some sort of interface, either via IOCTL or via a set of sysfs files,
to the full capabilities of the device, then all problems of X needing to be
root once more disappear.

Note that I am not advocating putting the windowing system in-kernel, just
expanding the kernel interface to the various graphics devices so that future
versions of X will not be required to have direct access to the hardware.

I have no experience with kernel-level programming and no experience in
graphics programming beyond some simple DOS applications I wrote in the days
of just using a pointer to 0xB000 and 0xC000. Despite that I would be willing
to set aside all my private projects and lend any assistance required to make
any of these suggestions happen if anyone wishes to pick them up.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at