Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

X Power Tools

Posted by samzenpus on Wed Feb 13, 2008 02:37 PM
from the read-all-about-it dept.
stoolpigeon writes "The X Window System has been around for over twenty years and is the display system for an incredibly wide range of operating systems. With the number of Linux users growing, there are more people working with X than ever before. Most modern desktop environments provide user friendly interfaces that make modifying X rather simple. There is not a need to dig into config files and settings as in the past. For those environments without such tools or for the user who loves to dig deep into their environment, this book can be a simple way to understand how X works and how to tweak it in any number of ways. If you want things that 'just work' and have no interest in digging around below the surface this book is not for you. On the other hand, if you think the best thing to do with a shiny new tool is to take it apart, well "X Power Tools" by Chris Tyler may be just for you." Read on for the rest of JR's thoughts on this book.
The author, Chris Tyler, is a professor at Seneca College in Toronto as well as a programmer and Linux user. His first book published by O'Reilly was "Fedora Linux: A Complete Guide to Red Hat's Community Distribution", published in 2006. He cites the growth in X users, combined with active development and the lack of existing books that address X as the motivation for writing "X Power Tools."

X is the windowing system on a wide range of Unix and Unix like systems. Chris is obviously most familiar with Linux and so the material is heavily Linux oriented. This is most apparent when the book deals with Session Managers, Desktop Environments and Window Managers. The material focuses on Gnome, KDE and Xfce and their associated components in regards to X. For the Linux user this could be a valuable resource.

When I've had issues in working with X locally and over the network, I've found that while what I need is available on the web, getting just what I need can be very labor intensive at times. Usually just what I want is spread across tutorials, on-line man pages and forum posts. Sorting out what applies to my situation can be especially difficult when I'm not even sure just how things work for my setup. Chris makes this kind of guessing unnecessary and provides the locations and function of key files. He also spells out how the most important files and tools can be best used.

For the sysadmin on another platform, these Linux specific sections are not going to be much help. Most of the book though, deals with X itself. I've already loaned my copy to one of our AIX admins more than once and I think he plans on picking up a copy of his own.

When Gnome and KDE provide an interface for modifying or customizing X functionality, the book gives at least the name of the program and sometimes screen shots and explanations of how the tool works. This is always after an illustration of how to get the job done with the tools that are a part of X itself. From fonts to keyboard layouts, multi-display to kiosks, everything required is laid out in straight forward terms.

For me, as a Fedora user, this means that having read this book I approach my work environment with a new level of confidence. Behaviors that used to puzzle me, now make complete sense. Quirks that bothered me, no longer need to be tolerated as I know have the tools to get things working just the way I want, rather than using defaults.

The book has just come out, so it was being written before the release of KDE 4. I've looked through the documentation and I don't think any of the changes to programs like KDM or KWin make the information in the book out of date. In fact, according to the KWin release notes, when discussing KWins new compositing support, "...manual configuration of X may be required for proper results..." So if you are a KDE user that likes to live on the edge, this book may come in handy.

O'Reilly says that their "Power Tool" books are comprised of a series of stand-alone articles that are cross-referenced to one another. To be honest, it didn't feel much different from reading any other tech book. Topics flowed naturally and the articles are analogous to sections that divide up chapters in other books. One nice navigation feature is that page numbers are on the bottom of the pages while chapter and article numbers are at the top corner in a decimal notations. For example at the top of page 58 there is a grey square containing the number 3.13 which means that it is the 13th article in chapter 3.

The book has a thorough index. It also comes with 45 days free access to an electronic version through O'Reilly Safari.

For me the only real weakness of the book is that I would like to have seen more information on working with X on Unix. When reference is made to specific implementation of X it is almost always in regards to Linux. I wouldn't want to lose that, but I think a mixed environment of Unix, Linux and Windows is more the rule than the exception today. It would be more work to include other operating systems, but it would have also made the book much more valuable.

All tech books face the danger of becoming quickly useless as progress marches forward. X is actively being developed, but at the same time, looking back on its history I think this book will be useful for sysadmin and user for some time to come.

You can purchase X Power Tools from amazon.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
+ -
story
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • As long as the program lives on (even as abandonware), so does the technology and the potential for manuals and other HOWTO material. People still buy QBasic By Example (and blogs still rave about it) even though it was unbundled from Windows in Vista (maybe even XP, I'm not sure) and most people (myself included) haven't written a proper program in it for coming up on a decade.
  • How bad can a review be? This provides no useful information, except that the reviewer seems to have liked it a lot.
    • Re: (Score:3, Insightful)

      What did I leave out that you would like to know? I'm always looking to do a better job and would appreciate any help in that regard.
      • Re: (Score:2, Informative)

        * What does it cover?
        * What are the chapters?
        * What detail does it go into?
        * Who is it aimed at?
          * Would a newbie find it useful or bewildering?
        * How expensive is it?
        * Is it easy to use as a reference or do you read it cover to cover?
        * What didn't you like about it?
        * Was there any bad information in there?
        * When you say it's more linux aimed, to what degree?

        Those are just some of the questions I can come up with from the top of my head...
  • by Toreo asesino (951231) on Wednesday February 13 2008, @02:55PM (#22410312) Journal
    is that it know the hardware it's running on better. You shouldn't need a file to say what resolution your monitor can do for instance; it should just know and keep track of preferences of what resolution you'd prefer maybe.

    This isn't a troll; monitors and graphics cards have been able for donkeys years to tell the OS what resolutions and refresh-rates they are capable of for years now and X hasn't caught on.

    And that's pretty much my only complaint.
    • by pembo13 (770295) on Wednesday February 13 2008, @03:01PM (#22410392) Homepage
      You mean X should be able to auto config itself and not rely on a set resolution in /etc/X1ll/xorg.conf? Kinda like how it does now?
      • Re: (Score:3, Informative)

        by Anonymous Coward
        Yes, that works great if you plug in one display when you install and never change it.

        Now go to your nearest Mac, plug in a second display (while it's running), and watch what happens. Then go to your nearest Linux box, plug in a second display (also while it's already running), and watch what happens. Note that the Mac was using both displays about 4 seconds after you plugged it in, and the Linux box was not.
        • by FooBarWidget (556006) on Wednesday February 13 2008, @03:57PM (#22411190)
          Nope. This has already been addressed in the most recent X.org release. In fact the goal of this release is automatic hardware hotplugging support with no config files.

          Actually it already works now. I'm running Ubuntu 7.10. Not too long ago I plugged in a beamer into my VGA port, and it... just worked! No configurations, no restart, it Just Worked(tm).

          If you're going to whine, at least make an effort to stay up to date with the facts.
          • Re: (Score:3, Insightful)

            There will always be problematic hardware that needs more than just using auto-probed settings using than using /proc and EDID settings. My issue is a minor one, but a major head-ache. I've got a TV as my monitor, and like many many TV's on the market, the TV overscan/underscan issues. The only way to property configure that monitor is for someone to manually plug in settings to come up with a few 'magic' resolutions that will 'just work' out of the box of any new distribution.

            But I do agree, most of whats
    • You shouldn't need a file to say what resolution your monitor can do
      If you have a monitor that can tell X what it can do, then you don't need anything in your config file. I've only had to set them in my xorg.conf when I was running xvnc with no monitor attached (it defaulted to 800x600 I think, but I wanted a higher resolution).

      X.Org 7.4 doesn't even seem to need a config file at all.
    • is that it know the hardware it's running on better.

      Xorg does this just fine on vaguely modern hardware that doesn't need extra hacks. (Intel, I'm looking at your graphics chipset!) It's the distro's configure script that isn't up to the job.

      Of course, you COULD contribute a better script...
    • Re: (Score:2, Informative)

      mv /etc/X11/xorg.conf /etc/X11/xorg.conf.bak

      And restart it. Seriously. Since about a year, the best way of running X on a PC is to let it autoconfigure itself without any configuration file, not even the one generated by some distro-supplied automatic configuration system.
    • Re: (Score:3, Informative)

      This isn't a troll; monitors and graphics cards have been able for donkeys years to tell the OS what resolutions and refresh-rates they are capable of for years now and X hasn't caught on.

      Uh? Xorg (and XFree86 before) have been querying monitors characteristics via DDC for years. HorizSync and VertRefresh are just for really ancient monitors/graphic adapters. Look here [tldp.org] if you don't believe me.

  • by Enleth (947766) <enleth@enleth.com> on Wednesday February 13 2008, @03:09PM (#22410490) Homepage
    From man xorg.conf, verbatim:

    VIDEOADAPTOR SECTION
    Nobody wants to say how this works. Maybe nobody knows ...


    On the more serious note, Xorg might have some misfeatures and shortcomings - that don't really justify everyone whining there, but, well, it's kind of typical - but the sheer fact that something designed over 20 years ago to operate with hardware and software long forgotten still does its job well and manages to keep up with other windowing systems even when it comes to bells and whistles (Composite, etc.), while being ABI (ABI, mind you, not API) compatible with software that actually is 20 years old, means something. That's one solid piece of engineering, the kind one doesn't see often.
  • XDMCP is one of my favorite features of X. But, getting it set up is such a royal pain in the butt, especially on networks with mixed distros and OSs. It's been a few years since I've had to administer it much, but my only real gripe with X was the time it took getting a good XDMCP environment up and running. Hope there's some help with it included.
    • Re: (Score:3, Informative)

      Really? I don't recall having much problem with XDMCP. Granted, I never had to do it large scale, but it was more or less just a matter of having one machine run XDM/GDM and then on "client" machines start X with an option that points it to the IP of the XDMCP "server." IIRC, there is even an XDMCP browser. The only thing is that some distributions (maybe most these days?) don't enable listening for TCP connections by default for security reasons. So you have to know where to enable that.

      -matthew
    • I entirely agree. It's obvious that it most be fairly hard to code for or else getting it to work wouldn't be so difficult.
      Even on Ubuntu 7.10, it's still a beast to deal with. I don't have hardware ordered specifically with Linux in mind, I need Linux to work without that.
      • by jedidiah (1196) on Wednesday February 13 2008, @02:55PM (#22410318) Homepage
        What are you smoking?

        You don't install ANY OS on hardware without considering driver support.

        MacOS is no different. Various forms of Windows are no different.

        Linux and X are not alone in this.

        That said, I've never gotten all the whining. I've put no more
        effort into buying machines and vidcards that I would have done
        to avoid a lemon under Windows. Yet I've managed to avoid problems.

        Slackware 96 was not pretty but it wasn't painful in this regard at all.
      • Re: (Score:3, Interesting)

        It's not that it's difficult, they do a pretty good job now, it's that noone has come up with anything better. A decade ago, some guys got together with something called GGI which was intended to be a non-networking X11 replacement. Its main distinguishing feature was that it would be closely tied to the kernel, much like the graphics in Microsoft Windows is tied. Nothing much came of it.

        The biggest problem with X11 has always been looks. Always. The core stuff is ugly, difficult to code with, ugly, no
    • Re: (Score:3, Insightful)

      Can you provide some code? You are free to make a new graphics interface. X has been around for a long time and it will stay for a long time yet. It has proven itself despite of its shortcomings. I don't think that a complete replacement is a good idea. The best thing for X that yet has to happen is it running as an unpriveledged user, but that is hard with the hardware so close to the software.
      • Can you provide some code? You are free to make a new graphics interface.
        Look, I know this is the standard FOSS fanboy answer to any criticisms about anything and everything, but it's gotten tiresome - it doesn't actually address the criticism at all. It's on the same level of relevance as if you'd responded "Oh, yeah? Well your momma's fat!"

        • Re: (Score:2, Insightful)

          Look, I know this is the standard FOSS fanboy answer to any criticisms about anything and everything, but it's gotten tiresome - it doesn't actually address the criticism at all.
          The implication is that if you know enough about X to be able to say it is bad, then surely you know enough to offer an improvement.
          • by siride (974284) on Wednesday February 13 2008, @03:18PM (#22410568)
            That's an invalid argument. I may know enough to say my car isn't working (e.g., it won't start), but I certainly don't know enough to fix it.
            • Bad analogy. What the original poster said would be more like "I know the internal combustion engine is entrenched and all, aren't we fed up with this dinosaur? ..."
            • by MasterOfMagic (151058) on Wednesday February 13 2008, @03:37PM (#22410874) Journal
              Then hire (and more importantly pay) a mechanic to fix it. A mechanic doesn't do what he does out of the goodness of his heart and because he likes other people. He wouldn't be able to pay his bills if he did that. You are not entitled to free car service just because you are you, just like you are not entitled to free and open source software changes on your whim.

              If you know him personally or if it's a side project or it interests him enough, he may do it for free. That's his choice as to how to spend his time. However, the vast majority of programmers in the open source community think that X works. They aren't interested in pursuing an alternative, at least not for free. I'll bet if you offer to pay their salary, their interest would be piqued. I'll bet if you had the skills to write one on your own, you could do it and attract some mindshare. Now, and this is key, sitting around on Slashdot and bitching about it won't solve the problem.

              Do it yourself because you are interested, hire someone else to do it, or accept that the vast majority of open source development is done because it's in the best interests of the person working on a particular project, and right now, the consensus amongst open source developers is that the X Window System works.
        • > Look, I know this is the standard FOSS fanboy answer to any criticisms about anything and everything,
          > but it's gotten tiresome - it doesn't actually address the criticism at all.

          Actually it is more response than the original poster deserved. Go reread it, he complaimed that it is old. No specific complaint, no suggested solution.

          And you fail to understand the FOSS idea. The line between users and developers doesn't exist. If you don't like it you are free to fix it. Iven if you aren't a uber coder who can write GL drivers in their sleep you can at least learn enough to make good guggestions, bug reports or hell, contribute some better documentation. If you can't code or at least understand the system enough to make constructive criticisms and suggestions for improvements then you really should just shut up and accept what you get because talking from ignorance just reduces the signal to noise and makes it harder for those who do have a clue to get on with improving the stuff you use.

          10 to one both you and the original poster don't even realize GNOME and KDE aren't even part of X. That sort of ignorance is what makes every thread about X devolve into silly rants about GUI usability and brings out the Mac fanbois. X itself is just fine now and with some of the current improvements working their way towards mainstream it will only get better.
              • Re: (Score:3, Insightful)

                Even discussion about missing features should be encouraged because even if the original poster can't code, someone else who can may read the discussion thread.

                Absolutely. That's why I find the standard response of "well fix it yourself" to be so boorish and irritating. Criticisms should not be dismissed simply because they come from someone who's not a programmer. I think you put it very eloquently when you talk about helping people to contribute.

        • I agree with that, but you haven't even told us what's wrong with X, or how another system could be better.
        • Re: (Score:3, Insightful)

          by Anonymous Coward
          Why don't you double how much you're paying for the X Window System ($0) and see if anybody is interested in writing a replacement for that kind of money?

          If you didn't pay for it and you don't like it you have two options:
          1) Write something better. Surely you can because you know what you don't like about the old one, right?
          2) Shut the fuck up, grow a set, and realize that the open source community is not your personal bitch.

          You are exactly the reason why I gave up writing open source software. You had
        • Because then it wouldn't work on BSD or Solaris, which is also why X has it's own Keyboard and Mouse drivers, because not all kernels that X was designed for provided APIs for them.
        • Put the drivers in kernel modules, where drivers belong, and let X do what it does best: security and networking. This isn't even a full-on Tannenbaum microkernel. This is just common sense. Not even monolithic kernel advocates seem to promote this kind of architecture-gumbo anywhere else.

          Didn't Windows at some point suffer from having all the graphics stuff running in kernel mode? I'm pretty sure you wouldn't like loading a multi-megabyte module into your kernel. The size of the NVIDIA closed source kern

        • What you are describing is already been worked on. Soon, at least on Linux, Xorg will no longer need to run as root.
    • but really, aren't we all fed up with this dinosaur?

      Why? What's wrong? We have hw acceleration, we can use it over the network, we have nice toolkits that work on top of it, it has good documentation and nvidia, ati and intel write drivers for it. Why change it?

      • by Anonymous Coward on Wednesday February 13 2008, @04:06PM (#22411318)
        It's good to look at why one wants to replace something, and not replace it if it's not broken.

        But really, X *is* a dinosaur. The drawing operations it has to support were neat when we had 1-bit displays, but aren't that useful (or accelerated) on modern hardware. Its imaging model is completely different from modern printers and page definition languages. Antialiasing and transparency (at the window level) is obviously an afterthought, and resolution-independence was an early goal that nobody really got working. Font support is only so-so. Color calibration is basically nonexistant. It has a bunch of individual features which run great, but not with each other, like OpenGL and video and Xinerama. Compositing support is still kind of flakey. Network support can be useful but X11 screwed up the design. The Unix Haters' Handbook has a whole chapter of other issues.

        And sure, we could (and probably will, eventually) fix each of these things. But X11 seems to never drop its old baggage, even when nobody's using it. So when somebody wants to fix fonts or colors, they'll do that by adding new extensions (which have to be installed in the server, yay), and now we'll have N+1 ways to do these things, and still most people won't use the good new way. Anybody who's done software testing can tell you about the reliability of N orthogonal features; it's no wonder compositing + video + OpenGL + Xinerama doesn't work.

        There's something to be said for wiping the slate clean and saying "OK, it's 2008 and we now know how to do compositing and acceleration and video and fonts and colors, so we're going to throw out all the dead ends we've created in the past 25 years, and start fresh". (You can even run X11 inside whatever graphics system we create, like X11.app on the Mac.)

        Writing a network protocol for a graphics system isn't fundamentally that hard to do. There's no black magic here. Linux users claim to know better than anybody the problems with a monoculture. And yet, X11 is so monstrous that there's really only room for one implementation; there simply aren't enough graphics geeks who are willing to put up with the pain of maintenance to support several. So when Xorg forked, it was a Really Big Deal. It shouldn't be! Note that the programs that open-source does best are those that we have a million of (like text editors, or chat clients, or MP3 players), and those that we always complain about are the big monsters that nobody is crazy enough to write a new implementation of (X11, OOo, Moz). I do not believe this is a coincidence.

        I would really like to have a graphics system that is simple enough that I (with only a 4-year degree in computer science) can understand, and which we're using because it's the best design we can come up with, not because it's the only free windowing system we could find in 1984.
        • Re: (Score:3, Interesting)

          (Argh, why did I not use preview? Sorry, posted again with formatting!)

          It's not at all clear that we could gain anything by starting over, and in fact we'd probably lose quite a bit. Yes, there are old methods to do things, but they are being deprecated or replaced outright. XCB replacing Xlib is a particularly good example, as is the replacement of server-side fonts with client-side. Essentially these things aren't real issues any more, so they don't take up any real mental bandwidth when you need to work
    • In 1997 I'd have agreed with you, but today X is working better than ever. Only problems I run into are: configuring it still sucks; and, exporting to a remote machine is still slow as crap compared to Windows Remote Desktop*. There are other things that could make it even better like detaching and reattaching windows to different screens, but personally I'd just be happy if it was as snappy over the network as Windows.

      *My experience with NX has not been that great, both from a use and configuration standpo
    • I think this is a great post, in spite of the backlash against it. I support your cause, and fully agree. If I had mod points, I'd give them to you rather than posting here.

      The general defense I keep seeing for X seems to be that people "aren't criticizing it properly". As if to say that just having problems with X isnt sufficient if you don't fully understand and can vocalize on those problems in a tech-savvy manner. In the past year, I don't know how many X problems I've run into, *most* of them being r
      • Re: (Score:3, Insightful)

        What you mean is that the Xfree86 and xorg implementations of the X server for the PC are single-threaded. I don't think there is anything in the standard that prevents X servers in general from being written differently. X clients, like browsers or window managers, are not single threaded.

        The problems of being single-threaded are simple and easy to find: something hanging causes all updates to stop. The bugs that you get in multi-threaded code are generally much worse: locking problems and concurrency i
    • by canuck57 (662392) on Wednesday February 13 2008, @03:44PM (#22410992)

      I know X is entrenched and all, but really, aren't we all fed up with this dinosaur? A new window system might be a good thing for Linux as a whole.

      Why does every new kid on the block insist you have to replace it to be any good without knowing how much effort it takes to get a GUI working right?

      X-Windows is also 1984 from MIT as Wiki on X-Windows [wikipedia.org], which makes it almost 24 years old. And components of it likely existed before it's 1984 debut. It has had a lot of years to become polished. For without it Linux would likely still have some proprietary GUI that can't be used with other hosts. That is, I enjoy login into Linux, login to a different vendor of Linux or perhaps a BSD, AIX or Solaris....and it works!

      I will admit, having used and programmed X-Windows from almost year one, it was initially heavy, had alignment bugs and was no where near like today's X. It was in fact ahead of it's time but now that the graphics hardware has enough juice it is in it's prime. A portable inter-operable network/GUI.

      And just so you don't think this fossil is stodgy, GTK is a fantastic Motif replacement. You should try it, real nice.

      Don't try to make Linux look like Vista, Vista will not last. And X-Windows will outlast Bill Gates himself. Bills empire still can't do portable Windows without outside help. Perhaps spend your time with that new X-Windows desktop for Linux, the one with the cube.

      • Re: (Score:3, Informative)

        I wasn't aware a lot of programs interfaced directly with X. I'm sure there are some that for whatever reason feel like they must interact with X directly, but wouldn't say, X2 or X+ or whatever with GTK/QT4 be sufficient to run -almost everything-?
      • Re: (Score:2, Informative)

        You're pretty new to this, eh?
        It's not so obvious anymore on todays multicore, multi-GHz numbercrunchers with gigs of RAM, but X11 is a lot of things, but _not_ speedy. They didn't even try to make it speedy - the network transparency layer (among other things) creates so much overhead it was a pain to use X11 until relatively recently.
        When XP was first released its windowing system actually felt more responsive than X11 did on the hardware from that time.
        • by ettlz (639203) on Wednesday February 13 2008, @03:46PM (#22411034) Homepage Journal

          When XP was first released its windowing system actually felt more responsive than X11 did on the hardware from that time.

          This is what you get when most of your windowing system is run in the kernel: the low-level drawing and management routines are just a syscall away. Plus I believe the Windows window system is multithreaded (or, at least, much of the stuff runs in the applications' threads when they make windowing calls). X.org, on the other hand, is single-threaded and runs as a user-space process, so there's also context switching overhead. [All that "Ha-ha, NT runs its video drivers in the kernel" stuff is misleading; the criticism wasn't that the hardware support was in the kernel, which is where it should be, it was that a load of management stuff was there too.]

          Personally I'd like to see a lot change in the structure of X11. I'm not fond of the way the 2D stuff appears to work by acquiring privileged maps to areas of physical memory, effectively subverting the kernel. I'd much rather it were all built using DRI. In-kernel modules would be responsible for mediating access to hardware registers. The heavy lifting and config part of the drivers should be done in user-space (much like MesaGL) with a minimal multi-threaded graphics server. X11 would be run as an application on top of this to provide network/legacy support, etc. But then again I'm not an X.org developer and they probably know better.

          • Re: (Score:3, Informative)

            Quite a bit of XP's 2d drawing functions are accelerated using video card driver supports. All the blitting, etc.. which may be supported in Linux drivers was pretty much stock in every well used Windows graphics driver since 2k.

            You ever run into the issue that Firefox scrolling is sooo slow? Its probably because the scrolling routines aren't being 2d accelerated like they should be.

            Putting too much in user space might seem like a good compromise, but depending on how often you context switch to achieve thi
        • Re: (Score:3, Insightful)

          the network transparency layer (among other things) creates so much overhead it was a pain to use X11 until relatively recently.

          Have you measured the cost of network transparency, and would you be willing to debate Jim Gettys and Keith Packard about that being one of the bottlenecks? (This is one of the persistent myths of X11.)

            • by krmt (91422) <therefrmhere@NOSPAm.yahoo.com> on Wednesday February 13 2008, @05:10PM (#22412136) Homepage
              Jim is one of the original authors of X. Keith is essentially the de facto overlord of the current X.org, although he doesn't play dictator except in rare cases.

              As for rendering bottlenecks, they are many and varied and none of them have to do with the network transparency issue. When local clients talk to a local server they do so via local sockets or shared memory, both of which are very fast and impose minimal or no penalties.

              What accounts for bottlenecks are things like the inability to do compositing, leading to tearing of windows when they're being dragged. This is fixed by the composite extension and a fast compositing manager, like the one found in compiz.

              Another issue is that the old driver architecture (XAA) was geared towards old-style drawings. These days we don't really look at stipple patterns much, so the new driver architecture (EXA) is geared towards solid fills and fast blits for bitmaps instead, which is what you end up doing on a modern desktop anyway. It turns out though that this is very hard to get right and the bugs are still being worked out. I don't think that this is really an issue with X being old so much as that this is just a damned hard problem to get right. It is being worked on (check out Carl Worth's blog for some examples on this particular front) so hopefully things will improve.

              Finally, there's the constant bottleneck due to incomplete or inadequate drivers. The new radeonhd, for example, only recently gained 2d acceleration support, and still lacks any sort of 3d accel. This sort of problem prevents X from adequately taking advantage of all the hardware has to offer, so performance can suffer. As a result, you lose the ability to run things like compiz, which address these issues.

              Finally, I haven't watched it yet, but I recommend you take a look at Keith Packard's google talk on remaking X [google.com]. X has been largely rebuilt from the inside over the past several years, and things like Render, RandR, Composite, Damage, Fixes, Input Hotplug, and EXA have really sprung from that initiative. It's wort
                    • Re: (Score:3, Interesting)

                      I'm not offended, although I purposely tried to make myself sound that way in my post to incite your response. So I guess two can play at that game huh ... :)

                      As a final point, something I mentioned in another post I made just a minute ago to another poster in this thread ... I think that a large part of the perceived inadequacy of X is due to the nature of modern desktop implementations. I'm really going to show what an old man I am here, but I *still* run twm, one of the original X window managers, and I
        • Re: (Score:3, Informative)

          Let me put it this way. If we were to come up with say, a new open standard for a window system API, and all the associated drivers necessary for it, etc., and we were to submit that to ISO, we would call it something like the Open Window Standard or somesuch. X.Org would rename themselves to "Open X.Org." X is as much a defacto standard as .doc, but that doesn't make it good. And anyone whose ever had X break on them can testify to the fact that it's just not an elegant solution for how to do things. It's inefficient, it's monolithic, it doesn't play well with multiple processors, it has all these flaws. I didn't think I had to bring those things up: this is Slashdot, we know the flaws are there. Dammit, we should be complaining about them shouldn't we?

          Actually, here in slashdot what we get is lots of people, much as yourself, mentioning flaws. But very few people have any real idea of what they are talking and about one third (being generous!) of the posters are probably among those that think that KDE is a window manager, that QT and GTK are part of X, and that have some very mystical and completely misguided understanding of how the SELECTION protocol works.

          There are flaws. This is obvious from reading the mailing lists of the X developers. But your