So X sucks, now what do we do about it?

X is the graphical framework used on Unix, as in the standard – and it has two free implementations – the old XFree86, and the refurbished X.org (for a good overview of what is X, and what everyone is talking about these days, check out Free Software Magazine’s “Accelerated X Flame Wars!” article).

Problem is, that the X protocol was designed back in the 70s or something, with a lot of future thinking – but that future is what we now call “past”, way way back. So its showing its age. Since there isn’t anything new to replace it (there were several contenders, but none that made it), and X does offer some important and cool features you’d find in nowhere else these days – remote display, being the most important – X is still the display engine used on todays Unix/Linux workstations.

But it does suck, have not doubt about it: it is slow (i.e. really high latency), very unfriendly to new features, and the current free code base (XFree86 and X.org are just a fork of each other) is old and full of ugly hacks.

There are several ongoing efforts to make X a viable current (and future) technology, all of which concentrate on getting proper support for 3D effects (which are currently a bitch to get on X) and better rendering capabilities: Free Desktop’s Xegl, Fedora Project’s AIGLX and Novell’s XGL. The videos for either of those is pretty amazing (don’t look for the videos for Xegl – there’s nothing there yet), but one has to ask oneself – when can I see it on my desktop ?

With modern software companies, getting something that complex from design to the point where we can actually use it in real life is a combersome and long process, which can take a year or more (see “MS-Windows Vista”), so it was nice hearing Zuck Rusin (from Trolltech) talk about what they’re doing with X going forward (choose program #125), and especially in regards to KDE 4.

What he’s basically saying is this: KDE 4 is scheduled to come out in 10 months (with betas this summer), that means they need something now that does everything they need for Plasma (and that basically means that they can’t wait for Xegl which is a good ways off), so they’re working on an fitting an accelerated gl architecture (if I understand correctly) – called glucose, into the current modular X.org tree that will work with the indirect rendering modules (AIGLX), and he’s talking about having something that can be used and worked on – next week. At least in the CVS. he’s talking about demoing KDE on that next month. So basically, most of us that are using X.org just need to switch to version 7.0 and wait for the a new release, which according to what Zack is saying should happen before the end of the year, or if you are adventerous, grab a CVS snapshot which should have all the goodies before next month.

Add that to Novell’s work on Xgl, which is a hack – and Zack Rusin explains its problem well – but is available now, and at least for OpenSUSE as binary installables, and the future looks bright for the Linux desktop. With some luck, there will be a Linux distribution on the market waiting for the new Microsoft Windows client, with better graphics then the “Windows Vista Ultimate” version.

3 Responses to “So X sucks, now what do we do about it?”

  1. Eran:

    So… when can I get a video engine that can really recognize my main adapter or let me choose it?

  2. Guss:

    its about hardware recognition and configuration, something which Debian is nutoriously bad at, but in which other Linux distros have been pretty good in the last few years.

    When you have a non-trivial graphical adapter setup, and you use a Debian based distro (Kubuntu for example), you are going to get into trouble. I’ll

    get dad to dliver a proper livecd for you, when I see him next.

  3. Eran:

    I’m trying that PCLinuxOS now. It’s very cute and colorful. 🙂

    But it still picks my Banshee and I’ve yet to figure out how to make it drop the subject (Besides pulling the card out of the slot).
    It asks me to type ‘video’ for the video configuration then it just picks the Banshee with a preset resolution and refresh rate and I don’t know how to change it.

Leave a Reply