We have so many options for window managers, shells, desktop environments, distros, and kernel architectures under Linux, but why after (maybe) 20 years do we only have X.org server (including its predecessor) as the bottom layer of GUI?

I know about XFree86, and Y, but most of them are stuck. Is it so hard to create a new (i.e modern) one? Or is there any other reason we are stuck on X.org?


5 Answers 5


Despite the fact that X.org is 20+ years old, what is it exactly that you need from a windows server that it doesn't provide? You have OpenGL support, anti-aliased fonts, double buffering, spiffy translucent composite windows, hardware-accelerated video playback. You can even play some DirectX games on it with wine if you're into that. What makes an X11 server 'modern' in your opinion?

Writing an X11 server is hard. Developing it and adding features and hacking on top of it for 20 years to keep it relevant is even harder. The barrier of entry for X server programming is high, and I think there are not THAT many people hacking on it. In fact, the crucial point of X.org is the ongoing effort to refactor and modularize the existing code mess into a more manageable infrastructure that will allow for easier development and implementation of new features.

While the 'let's rewrite it' thing might look interesting, I think there's not really a point to it.

  • There are occasional discussions of rewriting X.org itself, or inventing an "X12" successor protocol, but these blue-sky projects keep failing. There's just too much inertia behind the way things are currently being done. Aug 24, 2010 at 10:23
  • 2
    what X11 lack of is simplicity, performance, and up to date codes, I can't imagine how the 20 years old codes to cope with current hardware technology, its must full of patch and workaround
    – uray
    Aug 24, 2010 at 18:38
  • X.org is tried and tested. We might see a new paradigm in the X Window Server when quantum computers appear, but there's no point before then ;)
    – invert
    Aug 26, 2010 at 13:29
  • 1
    An example for lack of "modern" approach, is the non-standard hell that maintaining different language inputs in an X is. It's straightforward to do that in Windows, and there's no way any program would reverse the capslock behavior in Windows. In 2010, this bug happens with X barregren.se/blog/openoffice-reverse-caps-lock Aug 26, 2010 at 18:31
  • @Elazar Leibovich: i don't know about that specific bug, but are you sure it's an X issue? i can't see it in the launchpad page... anyway, my point is that, although we agree xorg is a mess, rewriting it would be even messier.
    – axel_c
    Aug 27, 2010 at 6:14

There are several other implementations of X11, but none of them have all the features & driver support that X.org has.

There are also some framebuffer-based solutions like DirectFB and whatever Android uses.

And recently work has been ongoing on Project Wayland, which maybe one day might (partially) replace X11.

  • does directFB supported by GPU manufacturer in order to get hardware acceleration?
    – uray
    Aug 23, 2010 at 19:52
  • DirectFB seems to have hardware acceleration for some embeded SoCs, as well as for some (mainly older) desktop GPUs. Probably mostly 2D & video decoder acceleration.
    – JanC
    Aug 23, 2010 at 22:27
  • DirectFB is pretty awesome, and its perfect for embedded systems. Its the right amount of layer, for very low resource consumption. Wouldn't hurt to really think about hardware utilization, but that's a much bigger problem in general. Feb 5, 2012 at 21:11

Well, there's SVGALib or fbdev, you could build a window manager on top of one of those, if you'd like. I think the existing desktop environments (Gnome/KDE) are built on top of the X.Org programming interfaces, so you'd have quite a bit of work to do to make them work on a different substrate. I've heard that Android uses it's own frame buffer system and doesn't rely on X. Unlike POSIX, there isn't really a portable API for the underlying graphics system, so we all use X by default.


As others have said, Wayland is the main X.org alternative that is currently being developed. Right now, it's nowhere near being usable for normal tasks. However, there have been several exciting new developments.

Earlier today, Kristian Høgsberg (Wayland's author) committed the code changes to Mesa that are necessary to run Wayland to the master Mesa branch (they were previously in his personal repository). This should make it easier to use Wayland, because, eventually, you should be able to use your distro's Mesa package rather than compiling it yourself. (Mesa is by far the largest package that needs to be built to run Wayland.)

Recently, Kristian posted a screenshot of his initial support for using Gtk+ in Wayland:

Gtk+ running on Wayland

There is also the start of a port of Qt to Wayland, too.


Well there's Wayland but that's not ready yet.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .