Slashdot Mirror


Is X The Future?

Future Linux-Guru wrote in to tell us about an essay thats running over at OS Opinion that talks about X11s Future. Not an issue we talk about much: Sure, X solves the problem, and in many ways, its very elegant, but is it really the standard that we all want to be using for our GUI coding in the future? This essay argues that we should. Do you agree?

361 comments

  1. Re:No X -- we need a media-savvy, compositing GUI by Anonymous Coward · · Score: 0

    Uhh, yah...and that GUI is coming complete with its own operating system called MacOS X.

  2. Re:Berlin and Fresco are even slower - believe it by scrytch · · Score: 2

    > Each of CORBA's on the wire requests has a big header which includes the name of the remote function name - in ASCII no less!

    This isn't so much a problem with CORBA so much as it is with IIOP, which I'll admit is a pretty well entrenched part of CORBA. It did boggle my mind how stateless they tried to make IIOP. A real world analogy would be like doing away with pronouns. John went to the store and John bought some raspberries and John put the raspberries on John's cereal and John thought the raspberries were rather tasty. (and to top it off, you're John). Now that CORBA 3.0 has interface versioning, maybe we can say "okay you refer to function xyzfoobarbazmumbleblah as 2, ok?" I wouldnt count on it though.

    --
    I've finally had it: until slashdot gets article moderation, I am not coming back.
  3. Re:Sure, X is great, but.... by spitzak · · Score: 1
    What happens if a .Xdefaults/resources/whatever file gets corrupted? Your application starts up with a perfactly usable set of options.

    Not in my experience. Motif programs that have missing or corrupt .appdefault files are totally useless (like, the buttons have no labels!). I 100% agree with the initial author that these have the same problems as the windoze registry. I have never seen a Motif appdefault file that is editable, they are just "part of the program" and have to exist, unchanged from how the author wrote them.

    And even if they did work, this is a horribly user-unfriendly way to customize a program!

  4. bad article.. by mcc · · Score: 1

    i don't really totally get what this article was trying to say. it seems like it could be condensed to "X 0WNZ j00!!" the only arguments i could find in it are "we ought to make an upgrade to X11" and "we shouldn't try to replace X". The idea that everyone should stick to X since 'it is standard' does make sense, but it's still kind of stupid to dismiss alternatives out-of-hand before those alternatives have actually been created. I mean, once Berlin has reached the stage of being usable then it makes sense to argue not to switch to it; but bashing a technology before it has a chance to prove itself is just kind of arrogant.

  5. Re:Implementations vs. Standards. by elflord · · Score: 1
    Linux seems more GNU-compliant than POSIX-compliant.

    As for the GNU project, some of what they do is possibly defensible in the name of innovation ( eg they've added useful features to many of the utilities ) but in some cases, they seem to almost willfuly break compatibilty ( eg bash which includes extra features even in "posix" mode ), which is annoying.

    Fortunately, the GNU software is all free, so you can install it on anything, and it's become something of a standard ( and in some ways , a good standard ) in it's own right.

  6. Re:Sure, X is great, but.... by spitzak · · Score: 1

    Um, exactly how do you change all these 23 applications using an entry in the .Xdefaults file? In my experience, even if every one of them is using Motif, I cannot even get the background color to change with a single line of .Xdefaults.

  7. Re:Vesa is only of use to DOS by Kento · · Score: 1

    Real mode = 16 bit mode, which only dos runs in
    Protected mode = 32 bit, Linux, windows, etc. run in this.
    I guess the Vesa stuff uses video bios functions, which are only available in real mode. And Linux is *never* in real mode.

  8. Re:Berlin and Fresco are even slower - believe it by Anonymous Coward · · Score: 0

    You are wrong.

    1. X clients on the same machine as the X server use the shared memory extension and not translated over the wire.

    2. CORBA is largely a glorified RPC hack that requires socket round-trips for each remote request (can you say slow?). Oneway calls don't help you here as they are unreliable by design - read OMG's CORBA specification. Each of CORBA's on the wire requests has a big header which includes the name of the remote function name - in ASCII no less! The longer the name of the remote function - the longer it will take to process the remote request. This cannot possibly be more efficient than a finely tuned graphics-specific protocol such as X11.

    3. A CORBA call will only be native if the server code is physically linked into the client binary - either shared or staticly. This would make the process size of your CORBA clients much bigger than the current X client/X server model, and resultantly with many process - much slower.

    Do your homework before you spout such nonsense.

  9. Re:Who is Mark Stanford? by elflord · · Score: 1
    Sounds to me like he's just striking back at all the ignorami who think we need to discard X, despite having no idea what X actually does. I agree with him, and I'm a math PhD student with no vested interests in the computer industry.

  10. Re:X12 or G-Windows? by scrytch · · Score: 2

    How old are you anyway? At least 15 to 20 years old? Your development has gotten so slow that you probably haven't added any height whatever for at least a year, if not longer. You probably have added weight (bloat) since you stopped developing.

    Its probably time to replace you. You've stopped making progress.


    Actually this is precisely why we reproduce.
    --
    I've finally had it: until slashdot gets article moderation, I am not coming back.
  11. Sinking ship analogy... by ??? · · Score: 1

    I'd suggest that that is not the situation we're facing. The situation we're facing is more akin to a group of passengers pointing at nicely sealed portholes and saying "See - that could let water in, and if water gets in we'll sink." Meanwhile, nobody's bothered to point out that the portholes are _NOT_ leaking, and that they're as strong or stronger than when the ship was built 20 years ago. The passengers, positive that they're right, go looking for proof. They find water in the form of ballast. "My god, the ship is taking on water!" They bail the water, and in so doing, throw the ship off balance, causing its demise.

    That ship called X is _not_ leaking. It's _not_ sinking. Its design lifetime is _not_ coming to a close.

    1. Re:Sinking ship analogy... by Anonymous Coward · · Score: 0

      X morons: if you have something to say, back it up with technical details. Chances are, the farts are coming out from your mouth faster than you can think!

      http://art.net/Studios/Hackers/Hopkins/Don/unix- haters/x-windows/disaster.html

      Xah
      xah@best.com
      http://www.best.com/~xah/PageTwo_dir/more.html

  12. Raw Xlib ? Motif ? Lesstif ????? by elflord · · Score: 1
    Interestng article, but I take issue with his views on GUI toolkits. I agree with some of his points, but the foolishness of his suggestion that we program in raw Xlib is only surpassed by the suggestion that we can all use Motif because "Lesstif is available". Maybe he's using a commercial UNIX which includes motif, and he hasn't seen how bad lesstif really is.

    Motif is not really feasible on linux because linux distributions ( unlike commercial UNIX ) do not come with run time motif licenses. Lesstif is *not* adequate. I don't know how many times I've seen some idiot report a bug for a motif app because it doesn't work properly in Lesstif. ( they really should report the bug to the Lesstif people ... ) Lesstif is NOT acceptable as a standard. We are much better off with QT ( for which we get runtime and a restricted developers license ).

  13. Re:No X -- we need a media-savvy, compositing GUI by Thomas+Charron · · Score: 1

    I did some research, and you're right.. It's only on the INTEL platform, I stand corrected..

    Open Mouth.. Insert Foot.. ECHO INTERNATIONALLY.

    --
    -- I'm the root of all that's evil, but you can call me cookie..
  14. Re:Sure, X is great, but.... by K. · · Score: 1

    Seriously, how many people routinely modify the resources of their X proggies? If the programmer wants certain UI behaviors to be customizable, she should just add a "Preferences" dialog or the like... Those things are really no better than the Registry in Windoze...

    What happens if the Windows registry gets corrupted? Your machine's fscked, never mind your application.

    What happens if a .Xdefaults/resources/whatever
    file gets corrupted? Your application starts up with a perfactly usable set of options.

    K.
    -

    How come there's an "open source" entry in the

    --
    -- Proud descendant of semi-nomadic cattle-herders.
  15. er... wait... Fresco? by MenTaLguY · · Score: 1

    Fast operation string hashing algo or not - nothing beats an int lookup as is the case with X11's protocol. You cannot dispute this.

    Indeed, I cannot; nor was I trying to do so. The thing is, though, one string hashing operation can probably pull even with about fifty int lookups or so.

    While one operation over IIOP is slower than one over X, Berlin aims to use much fewer of them.

    There's another factor to consider, too, which I just remembered something about -- if I remember correctly (and I could in fact be very wrong on this), IIOP is only used for inter-ORB communication. Intra-ORB communication doesn't have to use IIOP, and my understanding is that it generally doesn't -- i.e. each ORB has its own more optimal protocol, with IIOP being used as a more generic "fallback" for compatibility with other ORBs. Depending on the ORB, the ORB-specific protocol may compare more favorably with lighter-weight protocols.

    Does Fresco use normal blocking (non-oneway) CORBA calls (forgive my ignorance) for most of its operations? If this is the case the socket round-trip time latancy will kill your remote performance. If use use oneway calls, on the other hand you risk not delivering the request. You lose both ways.

    Whoa whoa whoa... I thought we were still talking about Berlin ... the widget hierarchies and aspects of layout control were taken from Fresco, but from what I understand (I need to read up on Fresco more) Berlin modifies it a little and has an entirely different drawing model (much more like NeWS), and a somewhat lighter-weight event model. Based on my understanding of things, Berlin's guts are not that similar to Fresco at all.

    As to your actual question, pretty much everything Berlin does over CORBA is two-way, to the best of my knowledge. FWIW, I'm really more of a hanger-on to the project than an architecture guy, so take my architectural statements with a grain of salt.

    As for having the complete Fresco GUI lib linked dynamically via a shared lib into the client: true, the code of the shared lib is common to all processes, but the data associated with each "instance" of the shared lib is not. I concede this point is probably not much of an issue.

    Yeah, that's what I meant about WSS. It's probably not large, but it is admittedly significant.

    You may not believe this - but I like the idea of Fresco - it seems to be a rather elegant design. I merely disagree with its transport mechanism. Good luck with the project.

    Thanks, but unless you meant that you liked the ideas which Berlin had inherited from Fresco, I think you have the wrong project in mind: Berlin != Fresco. You might be able to call it "Son of Fresco", but I'm not sure. :P


    ---
    --

    DNA just wants to be free...
  16. X is not a GUI system by innerFire · · Score: 1

    I think a lot of people are confused about what a GUI is, and what constitutes a user interface.

    X is an attempt at distributed computing (compare with Plan 9, a much more developed and sophisticated distributed computing architecture), and a primitive graphics system.

    X is not a user interface -- a user interface is a command shell (and 'shell' does not necessarily imply command line). The Mac OS Finder and Windows Explorer are mature graphical shells (GNOME and KDE are still just hacks, and feature-incomplete). A graphical shell embodies a command language just as much as a textual shell is (bash, ksh, et c.)

    X has no native support for user commands to the system (Mac OS and Windows have built-in scripting languages -- shells), thus it is not a command shell. It's graphical, but not a UI.

    What is needed is a true graphical user interface for Unix. KDE and GNOME, as handy as they are, are incomplete band-aids sitting on top of a bloaty, slow network protocol/graphics library. So I say: Lose X! Write something new! Develop a graphical shell language and implement it on an existing graphics library.

  17. Re:Linus Torvalds on Modularity by elflord · · Score: 1

    It's a little OT, he's making a reference to Linus's comments on micro-kernels. Search dejanews for "Linus on micro kernels" , where the man himself has quite a lot to say ( but not about GUIs )

  18. Implementations vs. Standards. by riboflavin · · Score: 1

    To apply you're argument to X, would be to say "XFree86 is the standard, and it's a good standard. Who needs AccelX when we have XFree86."

    UNIX is not the standard, POSIX is the standard. Linux is a POSIX compliant (for the most part) Operating System. If Linux wasn't POSIX compliant, you would have a good argument, but it's probably more POSIX compliant than some actual UNIX's.

    Because Linux is POSIX compliant, most software written for Unix will compile on Linux and most software written for Linux will compile on a UNIX. This is yet another reason why it's good to stick to standards. You can write a better implementation, without having to worry about porting software.

    1. Re:Implementations vs. Standards. by Syslevel · · Score: 1

      The only problem with your statement is: Linux is not POSIX compliant. It's kinda-sorta compliant.

      One of the 'big guns' now supporting Linux should fund the efforts needed to get POSIX compliance for Linux. The problem is, then Linux developers would have to get a cluse in order to keep it compliant.

      Recently in a newsgroup thread, the primary maintainer of the Bash project stepped into a discussion, where somebody was claiming that Bash was based on the POSIX shell spec., and admitted he didn't even have access to a copy of the POSIX standards. From my reading recently, a strong anti-standards bias seems to be built into the GNU community. There's a remarkable attitude that says "add it to the GNU version and everybody else will catch up eventually."


  19. framebuffers and media by Rozzin · · Score: 1

    We need to replace X with a... gui that runs on the framebuffer device.
    -----

    :blinks.
    Who says that an X-implementation can't run on a framebuffer device?

    Graphics-toolkits should only need to support one medium, too: graphics.

    --
    -rozzin.
  20. X is like a video driver by Scott+McGuire · · Score: 1

    X is not a GUI. I don't know how many posts above have said this already, but its just not sinking in.

    What X does is perhaps more like what people think a video driver does. Its an interface to a display. It lets you draw things etc. The job of presenting a GUI is split between a window manager and a widget set. They talk to the X server to get things displayed.

    So, if you don't like the look and feel you see, its the window manager and the widget set.

    If things are slow and eating memory, it could be X itself, or it could be your particular X server.

  21. Re:Sure, X is great, but.... by elflord · · Score: 1
    Interestingly enough, QT and GTK don't make use of those files ( well, KDE sets X-resources to match it's own configuration ). KDE already has a control panel and GUI tools to configure those things ( as does GNOME )

  22. X is standard by jball · · Score: 1

    X is standard and it is just that, standard. It is incredibly difficult to set a simple standard let alone and industry wide standard that is supported by all of the *nix's. Although it can be a pain at times to code, it is so well established the any tampering could result in a mess of arguments and lack of connectivity amoung the not MS OS's. We must look to the future and keep and realize that its not the GUI that needs to be looked at but the entire OS itself.

  23. Re:No X -- we need a media-savvy, compositing GUI by Anonymous Coward · · Score: 0

    Do you need to look up your car's enginee manual in order to shift a gear?

    Linux morons: shut ya' beer hole.

    Xah
    xah@best.com
    http://www.best.com/~xah/PageTwo_dir/more.html

  24. Re:Define: 'we' by Anonymous Coward · · Score: 0

    and repeat after me: "X is a shit pile."

    http://art.net/Studios/Hackers/Hopkins/Don/unix- haters/x-windows/disaster.html

    Xah
    xah@best.com
    http://www.best.com/~xah/PageTwo_dir/more.html

  25. Re:X *is* a media-savvy, compositing GUI! by Shillo · · Score: 1

    > But it is very likely that Berlin will have an X compatibility layer (it won't get any widespread adoption otherwise). Then, GTK/QT will work, and so will all the apps, then you can start porting GTK/QT to Berlin if you want, and there ya go, a group of developers don't ever notice the transition.

    Meaning you get even slower and more bloated double-windowed system. At least extending X means you do things /once/.

    Not that it's really needed. X has builtin image processing. Ever heard of Xie? No, not the X Input Extension, there is another one called X Image Extension. Unfortunately the only person I talked with who /heard/ about it was Rasterman and he told me he couldn't grasp its API. Neither could I.

    The point being, why bother? X has it all. XFree86 doesn't support antialiesed font rendering, however, that has been worked on (I read somewhere that the code is currently commented out because they lack developers). And also, don't whine. If you don't like X, help XFree people to make it into what you like.

    --
    I refuse to use .sig
  26. Look at the source by Maciej+Stachowiak · · Score: 1

    That article is from the Unix-haters handbook. Sorry, but taking the advice of people who hate Unix on a fundamental level on how to improve it seems kind of stupid to me. Especially when you consider that many of the contributors aren't even Mac or Windows people but former users of antique proprietary systems that Unix killed, like TOPS-20 or Lisp Machines (forgive me, jwz, but the LispM interface makes X look intuitive and pretty by comparison).

    There are certainly things about X that suck but I have yet to see a design that fixes all the mistakes but still provides the same benefits.

    1. Re:Look at the source by ~k.lee · · Score: 1

      That article is from the Unix-haters handbook. Sorry, but taking the advice of people who hate Unix on a fundamental level on how to improve it seems kind of stupid to me.

      Errr, the book has an "anti-forward" by Dennis Ritchie. Not exactly someone who hates Unix on a fundamental level. I think the book is more about playfully taking Unix to task for all its ugliness than suggesting that it be abandoned. When you think about it, all operating systems are evil, and Unix is really just the least evil operating system of them all.

      ~k.lee

      --
      (remove nospam for email)
  27. Re:future != X??? by Paul+Jakma · · Score: 1

    sorry you're wrong.

    if you write an OpenGL app you don't need to know anything about DRI or GLX or whatever. The call to create the viewable is an OpenGL call. It's then up to the OpenGL library to do whatever is needed, be it using glx/dri or plain X to create the window. ie:

    app opengl library screen.

    OpenGL is incredibly portable for this very reason cause you do not need to worry about glx/directX/whatever - that part is handled by the library.

    --
    I use Friend/Foe + mod-point modifiers as a karma/reputation system.
  28. ICA quicker than X? by Tet · · Score: 2
    Slower than other remote display protocols, especially ICA

    Do you have any proof for this? Both protocols have their advantages and disadvantages, but empirical evidence suggests ICA is slower than X, and LBX is faster than both. Certainly, both Wincenter and Terminal Server are slow as hell for me over ethernet. I'd hate to think what they'd be like over a 14.4 modem (in comparison, X over said modem is slow but usable).

    --
    "The invisible and the non-existent look very much alike." -- Delos B. McKown
  29. Re:future != X??? by Paul+Jakma · · Score: 1

    dammed html..

    App {- opengl functions -} OpenGL Library {- glx/dri/X11/directX/whatever -} Screen

    --
    I use Friend/Foe + mod-point modifiers as a karma/reputation system.
  30. The future ... by ninjaz · · Score: 1

    I think the future is interoperability, X or otherwise. That's what the various toolkits such as GTK+ and QT can give us - an abstration from the underlying protocol.

  31. Re:yes. by Anonymous Coward · · Score: 0

    yes my ass.

    http://art.net/Studios/Hackers/Hopkins/Don/unix- haters/x-windows/disaster.html

    Xah
    xah@best.com
    http://www.best.com/~xah/PageTwo_dir/more.html

  32. If you don't like X, help XFree people to make it by 1010011010 · · Score: 1

    hahahahahahahahahahaha!

    "If you don't like Fords, help Ford make a better car!"

    Screw that. We'll write our own windowing system and let X people back-port our code to their lame-ass "UI".

    ;)

    --
    Napster-to-go says "Fill and refill your compatible MP3 player", which is a lie. It's not MP3. It's WMA with DRM.
  33. No X -- we need a media-savvy, compositing GUI by 1010011010 · · Score: 1

    We need to replace X with a media-ready, true-color-plus-alpha, image-compositing gui that runs on the framebuffer device. ATI will be releasing FB drivers for its cards... other vendors are sure to follow.

    A *pretty* easy-to-configure GUI (X is NOT easy to configure) is the single most important thing Linux needs to get to the desktop.

    Just imagine the glee people will have when they can run Unix and have it be a better "graphics platform" than the Mac! A better "video platform" then the Mac or the Amiga!

    The GUI should also support anti-aliased Type1, Truetype and OpenType fonts.

    And be remotely viewable -- using the VNC protocol to remote-view an entire desktop (or just a single app! - -try that, windows!) would be appropriate.

    --
    Napster-to-go says "Fill and refill your compatible MP3 player", which is a lie. It's not MP3. It's WMA with DRM.
    1. Re:No X -- we need a media-savvy, compositing GUI by Anonymous Coward · · Score: 0

      No, I rely on a mechanic to configure it for me. Then the shifting is printed right on it.

    2. Re:No X -- we need a media-savvy, compositing GUI by Anonymous Coward · · Score: 0

      1) X is as easy or hard to configure as the tool used to configure it was to use....stop your bitching and output some friking CODE you lamoid! Make a "*pretty* easy" configuration program (course I figured X out on my first try...never could figure out what people are complaining about with xf86config...what is so hard about answering some questions?) 2) Like the man says, work on adding extensions to X or talk to OpenGroup about an X12. Extensions can be made to do all that stuff you want, in fact they have!

    3. Re:No X -- we need a media-savvy, compositing GUI by Milkman+Ken · · Score: 1
      I think the point of this article is: X has the ability to do everything that you describe natively or with a few extensions?

      Just because something is old doesn't mean it's bad.

    4. Re:No X -- we need a media-savvy, compositing GUI by znu · · Score: 1

      Quartz looks like it will be truly amazing. Only problem is it almost certainly won't support remote display. Not a big deal for most users, but it would be nice to have. Other than that it looks like it'll be years ahead of anything else out there.

      The only info I can find online about it is this which is mostly just marketing hype, but from demos Apple gave at WWDC in January it looks like it'll be amazing.

      Linux/Unix in general could really use a replacement for X. I believe the OSS community can put together something better than Quartz if people will just admit that X is broken first.

      --
      This space unintentionally left unblank.
    5. Re:No X -- we need a media-savvy, compositing GUI by Anonymous Coward · · Score: 0

      See jwz's comments about X the last time this was discussed on slashdot. Or read the unix-hater's handbook. In the case of X, yes it is bad. It's a horror. I cannot see Linux winning any battles for the desktop so long as its GUI is based upon X.

    6. Re:No X -- we need a media-savvy, compositing GUI by John+Siracusa · · Score: 1
      "We need to replace X with a media-ready, true-color-plus-alpha, image-compositing gui that runs on the framebuffer device."

      See also: Apple's "Quartz" imaging model for Mac OS X...

    7. Re:No X -- we need a media-savvy, compositing GUI by Kye · · Score: 1

      Are you saying that X is hard to configure, or that One implementation of X on the PC (XFree86) is hard to configure?

      There are several implementations of X Servers on PCs. Just becasue one isn't luser friendly to setup, doesn't mean they all arn't (Sun has one, SCO has one, Plus there are seveal comercial X servers for Linix on x86).

      Alot of the complaints I've been reading, are not talkign about X, but one implementation of it. If you find XFree hard to configure, grab the source and fix it, or write your own implementation of X.

      PS. The author never mentioned Xfree or any specific implementation of X, but X in general.

    8. Re:No X -- we need a media-savvy, compositing GUI by Anonymous Coward · · Score: 0
      > The GUI should also support anti-aliased Type1, Truetype and OpenType fonts.
      X, X, X. The idea of starting extra font servers and just plugging them in (xfstt) rules.

      anti-aliased fonts CANNOT be used even with xfstt. It's due X protocol AFAIK.

    9. Re:No X -- we need a media-savvy, compositing GUI by sanderb · · Score: 1
      A *pretty* easy-to-configure GUI (X is NOT easy to configure) is the single most important thing Linux needs to get to the desktop.

      That's true. I still do not get why there is not just a simple VESA-server that uses all Vesa 1.2 resolutions on my card. Stupid Windows doesn't have this either, by the way, all stupid different drivers.

      Just imagine the glee people will have when they can run Unix and have it be a better "graphics platform" than the Mac! A better "video platform" then the Mac or the Amiga!

      SGI/IRIX rules in these area's. They use X.

      The GUI should also support anti-aliased Type1, Truetype and OpenType fonts.

      X, X, X. The idea of starting extra font servers and just plugging them in (xfstt) rules.

      And be remotely viewable -- using the VNC protocol to remote-view an entire desktop (or just a single app! - -try that, windows!) would be appropriate.

      X

    10. Re:No X -- we need a media-savvy, compositing GUI by madprof · · Score: 1

      > X is probably the best protocol for a
      > distributed windowing environment.

      Fine - but what about when someone wishes to use Linux on a desktop not on a network? I'm well aware that networking is everywhere these days but even so, that does not mean that you are going to have enough bandwidth to run X apps along the line.
      Surely using a windowing system that is written for distributed computing is inappropriate in terms of system overheads for a single desktop?
      In this case - is there an alternative that is usable and worth trying out?

    11. Re:No X -- we need a media-savvy, compositing GUI by gorilla · · Score: 1
      Nope, indeed many of these cheap PC cards are better than their Sun/SGI/HP equivilants costing many times more.

      However there isn't any easy way to avoid the mess of different video cards we've got. Twice now there has been an effort at standardization, and both times manufacturers have added in extra stuff to give their cards an edge. You can either live with the reduced choice, or with the increased complexity of configuration.

    12. Re:No X -- we need a media-savvy, compositing GUI by scrytch · · Score: 2

      > Plan 9's windowing system will run another instance of itself in one of its windows

      Any window? Running xli inside an xterm would be nifty indeed. Or is it a "window system window?" Xnest has been able to do that for a long time.

      --
      I've finally had it: until slashdot gets article moderation, I am not coming back.
    13. Re:No X -- we need a media-savvy, compositing GUI by Switchback · · Score: 1

      I work on OS/2, WinNT, and Linux and I have X servers for ALL of them. I have to tell you, it is very convienient to run a program on my Linux box and have it show up on my OS/2 system or WinNT system....or at home...or in another state to show a customer....or....

      The article is not about how displays look because X does not describe the graphics themselves, but instead defines a protocol for applications (clients) to talk to X Servers. X Window Managers manage the graphics displays. I think people are getting hung up on the 'looks' of a GUI which is totally dependent upon the X Window Manager and the underlying libraries the specific application was linked with.

      X is probably the best protocol for a distributed windowing environment. It is certainly the most flexible. Sure, improvements can still be made, but X is a great concept and a stable piece of software using open standards. Name another piece of software that is as flexible, useful and solid.

    14. Re:No X -- we need a media-savvy, compositing GUI by N1KO · · Score: 1

      X is hard to configure because it asks for stuff like the chipset of your video card or the vertical and horizontal refresh rates on your monitor. Of course that seems easy for an advanced user but the people who use their PC for e-mail and wab surfing dont know about that (and probably don't need to know).

    15. Re:No X -- we need a media-savvy, compositing GUI by Anonymous Coward · · Score: 0
      I had used a PC for 3 months before I downloaded Linux and installed it and had X running in a day. I had to ask 2 questions and reset the kernel to use the right mouse...I had X running in an hour, but I had misconfigured the kernel so I didn't know I had it running.

      Course I actually read the instructions, I know thats too hard for most though.

    16. Re:No X -- we need a media-savvy, compositing GUI by gorilla · · Score: 1
      X is only hard to configure on PC's, where a bazillion different hardware standards have made graphics a nightmare.

      If you have a system where variations in graphic cards are much less, such as for example a Sun, then configuring X is often just a case of starting up the server and letting it configure itself.

      Unofrtunatly the price you pay for cheap hardware is increased complexity in setup.

    17. Re:No X -- we need a media-savvy, compositing GUI by 1010011010 · · Score: 1

      If by "extend X" you mean "Replace it with something that's not a 20 year old, overly complicated, security-nightmare kludge", then, yes, I agree.

      --
      Napster-to-go says "Fill and refill your compatible MP3 player", which is a lie. It's not MP3. It's WMA with DRM.
    18. Re:No X -- we need a media-savvy, compositing GUI by Thomas+Charron · · Score: 1

      So instead we should stifle choice and innovation by only replying on smaller choice? I disagree.. Heck, if Microsoft made hardware I'm sure they'd just LOVE this idea, now wouldn't they..

      Instead of the Microsoft solution, you're stuck with the Sun Solution..

      --
      -- I'm the root of all that's evil, but you can call me cookie..
    19. Re:No X -- we need a media-savvy, compositing GUI by Thomas+Charron · · Score: 1

      (PPst..)

      IRIX is no more.. They're using Linux now..

      --
      -- I'm the root of all that's evil, but you can call me cookie..
    20. Re:No X -- we need a media-savvy, compositing GUI by Thomas+Charron · · Score: 1

      Again, this is not a fault of X but simply bad PC graphics hardware

      Never said it was X, but this is the result of many solutions, aka, choice.. This is a good thing.. Seemed that the point of the post was to say 'becouse PC graphic cards suck'.. Perhaps I misinterpeted..

      --
      -- I'm the root of all that's evil, but you can call me cookie..
    21. Re:No X -- we need a media-savvy, compositing GUI by Anonymous Coward · · Score: 0
      That's true. I still do not get why there is not just a simple VESA-server that uses all Vesa 1.2 resolutions on my card.

      The XFree86 FAQ attempts to answer this:

      All of the essential functions that would be needed to support an X server can only be used while in the processor's real-mode. In other words, VESA compliance is of no use when using a protected-mode operating system.

      Understand? I don't either :-o

    22. Re:No X -- we need a media-savvy, compositing GUI by Anonymous Coward · · Score: 0

      The author did not say "Use a Sun to avoid problems" he said "*If* you use a Sun you wouldn't have these problems because there are just a few cards." What he is saying is that the difficulty of setting up X is not caused by X itself but by all the different cards it must support on PC hardware. There is simply no easy solution for supporting thousands of cards and still being able to have a super easy autoconfiguration. With PCI/AGP cards it is much easier because you can more easily identify cards. One of the main problems is that Sun hardware and software engineers communicate and the hardware guys give the software guys hints on how to detect minor revisions in the chips, the PC graphics hardware people do not always provide easy ways to detect revisions which causes a lot of headaches for the XFree86 guys. Again, this is not a fault of X but simply bad PC graphics hardware.

    23. Re:No X -- we need a media-savvy, compositing GUI by Stonehand · · Score: 1

      Hmmm. What's so difficult about looking at the technical specs section of a monitor manual? Reading? Searching the table of contents? The actual typing?

      C'mon.

      --
      Only the dead have seen the end of war.
    24. Re:No X -- we need a media-savvy, compositing GUI by lamour · · Score: 1

      spoken like someone who has never had to change the default resolution on a TGX+ frame buffer. there's nothing like running a script to stuff some forth code into nvram.

      and don't forget...make sure you know how to correctly use L1-N before you try this, or you'll have a jolly old time trying to get video working on your frame buffer again.

      oh yeah, don't even get me started on all that '-dev /dev/fb0 defclass TrueColor defdepth 24' crap...if the frame buffer supports 24-bit color, the default should be 24-bit color.


      "...and letting it configure itself"

      If the defaults are what you want, every system is easy to set up...

      IMHO,
      Michael

    25. Re:No X -- we need a media-savvy, compositing GUI by Fnord · · Score: 1

      Its not that its that hard to look things up in a manual, if you're not scared of your computer. You forget that half the users out there see the words "video chipset" and what registers in their mind is "something I don't understand and can possibly break". Yes people are stupid. We know. Thats why we have computers to pick up the slack for them. Why do we even need to rely on the stupidity of people when the information is right there in the hardware (dpmi for monitors, device identifiers for video cards (and yes I know, don't talk, code.....I'm working up to that:))

    26. Re:No X -- we need a media-savvy, compositing GUI by Misagon · · Score: 1

      1. All monitors doesn't come with a manual containing that information. Or the user throws the manual away. 2. Monitors might not handle what the manual say they would. eg. We got 4 Mag DJ530, all now has diffrent X configs for the monitor.

      --
      "We mustn't be caught by surprise by our own advancing technology" -- Aldous Huxley
    27. Re:No X -- we need a media-savvy, compositing GUI by linuchristo · · Score: 1

      Name another windowing systems that is as flexible as X?
      plan 9's windowing system will run another instance of itself in one of its windows. and it is at least as good at remote display as X.

    28. Re:No X -- we need a media-savvy, compositing GUI by Anonymous Coward · · Score: 0

      Amen :o)

    29. Re:No X -- we need a media-savvy, compositing GUI by Thagg · · Score: 1
      Short, witty, caustic, and just not true. IRIX will exist on MIPS processors for at least the next 8 years.

      SGI is committed to Linux for Intel processor-based machines, of which there will be quite a few. SGI is also going to be running IRIX for a long time.

      I was at SGI when they adopted X (over the previous NeWS) and it was a nightmare -- but it was the right thing to do. Nobody regrets it. And, with the DRI that SGI supported at PI, you will get fast graphics and X at the same time. thad

      --
      I love Mondays. On a Monday, anything is possible.
  34. Re:The two views on X by Jamie+Zawinski · · Score: 2

    Reading the X debate, on OSO and elsewhere, I've read the same two opposing opinions again and again:

    1. X is an extremely capable protocol that does all the things you could want it to do, so why change?

    2. X is an inelegant, slow behemoth. The first argument seems to come from experienced X developers who are used to the way it works; the second from people who've written a few small applications and found it amazingly ugly.

    That hasn't been my experience at all. I've seen three basic sets of opinions:

    1. People who don't know the difference between X and FVWM, and note that Linux has a crummy and inconsistent end-user GUI experience;

    2. People who have done little or no X programming and think that being able to run an xterm on the machine down the hallway is really neat;

    3. People who have done an extensive amount of X programming, know a lot about X, and hate it because it is completely unsuitable for any kind of performance-critical tasks, including (for example) anything that uses graphics.

    I'm in camp #3, obviously.

    This thread is going to re-hash everything that was discussed here last week and the week before then, is it? I guess that's appropriate, since the article that started these comments also seemed to disregard it.

  35. Re:Here's what you should do by Anonymous Coward · · Score: 0

    Right on brother! Xah xah@best.com http://www.best.com/~xah/PageTwo_dir/more.html

  36. future != X by jilles · · Score: 1

    I think the real future of th GUI lies in web GUI. I admit that most of them look clumsy right now but things are improving rapidly (mozilla, xml and stuff like that). The problem with X and other GUI systems is that they are inherently platform specific. While it's more open and standard than the rest, you won't find X on many propietary OSes like windows, os2, BEOS (?, i'm not sure here).

    I think that more and more applications will have a web interface (thus allowing for greater portability). On the long term I don't think any current propietary windowing system has much chance of survival. If they survive it will be as lower level layers tucked away in the OS with more abstract stuff running on top of it.

    --

    Jilles
    1. Re:future != X by Anonymous Coward · · Score: 0

      1) Broadway. X will run in your webbrowser through the internet!

      2) There are X servers for all of the OSs you listed afaik...I know for a FACT that there are SEVERAL which run on win95 and NT.

      3) X is about the LEAST platform specific system I have ever seen. I would really like to know of one which runs on more systems and which offers C code portability to that degree...AND can talk to and display the same on ANY system which has an X server running.

    2. Re:future != X by ThePixel · · Score: 1

      > While it's more open and standard than the
      > rest, you won't find X on many propietary OSes
      > like windows, os2, BEOS (?, i'm not sure here).

      Actually, There are X Servers (and very possibly clients) for Windows, and OS/2. It would surprise me if BEOS didn't have some sort of X Server.

      IMHO, X IS the way to go, it is a solid proven standard.

      --
      People see the world as they are, not as it is.
    3. Re:future != X by Thomas+Charron · · Score: 1

      Err, sorry, but I must say thet is a VERY unfounded statement.. You'd be hard pressed to find a platform that DIDN'T support an X server.. Sure, not natively, but neither does ANY *nix.. They all rely on an X Server PROGRAM, not a native server within the OS..

      --
      -- I'm the root of all that's evil, but you can call me cookie..
    4. Re:future != X by ucblockhead · · Score: 1

      I used to run the X version of netscape on my OS/2 box years ago. That was the first setup I used with the web. Having the only OS/2 box in the company had me scrambling to get web access. It was easier to run it on an AIX box down the hall using X then to try an run the poor excuse for an OS/2 browser that was available.

      This was a nasty old proprietary X server from IBM. It worked pretty well, though it did do wacky things with the system colors sometimes.

      I also recall, nearly ten years ago, the company that did DesqView was creating an X server for DOS in an attempt to compete with Windows. I still remember their demo, which showed a Windows screen inside a window on their own GUI desktop, using X.

      --
      The cake is a pie
  37. Re:Define: 'we' by Anonymous Coward · · Score: 0
    Programming with GTK, however, is like swimming naked in a moonlit lagoon with Bo Derek. (As in, it does not suck.)
    Mmmmhh... I need to start GTK programming immediately
  38. yes. by kevin+lyda · · Score: 1

    x has problems that can be fixed with either better implementations or a slight change in the design.

    far better then building everything from scratch again. particularly since most projects seem determined to repeat the mistakes x fixes (namely platform independence).

    --
    US Citizen living abroad? Register to vote!
  39. Re:Vesa is only of use to DOS by dirty · · Score: 1

    Not 100% true. Linux is in real mode for a little bit during it's initilization, but by the time it spawns init, it's in protected mode and it's staying there.

    --

    -matt
  40. The truth is probably somewhere in between... by MenTaLguY · · Score: 1

    It's not as bad as I probably implied in my post, but neither is everything peachy-keen. The X design (and that of the current set of extensions) is hitting a wall. Rather than argue with you further, I'll simply ask you to consider the following:

    1. Here are some situations that illustrate the problems I am talking about. I would suggest that you carefully research the problems inherent in doing each of the following:

    2. Take a nontrivial X application and make it fully ICCCM compliant.
    3. Make a hand-held X terminal, or any other embedded X implentation. It has to be complete enough to display Netscape and all other popular X apps.
    4. Add antialiased fonts to X, while ensuring the following:
      • All existing X clients get antialiased fonts when using an X server that supports them
      • Retain the ability to use existing X font servers (in some cases, replacing the server is not possible, because of fonts in an old proprietary font format that certain apps require)
      • New applications will work on servers that do n't support antialiased fonts
    5. Write a word processor in X that can print, without writing your own display abstraction on top of X for the onscreen WYSIWYG display. Bonus points if you can do without the extra display abstraction for printing itself; there are relevent X standards.
    6. Implement clipboard functionality in X on par with Windows or Mac environments, while still retaining interoperability with existing applications
    7. Implement sharing colormap cells between apps (as Windows does), so those that require a large number of colors (but don't, say, palette-cycle) don't have to allocate a private colormap and cause annoying palette disturbances

    Most of these things are possible, but all of them are severely non-trivial to do. Study the relevent X standards, and try and figure out how to accomplish these things, learn what the problems are, and you will understand why I say what I do.


    ---
    --

    DNA just wants to be free...
  41. Why not Y? by Anonymous Coward · · Score: 0

    I like X. I first used it when introduced to FreeBSD. Now I use it with Linux. The improvements in supported hardware have had a tremendous impact. X is really what has brought Unix back to the fore as a contender against Windows. I have always contended that it was the Graphics that brought a following to Windows. This doesn't mean I don't think someone should create "Y". What if Linus had said "hey, there is already too many Unix systems out there. Why can't we just use one of them". I could give numerous other examples in both the OpenSource and commercial enviornments. If someone beleives there is a better way and wants to pursue that course than I support him. I only hope that it will be compatable with existing standards.

    1. Re:Why not Y? by Bouncings · · Score: 1

      Too late. The Y Windowing System already exists. It's like X only better.

      --
      -- Ken Kinder ken@_nospam_kenkinder.com http://kenkinder.com/
  42. Windows Comparison by Soko · · Score: 1

    Let me start by saying I am not really a programmer, nor a regular *NIX user. Just a somewhat educated observer, who has dealt with the other end of the screen, by setting up a lot of NT stations, some UNIX Boxes and even some Macs for CAD, page layout etc.

    Seems to me that X is a little too far from the hardware to perform well. It's also terribly inconsistant. That's one reason that CEOs, CIOs and other have relegated Linux, *BSD and other unicies to the highly technical user or the server room. They want productivity, they want conststancy, they want to be sure someone can sit down and get to work right away. The NT4 GUI is consistant (though ugly) and fairly close to the hardware accelerator, which is a major reason people use it. Also, it has very consistant APIs and graphics libraries. And if the hardware driver is written properly, it's even stable.

    I look at X, and think "An X server. K. Why?" With all the hardware accelerated graphics out there, I want my display on my own machine. Only a machine that has no display capabilities should need an X server. The X client should be able to directly hook into the hardware driver. If I were to design a graphics sub-system, I'd do it like this:

    Driver>Shim>GUI. Why the Shim?

    On an App that serves out graphics:

    Driver>Server>Protocol>Client>GUI.

    Every system that runs X DOES NOT NEED to be able to send graphics through a network.

    And BTW, pick GNOME, KDE, Motif or something, and turf the rest. Or at least pick a standard library - again, like NT. Make the UNIX GUI a known quantity, and users and developers will flock to the screen...

    --
    "Depression is merely anger without enthusiasm." - Anonymous
  43. Re: X just needs to make Sound a part of xlib by Anonymous Coward · · Score: 0

    The big missing feature in X is networked sound. Sure, there are other hacks and seperate API's to do networked sound, but they are not an integral part of the X protocol and therefore will never be universally supported.

  44. Re:X and whatnot by Anonymous Coward · · Score: 0
    X is NOT a GUI.. It is simply a display driver.. I can make my GUI look like Windows, like a Mac, or anything else I wish.. That's the BENIFIT of X.. Moving the GUI away, and providing an extendable way to display things.

    and when you graduated from kindergarden, people will be more impressed with your trivia.

    http://art.net/Studios/Hackers/Hopkins/Don/unix-ha ters/x-windows/disaster.html Xah xah@best.com http://www.best.com/~xah/PageTwo_dir/more.html
  45. QNX has an interesting GUI by bobm · · Score: 1

    My problem w/ X is the size, it would be nice to have the same code (or a subset) of it running on my pda and on my desktop and to be able to share apps, etc.

    You'all should look at the white page on the QNX photon gui. Really small and allows neat stuff like dragging an app from one system to another and have it still run.

    The downside is that it is not anyway near open source. It would also need an Xlayer to be backwards compatable but if you presented an Xlayer as a module that was used w/ old code and no Xlayer w/ new code neat things might happen.

    My biggest gripe is that it seems that _nobody_ cares about performance much anymore (just buy fast hardware/network or more memory is not caring).

  46. Re:TERMINOLOGY WRONG by esper · · Score: 1
    A machine with no display doesn't need a x server as there is no display to serve to programs. Most people get confused about this terminologiy at first (it does seem backwords) but after you look at it closely it make sense, and you soon realise the other way while more obvious is wrong.

    Actually, I've spent a fair amount of time wondering why X uses the terms 'client' and 'server' to mean the opposite of the normal usage in any other context. Would you mind explaining how it makes sense?

  47. Re:Long Live Y ? by UnknownSoldier · · Score: 1

    I found berlin at:
    http://www.berlin-consortium.org/

    But does anyone have a link to Y ??

  48. Re:Long Live X by Anonymous Coward · · Score: 0
    The X design absolutely, unequivocably sucks otherwise. It's a mish-mash of extensions, each making up for design deficiencies in the layer beneath it. It's like what was already be an ugly suit, but there's hardly any original fabric left -- it's been so worn and patched that it's all patches on patches on patches.

    There's a name for this: shit pile. Once it starts to stink, pile another on top. It works! and that's all it really matters. (X fans, please feel free to quote me on that)

    Xah xah@best.com http://www.best.com/~xah/PageTwo_dir/more.html
  49. I'm not sure it does... by qnonsense · · Score: 1

    ...or at least we don't know the ending yet.

    --
    There comes a time in every man's life when he must say, "No mother! I do not want any more Jell-O!"
  50. Re:Vesa is only of use to DOS by Paul+Jakma · · Score: 1

    there's another mode, vm86 mode, which is spefically for running 16bit code within a protected mode enviroment. it provides a virtual real mode.

    windows9x/nt use it for dos compatibility. Linux supports it to a certain extent to help dosemu. Freebsd has more generalised support for it iirc.

    --
    I use Friend/Foe + mod-point modifiers as a karma/reputation system.
  51. TERMINOLOGY WRONG by bluGill · · Score: 1

    A machine with no display doesn't need a x server as there is no display to serve to programs. Most people get confused about this terminologiy at first (it does seem backwords) but after you look at it closely it make sense, and you soon realise the other way while more obvious is wrong.

    Maybe you don't need to send your graphics over the network, but I do, and I need it often. Here at work for instance every one of us requires a top of the line Sparc machine for some graphics tasks, but we only need them for a few hours a week. I got a sparc on my desk, 8 other people use X to access my machine when they need the cycles. Since they are already on my machine often, they do the rest of their work on it too, allowing them to have cheaper machines on their desk. (unless they are doing this CPU intensive activity they never put much load on the machine, there is plenty of power, and we are not wasting an expensive machine on one each desk)

    You seem to be stuck in a home enviroment with one high power comptuer to person. It appears you want to play games [a guess, there is noting otherwise to indicate that]. If that is your situation, X leaves a lot to be desired, it is slow. It isn't my situation though, I have one high powered machine at home, and many low powered machines.

    BTW, most X servers support not sending graphics through the network when the display is local, this capability should be enchanced and taken advantage of by games.

    1. Re:TERMINOLOGY WRONG by kps · · Score: 1

      Sure. Compare it to, for example, a database.

      Database client: "Excuse me, but, if you wouldn't mind, could you mark record 27B/6 as 'completed', please." Database server: "Sure thing; marked it is."

      X client: "Excuse me, but, if you wouldn't mind, could you draw me a rectangle please? Just a little one." X server: "Sure thing; drawn it is."

      What I don't understand is why people think X uses the terms backwards. Would someone mind explaining?

  52. Re:What would help... by spitzak · · Score: 1
    No way! One of the big wins of X is that it does not try to implement any GUI components. If it did, X would look precisely like it did in 1983 and it would be very very lousy!

    I also don't understand this weird belief that users are somehow "confused" by buttons that are different colors or have somewhat different patterns of pixels around them. I would like to see an actual example of such a confused user. In fact I think having the applications be somewhat different in appearance helps considerably in identifying which window belongs to which, and avoiding the gray mess that is a Windoze desktop.

    This is not to be confused with the "different actions" problem that plagued X, like toolkits disagreeing about what each mouse button did in a scrollbar, and editors that disagree about what each key does. This was (and still is) a horrid problem for X, but it *is* being solved, mostly by the deletion of stupid things from toolkits, and without making the X server enforce it!

  53. Re:Linus Torvalds on Modularity by Anonymous Coward · · Score: 0

    The news articles between Linus and the Minix guy (forgot his name) can be found on the kde site last year I checked. It's probably still there. In essence, Linux is being moronic in the usual unix tradition.

    Xah
    xah@best.com
    http://www.best.com/~xah/PageTwo_dir/more.html

  54. Re:Hello? by ~k.lee · · Score: 1

    It would take YEARS to replace X....YEARS! It has a decade and a half thus far to build it, how are you going to replace such a thing over night???

    This argument is specious. Unix has been around since 1970. Yet Linux matured into a viable alternative to commercial Unices (SCO, for example) a mere 5 or 6 years after it was born.

    The time it takes to duplicate or surpass the functionality of a system bears little relationship to the age of the system.

    maybe 10 years from now it will have surpassed the X of today. But then were is X going to be, and were WOULD it have been had those people added some input and made X better?

    Another specious argument. The GNOME/GTK people could have decided to make, say, an extended version of FWVM/Lesstif. However, they didn't: they decided to write something better from scratch. I think most people would agree that RedHat 6 demonstrates that they made the right decision. If GNOME isn't completely up to spec yet, it soon will be.

    OTOH, I believe X is here to stay, for the same reason that the x86 instruction set is here to stay: momentum. That doesn't mean that good hackers everywhere can't have hopes and dreams about creating and using something more technically elegant. Eventually, the next-generation window system may even take over, just as Merced/McKinley and its successors may eventually make the x86 a thing of the past.

    ~k.lee

    --
    (remove nospam for email)
  55. Oh god, attack of the loonies by nathanh · · Score: 1

    It's really strange. If someone said "is Linux ext2 the way of the future?" then nobody would pipe up. People would realise that they don't understand the issues well enough to comment. But ask "is X the way of the future?" and suddenly everyone has an opinion, whether they've ever written X code in their lives be damned. Writing a DOS starfield demo in assembly does NOT make you the leading expert on platform independent windowing systems.

    But look at the "reasons" given by the X haters and the revolution wanters!

    X is hard to setup: here's a clue, this has nothing to do with X, it has something to do with PC hardware, changing windowing system isn't going to solve this.

    Xlib is hard to write: it's hard to write anything if you use the lowest layer possible. Try using the appropriate API layer for the task, not the absolute lowest layer possible.

    X doesn't support (alpha blending, multiple keyboards, 3d window managers, virtual 3d glasses, my thrustmaster joystick, insert crackpot feature here): guess what, X version 1 didn't support colour! Things evolve. Linux 0.4 didn't have a TCP/IP stack and Linux 1.0 had flaky support for pretty much any hardware you had available, would you have been crying "Linux is not the future!" back then?

    X is slow because of (crackpot self-formed opinion that has never been verified by tests, and never will be because crackpot suggesting person has no idea what they're talking about): here's what illuminary Keith Packard has said about the matter.

    This implies that the entire X window system, including TCP/IP, is faster than the lowest level of a typical NT graphics driver. Even when the target is an ancient NCD X terminal (nearly nine year old technology).

    Now Keith doesn't stop there. He points out that half the problem with X isn't X itself, but the very stupid widget sets (Xt, Motif, even GTK) that waste too much time in expose events.

    If people who whined about X performance ever had some figures to backup their claims (and not just lines/second under WinNT and lines/second under a XFree86 driver, I'm talking definitive proof that X is the fundamental slowdown, not a badly written driver, or a badly implemented X server) then they might have an opinion worth listening to, but the "X is slow" crowd seem to have nothing to offer but hot air and loud mouths and NO HELPFUL IDEAS OR PATCHES.

    Here are some real clues. XFree86 4.0 has support for TrueType. It has support for multimon (multiple desktops over multiple monitors). It has support for Xinerama (single desktop over multiple monitors). It has Xinput (joysticks, tablets, mice and whatever). It has DGA 2 (resolution AND depth switching on the fly, direct framebuffer access as fast as SVGALIB). It has DRI (bypass X pipe to avoid layers of inefficiency when doing hardware accelerated graphics). It has Xv (X knows about hardware which blits over your framebuffer, like TV capture cards). It has modularised drivers (so you can easily add support for your video card, and the documentation on how to do so is easy to follow). It has one of the most efficient ways possible of communicating in an ORDERED fashion between many clients and a single framebuffer (local sockets). It has some of the smartest brains in graphics history working on it, and these people know what they're talking about, unlike half the rabble who have replied to this slashdot topic with their own uninformed opinions.

    Afterall, Linux has it's flaws as well (and I'm not talking INSTALLATION or PENGUIN GRAPHICS WHEN IT BOOTS, I'm talking about the SCSI MIDLAYER and the ISDN LINKLAYER) but would the proper fix be to throw Linux away and write a brand new kernel? Of course not, yet a windowing system is 100s of times more complicated than the Linux kernel and it seems that people think throwing code away is appropriate here. All that implies to me is that the X haters have no idea what they're suggesting.

    I advise people shutup about things they don't understand. If there is a problem in X, try fixing it, rather than complaining about it, or suggesting that the proper fix is to reimplement the 100s of 1000s of man hours of design, testing, coding and fixing that has gone into X.

    1. Re:Oh god, attack of the loonies by Anonymous Coward · · Score: 0

      Great post, but try not to be so rude, it never gets you any where.

      People want to throw X away because it has some really bad backward compability issues (See Unix Haters). It's just alot of patches over other patches to make up for original mistakes.

      I can give you one example of how slow X is, I've never seen a smooth moving mouse pointer. Try it I promise you that it will lag behind (small but you'll notice). Then try running 'xgc' with the copy/clip tests, very few xservers (I haven't seen any yet) manage to do those stress test and have even a remotely operational mouse pointer. The Mac really has a smooth mouse pointer (except when you access some disk, eg. a floppy), and the Amiga.

      I don't hate X and I agree with you on alot of issues, but X sure as hell isn't the greatest thing on earth it could be if some one decided that there should be no more backwards compability.

  56. Re:Yes, but there are some caveats... by Armspazm · · Score: 1

    Well said.

    If Windows9X or NT used XFree86's X server as its GUI, there would be more people pointing this out. You have to truely love Linux to be able to point out it (and its components) flaws in order to make it better.

    Imaging Windows running with XFree86, people would say that it is running on an arcane legacy code that MS kept in because they cannot truely innovate anything from scratch. And that it is so slow and clunky. That it is difficult to use because of its poor design.

    I feel that this extend X can only make it worse. I also don't know why anybody pointing out a problem in Linux is always flamed for being to stupid and that they should be smarter and overlook what they think is a problem in Linux because it is Linux.

    Just my thoughts on the matter.

  57. Re:The two views on X by Anonymous Coward · · Score: 0
    This thread is going to re-hash everything that was discussed here last week and the week before then, is it? I guess that's appropriate, since the article that started these comments also seemed to disregard it

    Oh, for that you can thank people like slash dot and OS opinions, where cheesiness are preferred over quality, and rumors and stupidity are encouraged to replace thinking.

    Thank you slash dot for spreading the unix way of things.

    Byyyy the way, lovely slash dot does not support the 'pre' tag, but supports the fucking obsolete 'tt' instead. Good work rob and hemos. Party on. Drink more beer. Live long and prosper.

    Xah xah@best.com http://www.best.com/~xah/PageTwo_dir/more.html
  58. *ahem* by MenTaLguY · · Score: 1

    1. X clients on the same machine as the X server use the shared memory extension and not translated over the wire.

    Wrong. Show me something other than a game that does this for anything but displaying bitmapped images. Local or not, most operations still take a trip through a socket, Unix domain or otherwise. The only way you'll get the majority of graphics operations in a typical application to go through XSHM is to reimplement the entire set of X drawing primitinives yourself in your application, and scribble on the shared bitmap directly. And if you do that, you don't get to take advantage of availible 2d acceleration, either. It might actually end up being slower on a good accelerated X server.

    2. CORBA is largely a glorified RPC hack that requires socket round-trips for each remote request (can you say slow?). Oneway calls don't help you here as they are unreliable by design - read OMG's CORBA specification. Each of CORBA's on the wire requests has a big header which includes the name of the remote function name - in ASCII no less! The longer the name of the remote function - the longer it will take to process the remote request. This cannot possibly be more efficient than a finely tuned graphics-specific protocol such as X11.

    Variations in function name length aren't going to have an appreciable effect on performance. Worst-case, you look up the function in a hash table, but most common hashing algorithms are _not_ slow. I can see where some of the other header crap might have an influence, but again, the whole idea is not to couple the client and server as tightly over the network as is done in X.

    X11 isn't exactly finely tuned either (although it's certainly lighter than IIOP for what it does) -- that's why we have lbxproxy and friends. But anyway, the point is not to have to do an over-the-wire request for each drawing primitive. Look at the design of something like NeWS if you don't believe that very very minimal communication between the client and server is possible when drawing things on the screen and related things.

    3. A CORBA call will only be native if the server code is physically linked into the client binary - either shared or staticly. This would make the process size of your CORBA clients much bigger than the current X client/X server model, and resultantly with many process - much slower.

    Actually it's the other way around -- things get loaded into the server, not vice versa. (*cough* NeWS *cough*) (which is not to say that everything must be in-process)

    Additionally, you are aware that shared libraries only get loaded once under any self-respecting Unix? Memory usage from the text segments of the library isn't going to significantly increase after the first couple processes load the library. Admittedly, I'm not sure about working set size in general.

    Time and benchmarks will determine which of us is more correct with regard to performance considerations, but I do know you can throw out the sundial right now.


    ---
    --

    DNA just wants to be free...
  59. Re:Quake2 on a remote display by Pascal+Q.+Porcupine · · Score: 2

    Depends on your definition of "fine," I suppose, and whether you're on 10baseT, 100baseT, gigabit, etc. Anyway, I wasn't saying that Quake2 doesn't support remote display, but it generally is a bunch of suck.
    ---
    "'Is not a quine' is not a quine" is a quine.

    --
    "'Is not a quine' is not a quine" is a quine.
    Quine "quine?
  60. Re:Want to 'replace' X? Go nutz by John+Allsup · · Score: 1

    You've bumpoed into the 'Rolls Royce over night' problem -- one person alone can't code that much...
    John

    --
    John_Chalisque
  61. Take one step forward -- and drop X by John+Allsup · · Score: 1

    How exactly does one extend X with features such as

    1. Elegant minimalism
      The Archimedes could put the entire basic windowing system into less than 1MB of RAM. Why not do that for the drawing infrastructure, and then bolt on an extra 100Kb of RAM requirements for the networking -- and then dedecate another few Mb of RAM for image cacheing, texture cacheing, VM workspace etc. -- X requires too much memory on both the client and server end (whichever they are) -- the only difference with X these days is that the requirements are tolerable.
    2. A single unified font subsystem that understands font metrics correctly...
    In short -- extending an existing architecture CANNOT make it any leaner
    John
    --
    John_Chalisque
  62. Re:Not fast enough. by John+Allsup · · Score: 1

    The other (IMHO better) approach, taken by NeWS, was to allow the server to be dynamically extended with a (Postscript) VM (like the way that JAVA classes can be dynamically loaded).

    The window management was customisable, but ran inside then display -- rather than over a network connection

    My take on this would be to represent most GUI controls abstractly, let the display handle drawing them, and then allow for high performance streaming through the display system.


    John
    --
    John_Chalisque
  63. Re:Disgraceful advocacy by Mark Stanford by Anonymous Coward · · Score: 0

    >Mark Stanford should be ashamed of himself ...

    and there's a saying that programer cannot write. We have Larry Wall, Tom Christensan, and slash dot folks leading the cause. Now we must add Mark Stanford. Congrat, Mark!

    Xah
    xah@best.com
    http://www.best.com/~xah/PageTwo_dir/more.html

  64. Stuck in home environment by jflynn · · Score: 1


    If Linux wants to dream of world domination it will have to account for the fact that most users
    are "stuck" in a one computer home environment, and worse, the majority of them are interested in playing games.

    I'm not arguing against X, I don't know enough to make a case. Speed and bandwidth issues are probably going to be less important fairly soon anyway. I do think that there is a lot of interest in high performance graphics in the worldwide computing community, both by home users and scientists.








  65. Pot, meet Kettle by Anonymous Coward · · Score: 0

    If someone like Rob Pike calls X bloated and slow, you just think, well, he would say that, wouldn't he?

    But if jwz thinks it's bloated and slow, well, there's someone who knows bloated and slow inside out and backwards.

    Me, I think I can live with slow. If Netscape wants to wait a minute and a half before it gets around to drawing a page, that's fine; I'm sure it's doing something vitally important, and I can always use another cup of coffee. Gods know I can't go for coffree during compiles any more these days, what with 10k lines built before my finger leaves the return key.

    But if it wants separate I&D, it's too damn big for my taste.

  66. Re:Long Live Y ? by Tim+Moore · · Score: 1

    http://terror.hungry.com/products/Ywind ows/

    Not much there yet, it seems.

  67. X is too big by TedC · · Score: 1
    I don't really know enough about X to comment, but I see that hasn't stopped anyone else, so here goes...

    I've done almost all of my X programming with either Tcl/Tk or TeleUSE, and haven't really dug into X itself. There's a reason for this -- X is huge. I'd have to erase 15% of my brain to find room to store all that information.

    Maybe they should think about cleaning up the API a bit, and deprecating all of the less useless stuff. It's starting to look like the Windows API.

    TedC

    1. Re:X is too big by srix · · Score: 1

      X is certainly big. What I would like to see is an alternate X (maybe Y will do that?), which is slimmer and has a subset of X functionality. Don't we all complain about the unwanted excess baggage M$ imposes on us? For a true desktop PC, why have all those features of being able to display remote processes screens on your display? We shouldn't go for a "one size fits all" policy.

      Remember: I'm NOT saying X should be replaced - only that we should have a choice of a slimmer and meaner alternate windowing system. Isn't that what "free" is about?

  68. Re:Vesa is only of use to DOS by Anonymous Coward · · Score: 0

    Couldn't the framebuffer drivers intialise the gfx card, allowing a fb X server to use the VESA modes?

  69. X: The First Fully Modular Software Disaster by 1010011010 · · Score: 1

    > X is not THE future, but X is a future. It is
    > extensible. It is modifiable. It works well.
    > The things is does not do, it can be made to
    > do.

    Yeah, and being conquered by Castro and eating dirt for a living is also a future.

    > You're all going to repeat after me 100 times:

    "X is a hunk of shit."

    ...

    Excerpts from:
    http://art.net/Studios/Hackers/Hopkins/Don/unix- haters/x-windows/disaster.html

    If the designers of X-Windows built cars, there would be no fewer than five steering wheels hidden about the cockpit, none of which followed the same principles -- but you'd be able to shift gears with your car stereo. Useful feature, that.

    - Marus J. Ranum, Digital Equipment Corporation

    ...

    * The Motif Self-Abuse Kit
    Recipe for disaster: start with the Microsoft Windows metaphor, which was designed and hand coded in assembler. Build something on top of three or four layers of X to look like Windows. Call it "Motif."

    ...

    X Is "Customizable" ...And so is a molten blob of pig iron. But it's getting better; at least now you don't hasve to use your bare hands.

    ...

    Myth: X Is "Portable" ...And Iran-Contra wasn't Arms for Hostages.
    Even if you can get an X program to compile, there's no guarantee it'll work with your server. If an application requires an X extension that your server doesn't provide, then it fails. X applications can't extend the server themselves -- the extension has to be compiled and linked into the server.

    ...

    A task as simple as filing and stroking shapes is quite complicated because of X's bizarre pixel-oriented imaging rules. When you fill a 10x10 square with XFillRectangle, it fills the 100 pixels you expect. But you get extra "bonus pixels" when you pass the same arguments to XDrawRectangle, because it actually draws an 11x11 square, hanging out one pixel below and to the right!!! If you find this hard to believe, look it up in the X manual yourself: Volume 1, Section 6.1.4.

    ...

    AND WHAT IS YOUR FAVORITE COLOR?
    favorite_color = 0; /* Black. */
    /* Whoops! No, I mean: */
    favorite_color = BlackPixel(display, DefaultScreen(display));
    /* AAAYYYYEEEEE!! */

    (client dumps core & falls into the chasm)


    ...

    Programming X-Windows is like trying to find the square root of pi using roman numerals.


    --
    Napster-to-go says "Fill and refill your compatible MP3 player", which is a lie. It's not MP3. It's WMA with DRM.
  70. "The best is the enemy of the good." by Anonymous Coward · · Score: 0

    Milton Friedman was right about that. Is X the best possible GUI? No, and I don't think anyone here will argue that it is. However it is a dman good one, and while I don't understand the tech details all that well, it has the following advantages from the user point of view: * strong programmer support (lots of apps, utilities, windoze clients, etc) * established standard * portability, both in itself and in its apps * flexibility * stability (at least compared to its major competitors) * maturity * wide range of widgets and window managers available An upstart would have to have massive funding and brilliant design to even approach that set of advantages. And the relative advantage would be small. In addition, the two most common gripes about X, that it is ugly and difficult to configure, are not fundamental characteristics of X. The first is the fault of the most common widget set. The second is fixable with a well-designed setup utility, which is a whole lot easier to build than a whole new GUI, and much more fundamentally useful.

  71. Re:Pedantic and preachy, but agreeable by IkeTo · · Score: 1

    > I'd really hate to try running Quake2, even
    > through GLX, on a remote display. The latency
    > would be absolutely *horrible*...

    Yes, you may find it too slow. Someone will, someone won't. But if the program code complain and exit immediately on servers without share memory, the user has no choice. He won't even be able to see whether it is "too slow" for him.

    > (since there's absolutely no way to do that
    > server-side without relying on GLX, which, if it
    > doesn't exist on the server, needs to be done in
    > software on the client leading to - guess what -
    > bandwidth! AND horrific CPU/memory usage!).

    Then why don't implement a GLX module on every X implementation instead of building a new thing? And of course, if the lack of GLX lead to large bandwidth requirement, that "large bandwidth requirement" is the "minimum requirement" for that system, and nobody is going to charge you wasting bandwidth.

    > any extensions ... lead to the exact same
    > situation, namely a shitload of X servers which
    > won't be able to run these programs.

    The difference being that at least I can continue to run my old applications, and I can hope to be able to run the new program together with the old ones. If I want some new extension, I just need to write that, instead of a whole new windowing environment.

    > you can't talk about its total acceptance and
    > suggest making new protocol extensions either

    You can. Not every people need the same set of extension. I, for one, never need any input extension, and never load the PEX module into my server. That doesn't mean either is not being accepted. I'll find it when the need arises. Being extendable is a beauty of X, not a baggage.

  72. Linus' comments on modularity? by Azul · · Score: 1

    Which are Linus' comments on modularity?

    I'm developing a higly modular application and would like to read them. Could someone please point out where can I find them?

    Thanks.

    Alejo.

  73. I like X but I like VNC a lot better by florin · · Score: 1

    Okay so actually I do run X, but only over VNC. If the connection fails (modem hangs up, isdn brainfart, cable modem block sync failure, whatever) I can just reconnect and all my programs will still be running. That for me makes all the difference between a usable system and an unusable one. I mean, it takes long enough for my desktop to load over a slow link (even with LBX), having to restart all my programs too is just too much. VNC fixes that fine and as a nice bonus it can also share Windows desktops. Clients are available for Unices, Windows, Mac and Java, so given half a web browser there's really no place you can't use it from. And it's just a snap to set up, compared to X' security, and probably more secure at that, at least authentication is encrypted. It's relatively speedy too, using compression by default, and to top it off the source is available.

    If you don't know it, here's the link to VNC> . I am completely in love this program. What does this have to do with X? Well, even though X may be a whole different beast from a design point of view (VNC just transfers images from the frame buffer, no remote graphics calls), VNC through its pervasiveness and ease of use is much better at showing just how useful networking computing really can be. It also highlights some of the biggest problems with X (or at least some of mine).

  74. What's this guy smoking? by acb · · Score: 1

    Motif and CDE "beautiful interfaces"? More like baroque, committee-designed monstrosities.

    "Stick to just Xlib and Xt?" Eugh. I'll bet this guy has never written a real GUI program. (Xt is painful to program in.)

    X makes a decent, functional substrate, but it must evolve. In particular, the GUI toolkit layer needs improvement. And the market has spoken; most new applications use Gtk or Qt, rather than Xt-based systems. Motif itself appears to be, mercifully, on the way out.

  75. Re:future != X??? by warmi · · Score: 1

    X superbly designed ... hmm, the forgot to include couple things that make programmers life very difficult ( like for example much better ways to query current WM ,etc)

  76. Re:Hello? [OT] by Anonymous Coward · · Score: 0

    But Merced is deigned to be backwardly compatible with x86... you're defeating your own argument.

  77. Re:Who is Mark Stanford? by Anonymous Coward · · Score: 0

    I have an interested vest.

  78. Re:Who is Mark Stanford? by Anonymous Coward · · Score: 0

    Vested interest in what????? X is a free standard....no profit to be made off of endorsing it....

  79. Streaming vs. RPC by Anonymous Coward · · Score: 0

    I have to say I agree with guy who is arguing that Berlin will be slower than X ...

    The way I see it it's quite simple:
    CORBA is appropriate for high level stuff where transfer optimisation is not an issue, but no matter how much you try to reduce the frequency of events in your model, for something dealing with low-level GUI, you are just not going to get away with this.

    CORBA is RPC based, X is fully streamed.

    Okay streaming is generally less well understood and harder to implament, but gives you much better performance when you do it right...

    My feeling is that you have to start out with the most appropriate tools for the job i.e:

    RPC for application level IPC etc.
    Streaming for low-level/heavy-load stuff...

  80. Re:If you don't like X, help XFree people to make by dmiller · · Score: 1

    "If you don't like Fords, help Ford make a better car!"

    Screw that. We'll write our own windowing system and let X people back-port our code to their lame-ass "UI".


    Great attitude - considering that most of the work that goes into the only usable free windowing system from Unix is done by volunteers, your attitude demonstrates at once a lack of both respect and clue.

  81. Re:What would help... by Anonymous Coward · · Score: 0

    What you are referring to is a toolkit. The problem is in X itself. X doesn't specify how to draw complex items, like buttons and scrollbars. The X protocol lets you say "draw a line here, put a white pixel there, etc." The layers existing on top of this (Xlib) are things like Xt, Motif, Gtk, and Qt, which as you've already mentioned, don't all look alike. With the X design, the only way to have a consistent appearance to widgets is to use the same toolkit for each and every application, which isn't likely to happen anytime soon. The problem is that the X protocol just isn't high-level enough. It's extremely flexible because it's so low-level, but this flexibility has led to the great discrepancies in widget appearance from one application to the next (if they use a different toolkit). The real solution to this sort of problem is to not communicate requests to the server in terms of pixels, but common objects that any windowing system should support. A button is a simple thing. You should be able to tell the server, "draw a button in the middle of the window," and it will draw one. Now the application can no longer control the actual appearance of the button, but this isn't a bad thing. Now the user has that control. Just tell your server what you want buttons to look like and then all clients will have consistent buttons (or any other widget). The main problem with this approach is that you have to assume that the server will support every widget type you could ever want to use. This is actually less problematic than it seems at first since most new widgets are just compositions or specializations of existing ones, so that given a good enough starting set, you can construct what you need, and if it seems like something that would be genuinely useful to many, you can submit it for inclusion in the server. If you've read anything about Berlin, this should be familiar.

  82. Re:summary by Anonymous Coward · · Score: 0

    I agree that the X11 protocol is not optimal, but each message is on average 25% of the size of the IIOP/CORBA equivalent. IIOP's request header is ridiculously large for what it does. Fast operation string hashing algo or not - nothing beats an int lookup as is the case with X11's protocol. You cannot dispute this.

    There's one thing you don't realize: Berlin's exposed API easily reduces the number of calls that need to be made, in a stringent case, by a factor of ten. In most cases this number is much more generous. One marshalling op and IIOP header can easily win in comparison; all that's needed is a little foresight in designing as coarse an API as is practical.

    Remember, we're transmitting calls on the toolkit level here, not meddling with primitives of the drawing engine (like X forces you to). With a bit of hindsight, some of us have decided that the interoperability we gain by using CORBA far outweighs the overhead of the protocol.

    Also keep in mind that nobody ever spent any great deal of time profiling and optimizing interviews or fresco. These were both developed during the time of 386s and 286s, and being way ahead of their time, were purely theorhetical. So please don't cap Berlin's potential in your mind by looking at Fresco's ineffeciency.

  83. Re:X12 or G-Windows? by IntlHarvester · · Score: 2


    Don't blame the Open Group directly - blame the stakeholders in the Open Group, aka the commercial UNIX vendors (Sun, IBM, HP, et al.)

    There's a good argument there that the UNIX boys have decided to roll over and play dead on the desktop. Stagnating X development is just part of the problem. Why bother improving the capabilitites of your clients when you can make boko bucks selling huge database servers to serve Windows clients? Nothing, until Microsoft starts to eat your server lunch.
    --

    --
    Business. Numbers. Money. People. Computer World.
  84. Fake object oriented? by Brian+Feldman · · Score: 1

    Excuse me, but since when does a programming language make code inherently object oriented or procedural? There is nothing preventing any decent programming language, including C, from being used for object oriented design.

    For instance, note that GTK+ is a truly object oriented toolkit. It's written in C because C++ is truly horrible and would prevent it from having lots of bindings it can have with C. The bloated class system of C++ is simply unnecessary for anything.

    GTK+ is wonderful. It provides a fast, flexible, pretty (see GTK+ themes), and very portable. Don't try to explain that something cannot be object oriented because of the language it's written in. Think about it: any language will be used as machine code. Machine code can be anything you want, object oriented or procedural, depending on how it's written. It does not depend on C++ or any other "object oriented" language.

    --
    Brian Fundakowski Feldman
  85. X11 is an engineering disaster by renaudw · · Score: 1

    This article is laughable. I will debunk myself only a couple of its claims, but do yourself a favor and read the X11 chapter of the Unix-Haters Handbook . They do a much better job than I could even if I really tried.

    X [is] beautiful from an engineering standpoint. It functions excellently on networks and uses shared memory to efficiently coexist with programs running on the same machine as the X server.

    [...]

    A specialist in California can run a program on a computer running IRIX in Japan and display it in the comfort of his own home on his Mac--complete with high quality 2D and 3D imaging--securely and even over a low bandwidth link.

    Ahahahahahahah! This one is actually funny! What do you think he calls a "low bandwidth link"? I hope it's not some kind of phone line, because last time I tried to use xv (your basic image displaying program) with a modem, I almost threw the computer out the window. Try it for yourself, it's impressive... in slowness. Even with custom "compression protocols", X is a bandwidth (and memory) hog.

    "Securely"??!!! You mean that the ugly hack known as MIT-MAGIC-COOKIE is considered secure? Who are we trying to fool here?

    I'm sorry, X sucks. I've never seen anything quite as bloated and slow. The only reason everybody uses it is because there really isn't anything else. The only good thing about X is that it's not integrated in the OS and I can do without if I want to. Oops, wait, that's because it's running on top of Unix.

  86. .Xdefaults by Eric+E.+Coe · · Score: 1
    Maybe something like:
    *background: LightSteelBlue
    ?

    I tried this out and it worked fine with several generic X apps (xcalc, xterm, xmessage).

    Granted, it doesn't work with every app, only with those that follow the prescribed X usages and protocols, in this case in terms of resources - but that was the guy's point, anyway.
    --

    --
    An esoteric scratched itch:
    Homeworld Map Maker Tool
  87. Re:Do GTK and QT use .Xresources? by Anonymous Coward · · Score: 0

    They don't. See themes.org for more information.

  88. Re:Sure, X is great, but.... by Eric+E.+Coe · · Score: 1

    This is an example of bad, nonstandard programming for X. Programs should have compiled-in fallback resources such that if the defaults file is deleted or renamed, then app will have a usable, if vanilla, interface. If the app requires an external resources file to function then the developer was just lazy (and yes, I have come across such - it's very annoying).
    --

    --
    An esoteric scratched itch:
    Homeworld Map Maker Tool
  89. Re:The two views on X by ph43drus · · Score: 1

    There's one more camp in there.

    4. Was brought up on Command line, and thinks that _all_ GUIs are bloated and mostly unusable, and doesn't like X programming because it is so damn complex and slow.

    Besides, the vast majority of things are better done on the command line (the notable exception being graphics applications). Oh well, I guess I'm just a heretic of sorts (even though I'm only 17 and I'm one of the newer generation of Unix nutcases...).

  90. Re:Vesa is only of use to DOS by Anonymous Coward · · Score: 0

    Yes, they can. Use vesafb and XF86_FB. The drawback is that you can't change the modes anymore (since mode changing is a real-mode-only function).

  91. Re:What would help... by Anonymous Coward · · Score: 0

    This is handled better by toolkits like GTK, because you can use a standard widget if you want, or write a custom widget, both of which will be globally themable (to coin a buzzword). You don't need to submit your widget for inclusion in the standard distribution if it won't be of use to anyone else.

  92. BERLIN by Anonymous Coward · · Score: 0

    FACT. The current Berlin project has nothing to do with the original Berlin project. The original Berlin project (of which I was a member of their mailing list) was a fast, highly optimized system written in C with its own graphics kernel. The two founders of the project left years ago. The original system even had a crude graphics kernel with Japanese characters in its test page and a heap management system for managing applications (like Win32). FACT. The current project is a fraud perpetrated by people that had no authorization to use the name Berlin, neither did they invent the project, nor did they contribute any code to the original project, nor does it even come close to any of the goals of the original project. The current project is a cheap "piece-meal" of other projects (corba, OpenGL, etc.) to produce a windowing system, NOT an original implementation of a windowing system from the ground up, as was the original project. DO NOT SUPPORT BERLIN.

    1. Re:BERLIN by Diskena · · Score: 1

      Yes, I remember my enthusiasm after seeing the original Berlin webpage: "Hardware acceleration makes all the difference", "Assembly language is fast" etc. Now it's just an overengineered bloat-vapor-ware.

  93. summary by Anonymous Coward · · Score: 0

    I concede not all X11 operations use XSHM, but the most important/bandwidth expensive ones do, like bit maps, etc. (Qt, for example, is not slow with client and server on the same machine)

    I agree that the X11 protocol is not optimal, but each message is on average 25% of the size of the IIOP/CORBA equivalent. IIOP's request header is ridiculously large for what it does. Fast operation string hashing algo or not - nothing beats an int lookup as is the case with X11's protocol. You cannot dispute this.

    Does Fresco use normal blocking (non-oneway) CORBA calls (forgive my ignorance) for most of its operations? If this is the case the socket round-trip time latancy will kill your remote performance. If use use oneway calls, on the other hand you risk not delivering the request. You lose both ways.

    As for having the complete Fresco GUI lib linked dynamically via a shared lib into the client: true, the code of the shared lib is common to all processes, but the data associated with each "instance" of the shared lib is not. I concede this point is probably not much of an issue.

    You may not believe this - but I like the idea of Fresco - it seems to be a rather elegant design. I merely disagree with its transport mechanism. Good luck with the project.

  94. Re:The two views on X by Anonymous Coward · · Score: 0

    This feature is abused.

  95. Quake2 on a remote display by sig · · Score: 1

    Actually I used to play Quake2 remotely and it worked fine, up till about 800x600, then things start getting sluggish. Running 2 copies of Quake on the same machine (don't do this unless you have plently of RAM) and displaying one on a remote machine and one on the local machine is no problem.


    cya

  96. Re:future != X??? by briggers · · Score: 1

    How exactly do you propose that 'web GUIs' actually draw graphics on the screen? You still need an underlying graphics protocol. The article was spot on - X is superbly designed. The coming extensions from Precision Insight, SGI et al, such as Direct Rendering and GLX, should eliminate the need for alternatives like Berlin, Y, etc.

    Brian Blackwell

    --
    -- briggers Remove blinkers to email me.
  97. X and whatnot by Skratch · · Score: 1

    Well, if the Linux community is gonna switch to a new GUI, we should do it either now or as soon as possible, the longer we wait, the greater presence Linux will have, and the harder it will be to change over the entire user base. Especially when the desktop battle with M$ is on the horizon, switching GUI's might not be the best thing for Linux right now. I'm not saying we should switch, I definately would, but think of the trouble it might cause newbies to have to switch to a new GUI right after they learned one "not-so user friendly" GUI. But I do think we need something better, and we could come up with a GUI that would blow all the others away...

    --

    -- My neighbors dog has a four inch clit.
    1. Re:X and whatnot by Thomas+Charron · · Score: 1

      X is NOT a GUI.. It is simply a display driver.. I can make my GUI look like Windows, like a Mac, or anything else I wish.. That's the BENIFIT of X.. Moving the GUI away, and providing an extendable way to display things..

      --
      -- I'm the root of all that's evil, but you can call me cookie..
  98. Re:Hello? [OT] by Dr.+Sp0ng · · Score: 1

    But Merced is deigned to be backwardly compatible with x86... you're defeating your own argument.

    Oh, dear god... I hope you're kidding... I thought maybe Intel would *finally* drop the whole "backwards compatibility" thing and design a chip which is free from all the shit that Intel chips have been plagued with until now.

    Of course, this is not to say that they shouldn't provide some sort of x86 emulation program (but in SOFTWARE, not in HARDWARE) so that the drooling idiots could still run the Windows 98 version of Word on their new Merced boxes, but users who don't need this (eg. Linux users) won't have to deal with the 20 year old 8088 baggage (seriously, is there a real need anymore for the Pentium III to start up in real mode???)

    "Software is like sex- the best is for free"

  99. future == X by Anonymous Coward · · Score: 0

    You can get X servers for Windows. X ought to compile on anything that can run a standard C compiler. If it doesn't, it ought to be ported.

  100. Y? by Anonymous Coward · · Score: 0
    I would like to being with: X is one of the greatest inventions ever invented. I will follow that the article linked was full of crap. No good reasons were given for sticking with X, except that we should, because its an industry standard, and things like that are good. Sucky reason.

    Standards are great, but they should never hold back technology. The clincher for me was at the end of the article where the author plead that we stick with Motif/Lesstif.. there are reasons why GNOME and KDE are around, and there will most likely be thousands of other toolkits invented after those. And _this_ is why X is so great, because we can make gazillions of toolkits/windows managers/desktop managers/etc.

    Sometimes it seems questionable of whether X should really be so network happy. Its not that its not a cool thing, but its definately a _slow_ thing. Other methods (for example, a Java scheme where applications are downloaded, and run locally) could speed things up, and allow for much much faster protocols to be used (right now everything is done through a TCP/IP stack).

    I will end by saying that the authors questioning of why we would write games with GGI/etc. shows the ignorance at hand. Obviously, as with any OS, people want high performance graphics. It is ridicolous to say that we should not allow this because the standard is there. As far as I understand XFree86 will implement direct draw, and I beleive this to be a good thing. THIS is how standards get made, and perhaps other companies/groups who make X servers will look at this, and add this feature as well. While I am in favour of standards, I am even more in favour of new and better standards.

  101. Re:Create anew or Embrace & Extend? by Anonymous Coward · · Score: 0

    "On the other hand, sometimes a product has been kludged as far as it can to work as well as possible. At a certain point, the developers need to reassess the product and how well it meets the users' expectations. When the users expect the software to perform tasks that are impossible in its current implementation, sometimes a complete rewrite is required to add a feature."

    With the full intention of igniting a flame fest, I submit that not only X, but all UNIX-based operating systems and their dependent applications have been gathering useless features, badly-designed protocols, limited IPC interfaces, hacks around limited IPC interfaces, competing standards, cruft, bloat and ugliness of all kinds for far too long, and that it is time to start again from scratch.

    I mean really from scratch. No POSIX compliance, no backward compatibility with X, no shell scripts, no teletype-style terminals, no filesystem, no vi, no suid programs, not even a lethargic penguin for a mascot.

    Hackers wanted.

  102. Here here! by Anonymous Coward · · Score: 0

    All I can say is it is about fucking time someone said all the things which I have been saying all along. "Stick with the standards!" And X is a damn GOOD standard. I especially like the part about Adhering to the ICCCM and being compliant seems these days noone cares about adhering to standards anymore...lets all invent 1000 different ways to pass data back and forth, each requiring a different set of libraries, and forget about the standard way here that actually functions and comes as part of the system....or better yet, lets not talk to anyone but ourselves and everyone will just itch to run our system because it communicates so well.

    1. Re:Here here! by Bouncings · · Score: 1
      Better high tail it outa here, reformat that nonstandard ext2 partition with that odd non-standard Linux kernel. It's not standard. UNIX is the standard, and it's a GOOD standard. Who needs Linux when we have UNIX, which is the superior standard.

      Understand the reasoning behind the standard. Standards are good, but need to be well-thought-out, not blindly adhered to.

      --
      -- Ken Kinder ken@_nospam_kenkinder.com http://kenkinder.com/
    2. Re:Here here! by Misagon · · Score: 1

      The good thing about standards is that you've got so many to choose from.

      --
      "We mustn't be caught by surprise by our own advancing technology" -- Aldous Huxley
  103. X - to be or not to be by LostOne · · Score: 1

    Granted, X is stable and relatively bugfree, but it is old. It is often handy to be able to run an application on one machine and display it on another machine and this is the major strength of X in my opinion. There is no question that it could do so more efficiently, however.

    The problem I have with X is sound. There is no standard way (that I know about) to have the sound from an application play on the display that the output shows up on. Granted, most run the applications on the same machine as the X server itself, but is that because of the lack of sound propogation or just because? (Probably a little of both actually.)

    I agree that the excess bagage that X has carried along with it through the years should be conveniently misplaced and leave a much more easily debugged and more efficient system. (That's not to mention the security needs to be rethought.)

    Well, that is by $17.42 worth for today.

    --

    If it works in theory, try something else in practice.
  104. Ick/ by Boolean · · Score: 1

    personally I hate programming in X. I sure HOPE its not the future.

    --

    If you think you know what the hell is going on you're probably full of shit. -- Robert Anton Wilson
    jdube is who
  105. Re:The two views on X by Chandon+Seldon · · Score: 1

    Could it be possibly that they don't want you using , because you could screw up the presentation of the entire comments page with it?

    Could it be that has it's uses for things like, well, HTML tags?
    Before you complain, try to figure out why it is the way it is, ok?

    --
    -- The act of censorship is always worse than whatever is being censored. Always.
  106. Re:future != X??? by Anonymous Coward · · Score: 0

    Will programs written for Direct Rendering or GLX still run remotely over a network?

  107. Who is Mark Stanford? by Anonymous Coward · · Score: 0
    The reason I ask is that while the OSO article is an just an opinion, this one is full of unsupported assertions that I just cannot buy into. For example:
    • Far ahead of its time, X has always been first and best.
    • ...beautiful from an engineering standpoint.
    • ...there is a large infrastructure of companies and developers supporting X. This means that any improvements that go in are going to be good improvements, not bad ones.
    Add to this a dash of hyperbole:
    • ...and not the Microsoft-reminiscent idea of throwing standards out the wind.
    • We must not turn to crackpot "alternatives".
    It sounds as if he has a vested interest, and it's always a good idea to know where people are coming from when you read an article like this.
    1. Re:Who is Mark Stanford? by Anonymous Coward · · Score: 0

      Funny, I thought we all had a vested interest.

    2. Re:Who is Mark Stanford? by Anonymous Coward · · Score: 0

      Who has a vested interest in maintaining X is the question. It is axiomatic that we all have vested interests when the term is used in a non-specific manner.

  108. Re:The two views on X by wilkinsm · · Score: 1

    In the beginning I was getting moderation points everyday (I was up to 15 at one point.)

    I complained that something must of been broken, but got no response. Then I went away for a long weekend and lost the 15 points. Since then I have never been a moderator since, so I'm starting to think I'm on some internal "shit list".

    Just as well I guess - I rather bitch than read other people bitching anyway. ;)

  109. Long Live X by Anonymous Coward · · Score: 0

    X is an almost ideal graphics environment in that it can be used both locally and remotely. What X needs is local graphics performance that can rival that of MS platforms - and the direct rendering interface should make that possible. Improvments should also be made in the X network protocol to increase network performance, while possibly maintaining backward compatability. As far as configuring X goes, application software can always be created to provide a simple configuration interface. It is better to keep the ability to customize the X environment then to have some simple windowing soloution, like MS OSes - which can only be run locally.

    1. Re:Long Live X by Bouncings · · Score: 1
      Persuasive. It's better than Mac and Windows. That says very little. Being the best doesn't mean there is no room for improvement. X is ugly in several respects:

      • Doesn't thread
      • Fonts unscalable. (Yes, I know about the TrueType servers
      • Non-GPL

      Berlin and Y are both better. Why not use them?

      --
      -- Ken Kinder ken@_nospam_kenkinder.com http://kenkinder.com/
    2. Re:Long Live X by divbyzero · · Score: 1

      Since you seem to be one of the most vocal "let's replace X" advocates in this forum, I find it interesting to see your exact list of complaints with X.

      > Doesn't thread

      X is merely a protocol, not an implementation. If you don't like XFree86's lack of threading (if that's even true), then buy another server or write your own. If it's actually the client side that bothers you, write your own version of Xlib. I can't see how threading problems would be inherent in the protocol.

      > Fonts unscalable.

      Rescaling fonts is not the problem; X certainly supports vector fonts like TrueType and PostScript Type 1 through font servers. The real problem is that X forces fonts to be monochrome, which prevents antialiasing.

      > Non-GPL

      Come on, give it a rest. X is the protocol, damn it. The protocol is a freely implementable public specification. It is no more proprietary than FTP. If you wanted to create an freely available but extended, customized version of FTP (the sort of right that GPL guarantees for code) then you might not have the right to refer to it as "FTP" anymore, but you would still have the right to do it. X is exactly the same way.

      If you can't live without antialiased font support and you can't convince the Open Group to adopt your changes, then fork! Take the existing protocol spec, add in provisions for the new feature, and try an implementing your changes based on XFree86 or the Open Group's own reference implementation, both of which are freely extensible.

      I'm all for moving to X12 if it means that antialiased font support will be added!

      Div.
      But my grandest creation, as history will tell,

      --
      But my grandest creation, as history will tell,
      Was Firefrorefiddle, the Fiend of the Fell.
    3. Re:Long Live X by MenTaLguY · · Score: 1

      X is ugly in several respects:

      • Doesn't thread
        Only partly true. In the server, that's largely an implementation issue; in the clients, the X libraries can be re-entrant. However, the API is still not very thread-friendly.
      • Fonts unscalable. (Yes, I know about the TrueType servers
        That's just bogus. Very nearly all X servers have support for scalable Postscript fonts built in. However, there are still very very serious problems with X font handling -- for example:
        • treatment of glyphs as monochrome bitmaps pervasive -- If you want antialiasing, you need to redesign the entire font system from scratch, and incompatibly, as the existing APIs simply will not allow antialiasing. Older programs would not be able to take advantage of the antialiased text extension without being rewritten, either.
        • no concept of pair kerning or other typographical niceties. X is worthless for decent typesetting.
        • no real device-independence -- You can display to a screen, but can you use the same API for a printer, or some other more exotic device?
      • Non-GPL
        If it doesn't bother RMS (XFree86 was adopted the GNU project), it shouldn't bother you.

      All this being said, X is just generally an absolutely horrible design. Its only two redeeming qualities are:

      1. network transparency (although too finely grained for optimal performance)
      2. complete extensability (although at the cost of duplicate interfaces for backwards compatibility)

      ...and these are exactly the two qualities (and tellingly enough, the only two) that people cite when they hail X as a marvel of engineering. It most certainly is not. It has survived and works "well enough" only because the designers did have barely enough foresight to add these features to "save the design from itself," so to speak.

      The X design absolutely, unequivocably sucks otherwise. It's a mish-mash of extensions, each making up for design deficiencies in the layer beneath it. It's like what was already be an ugly suit, but there's hardly any original fabric left -- it's been so worn and patched that it's all patches on patches on patches.

      Berlin and Y are both better. Why not use them?

      Perhaps because neither is finished yet? Some more developers would be nice, though.


      ---
      --

      DNA just wants to be free...
  110. Ummmm, correct me if I'm wrong... by Nino+the+Mind+Boggle · · Score: 1

    ...but is X a GUI? From my (admittedly limited) understanding, X is the stuff underlying the GUI. Can somebody who KNOWS clarify?

    Tusind tak.

    --
    ------ "Darn floor. Big bite." (Koko the gorilla's best attempt at explaining the experience of an earthquake.)
    1. Re:Ummmm, correct me if I'm wrong... by Switchback · · Score: 1

      Yes, you are correct. X itself is not a GUI, but merely defines a protocol for applications (clients) to talk to Servers (X Window Managers). It also provides graphical primitives which are display independent.

      Most people responding to this article obviously do not know what they are talking about because the keep discussing how the Linux desktop should look. How the desktop looks it totally separated from X itself. Window managers, the libraries apps are linked with and shells define what a particular GUI looks like, not X.

    2. Re:Ummmm, correct me if I'm wrong... by Thomas+Charron · · Score: 1

      Absolutly dead on..

      Perhaps someone needs to have a small posting explaining to people exactly HOW X works, and that it's simply a way to display data, and how that data is handled is up to something else..

      --
      -- I'm the root of all that's evil, but you can call me cookie..
  111. sychophantic drivel by scrytch · · Score: 2

    I don't even know where to begin listing the ways this article stomps on my buttons. Could it be the Linus-is-God mentality and if he says "modularity sucks" then it must? His opinions lost a lot of credibility with me after his rantings against microkernels.

    Or perhaps the "it's good because it's standard" mentality that drives the author to plug bloatif. Hey where's my grid control for motif? How about a tree list? News flash: they don't exist.

    Or maybe "well X really *can* do this because it has extension y and extension z". Great, extension after extension after extension, while fonts can STILL only be passed around as 1-bit pixmaps. Hey the Windows API has a lot of extensions too, are you happy with that?

    Or perhaps it's the "newness is unbellyfeel doubleplusungood, our leaders have taken us this far, petition them with our cries that they may take pity on us." This could just devolve into a whole new sub-rant, but I'll ask the $20,000 question: how much does membership in The Open Group cost? (Around half the cost of the question, I believe?)

    This is personally my best hope for replacing X, or giving it a sorely needed wakeup call.

    --
    I've finally had it: until slashdot gets article moderation, I am not coming back.
  112. If X needs autoconfig, then replacement would, too by Anonymous Coward · · Score: 0
    I agree that a user shouldn't have to know what chipset their graphics card uses or what monitor they have. Obviously, though, any graphical foundation would need that information. That means that if you code up a replacement to X, then until you have an autoconfig module for it, it will be as hard or harder to configure than X.

    If it is necessary, then, to create an autoconfigure tool and either maintain a database on graphics cards and monitors or (if the hardware supports it) query them directly for the info, then why not take the easy way out and develop this on top of X?

  113. Re:Sure, X is great, but.... by kps · · Score: 1

    ... get rid of those fscking .Xdefaults and .appdefaults files!

    You realize there's a difference?

    If the programmer wants certain UI behaviors to be customizable, she should just add a "Preferences" dialog

    So, I get to go through twenty-three applications' preference dialogs to tell each one that on my double-headed console I want to use 16-point Lucida on a LightSteelBlue background (I don't really, that's just an example!), while on the quiet little monochrome terminal in the bedroom I want one of its built-in fonts on a white background.... Or more likely, I don't get to do that because it doesn't occur to the apps' luser programmers that I might want to run the thing on different displays with different properties.

    That's part of what the article's author meant by the "PC-centric" attitude of many X opponents. X sucks, but how can people come up with better answers if they don't even notice that there are questions?

  114. Re:X *is* a media-savvy, compositing GUI! by briggers · · Score: 1

    As the article said, why replace X when you can simply extend it? Have a look at the feature list for XFree86 4.0 - it's pretty amazing. Direct access to the hardware with DRI, 3D accelleration from SGI, TrueType support....

    A complete shift to another windowing system is just not going to happen. Are the GTK, QT, Lesstif guys willing to rewrite their stuff? Can we persuade UNIX vendors to use Berlin? Not bloody likely.

    Brian Blackwell

    --
    -- briggers Remove blinkers to email me.
  115. Pedantic and preachy, but agreeable by Pascal+Q.+Porcupine · · Score: 2
    I agree with most of what the author is saying. However, certain things (such as him insisting we not require the use of shared memory and lots of bandwidth) are a bit pedantic, since certain things just don't work the way X was intended. For example, I'd really hate to try running Quake2, even through GLX, on a remote display. The latency would be absolutely *horrible*...

    Also, just sticking to Xlib and Xt is not a Good Thing. Do we really want everything looking crappy and having the reinvented-wheel look all the time? Not to mention that raw Xlib coding is a *bitch*. There's a reason for Motif and GTK and Qt and CDE, which he feels perfectly justified in extolling at the beginning of his essay.

    Even his "do it with X" mandate doesn't always make sense. Again, games don't always benefit from X, particularly ones involving realtime rendering. Even scientific visualization applications tend to suck like that, particularly if they require zbuffered rendering (since there's absolutely no way to do that server-side without relying on GLX, which, if it doesn't exist on the server, needs to be done in software on the client leading to - guess what - bandwidth! AND horrific CPU/memory usage!).

    His last preachy bit is just plain laughable...

    X is here for a reason. It is an excellent standard. It is by far the best graphical system available. An ingeniously designed, expertly implemented system, X has served Linux for years.

    I agree that it's an excellent standard, but there's far too much baggage. Yes, it's already got plenty of acceptance, but any extensions - which this guy is proposing we do, instead of a rewrite - lead to the exact same situation, namely a shitload of X servers which won't be able to run these programs. It's not ingenious, any moreso than telnet or, at an extreme stretch, NFS, and although the implementation of the current specification could be considered expert, the current specification itself isn't. When was the last time you saw an X9 or X10 program in actual use?

    I'm all for consistent, open standards, but this article is just too preachy and has an extreme case of tunnel vision, not to mention quite a bit of self-contradiction (you can't expect someone to use X11 to its fullest and use Xlib at the same time, and you can't talk about its total acceptance and suggest making new protocol extensions either).
    ---
    "'Is not a quine' is not a quine" is a quine.

    --
    "'Is not a quine' is not a quine" is a quine.
    Quine "quine?
  116. Here's what you should do by Anonymous Coward · · Score: 0

    Wait till Apple ships MacOS X with the impressive Quartz graphics engine and a redesigned GUI. Then, true to Linux form, write a blatant rip-off. That's probably how it will work in the end.

    --
    Linux - reinventing UNIX since 1991.

  117. Hello? by Anonymous Coward · · Score: 0
    X is a display system people, NOT a GUI! You are supposed to have a GUI that uses X as its display system, not X alone as a GUI. If your GUI sucks fix it, but don't complain about X when it is obviously a failing on your own part. If you need brain dead simplicity get GNOME or KDE...that is what they are there for. Or download you window manager and various utilities and design your own custom built GUI...its not X's fault you can't download one of the vast variety of very different window managers and such and set something up! Its all there, just do it!

    It would take YEARS to replace X....YEARS! It has a decade and a half thus far to build it, how are you going to replace such a thing over night??? Why not spend that time improving upon what ALREADY EXISTS so that the end result will be BETTER and HERE?? 3 years from now maybe Berlin or Y will be useable enough that some people can actually use it as a desktop under optimal situations, maybe 5 years from now most people will be able to use it...and maybe 10 years from now it will have surpassed the X of today. But then were is X going to be, and were WOULD it have been had those people added some input and made X better?

    1. Re:Hello? by MenTaLguY · · Score: 1

      But then were is X going to be, and were WOULD it have been had those people added some input and made X better?

      All designs have a limited lifespan, including X. X simply cannot be extended indefinitely. It'll be good for a few years yet, but then what?

      Let's say you're on a sinking ship with no lifeboats. Do you really want everyone bailing water, or do you want some of the people to bail while others work on finding land or another ship?

      You might be able to keep the ship afloat longer if everyone stays and bails, but then everyone will eventually drown when the ship finally does sink. It's better to think ahead and make sure that everyone has somewhere to escape to.


      ---
      --

      DNA just wants to be free...
  118. X is Cool!!!!! X is Slow :-( by sanderb · · Score: 1
    I love X as a platform. I'll bet that most of the negative posts on this article will treat X as an interface, which it simply isn't. You can have any kind of interface on top of X, including the Windows GUI by the way (WinCenter).

    I do not agree with the article however, mostly because of the too positive comments of speed. X is slow:

    • Slower than other remote display protocols, especially ICA (which has HUGE disadvantages of its own, but is a lot zippier).
    • Slower than direct access to the video hardware, which is a huge problem for games.
    Unlike the author who only seem to be concerned with mindless raving, the developers of XFree86 are addressing these concerns.

    By all means, create competitors for X. Competition is good, and I'm sure X will massacre anything it meets on its path!

  119. Can someone tell me what supports his thesis? by Kenneth+Stephen · · Score: 1

    ...because I sure didnt see it in his article.

    To quote from the article :

    "First, the idea of replacing X. Recently there have been several groups making claims that they are creating a new windowing system that will take the place of X. There are cries of "modularity" (see Linus Torvalds' commentary on modularity and why it is flaky). There are cries of "Let's create a new system!" And mainly these cries are just that. There is really no reason to replace X."

    What the author goes on to say is that X is an existing standard, so we should not bring up a competing standard but choose to work on the existing standard. It seems to me that he hasnt really addressed the question of whats wrong with the competing standards. What were Linus' comments about modularity, and how do they apply to X's competitors? Why is Berlin bad (according the the author)? I was hoping for information in the article and just got a rant.

    Again, later in his article, he rants on about development tailored to PC's. Fragmentation of a standard is a bad idea, but again, I'm sure there is a plus side to what these developers do (or else they wouldnt do it). The author has not addressed the question of what these plus points are, and why they are just not worth it. Can someone enlighten me?

    --

    There is no such thing as luck. Luck is nothing but an absence of bad luck.

  120. Re:future != X??? by Alan+Shutko · · Score: 1

    AFAIK, GLX can run remotely, but I'm not sure.

  121. X is not a GUI by Anonymous Coward · · Score: 0

    I see several people saying things to the extent of "We need a new GUI" or "X is a great GUI". This is a misconception - X is not a GUI at all. A GUI (Graphical User Interface) is the collection of buttons, menus, etc... that comprise the part of the program that the user interacts with. At its heart, X is a protocol and the implementation of that protocol. It takes requests for services (through Xlib) and performs the request. Projects like Y and Berlin would do well to examine the X protocol closely. It is extremely well-thought out and efficient. The implementation may (or may not) leave something to be desired at times, but deep down, X is by far the best thing we have.

    1. Re:X is not a GUI by elflord · · Score: 1
      We don't need to replace X with a GUI, X is not a GUI and hence will not become obsoleted by the existence of a GUI. What we *DO* need a GUI on top of X. That's what the KDE/GNOME projects are about.

      You talk about video performance issues, but the SGI workstations do just fine with X. The issue at hand is driver support, not the architecture of X.

      BTW, improved font support for X is already underway.

      Thanks for playing ...

  122. Why talk until there is a stable alternative? by Anonymous Coward · · Score: 0
    For all the talk of X being ready for the scrap heap, I have yet to see a working replacement for it.

    Yes, I know, "Berlin"...a piece of software that can do nothing more than render polygons does not an X replacement make.

    1. Re:Why talk until there is a stable alternative? by Anonymous Coward · · Score: 0

      Did you read the article? He wants people to stop working on Berlin and Y so that they can put their effort into improving X. If he had waited until they were finished and then said "oh by the way I wrote an essay describing why you just wasted 4 years of your life" it would have been a little cruel to say the least.

  123. Not fast enough. by Anonymous Coward · · Score: 0

    I've used X on many platforms, and compared to Windows, it is far far slowed in both window dragging, and games, and windows refreshing, etc. X needs to be slimmed down and sped up. BeOS has an amazing GUI which blows away Windows speed. I think Linux needs to do this as well if we want more developers to jump ship.

    1. Re:Not fast enough. by BugMaster+ChuckyD · · Score: 1

      The BeOS GUI is by far the best GUI/Windowing system I have used. Part of this due to its multithreaded nature and BeOS's excellent thread management. As has been pointed out aalready X is not a GUI but a windowing system, however it is the underpinning of any GUI running in X. To me X often looks clunky (maybe this is the lack of anti-aliased fonts) and does feel slow. Its not media orientated.

      X does have alot of advantages though, notably the clean disconnect between the app and the interface which, for instance, allows for the output of a program running on one machine be displayed on another.

      X can and should learn form BeOS. If the internals of X can be reworked to allow multithreading and better srtreaming mdia handeling with out affecting its basic GUI, it could really become the approach of the future, otherwise it has to be replaced now with something alot better if linux is ever going to have a realistic chance of competing as a mass-appeal desktop.

  124. The web!? by Bouncings · · Score: 1
    The web is just plain gross. HTML is horrific. Writing CGI software is inefficient, tramatic, and very limiting. The web as we know it is very contemporary. It's a way to exchange documents, nothing more. When XML rolls through, the web will be a little better. Still, it is only a tool for publishing documents.

    I really don't understand this recent fad with making user interfaces like web browsers. This a bad idea. No, HTML should not be inside a GUI or even mentioned. Bundling a web browser inside a desktop is very unscientific. Remember every program does one thing and does it well? That was a good idea. A file manager is not a web browser is not a word processor is not a mail reader.

    Programs are not documents either.

    --
    -- Ken Kinder ken@_nospam_kenkinder.com http://kenkinder.com/
    1. Re:The web!? by JordanH · · Score: 1
      Web browsers win because they are simple. Exchanging information, which is what the Internet is all about means exchanging documents. The Web browser model works well for this.

      Remember every program does one thing and does it well?

      Sure, I remember that. I'd like to see a whole set of apps that work well together. No app should have to have printing built-in right? It should be drag and drop to the printer app? Oh, wait a minute what about the problems of page layout and media types? It seems that apps do need some knowledge of printing. Where do you draw the lines? There are some problems here that haven't really been overcome. At least, I've not seen the integrated desktop where every app does one thing and one thing well. Design that and I'll use that instead of what I use now.

      Even in this integrated desktop of the future, what will be used for objects meant to be read by people, you know documents. Will it be a Web Browser? It sure seems to me that a lot of what I do is read documents and a Web Browser does this one thing well.

      Programs are not documents either.

      Programs most certainly are documents. At least, at the source code level they are. They are intended to be read by humans, thus they are documents.

    2. Re:The web!? by Bob+Ince · · Score: 2
      The web is just plain gross. HTML is horrific. Writing CGI software is inefficient, tramatic, and very limiting.

      Aboslutely! I've become increasingly worried about the trend of moving applications to the web. While X is big, nasty and old, and Windows is big, unreliable and proprietary, they were at least designed to run applications on.

      The web was not, and the pots of liquid kludge required to get any half-decent application running on the web make it extremely unfriendly and unreliable. Even on modern GUI systems there are to many layers, too much to go wrong, between the application code and the machine. Add to that HTML, Javascript, DOM, the web browser and the HTTP layer, and you've got a teetering stack of systems. Any layer goes wrong, and your application won't work, usually in some obscure and hard-to-correct way. Add to this the abysmal level of support for standards in web browsers and you'll be lucky to get anything to work at all.

      Not to mention that having to go through HTTP makes web apps excruciatingly slow. Used a web-based mail service lately? Marvel at how long it takes you to go through your mailbox, weeding out spam and organising the mail. Each small operation, which would happen almost instantaneously on a decent client-side mailreader application, now takes five to ten seconds to perform, making mail a chore. And you thought *X* was slow!

      Another case: MS NT Option Pack (after a tortous install procedure) has no help files. Instead, it installs a bunch of help web pages on your server, and expects you to use a web browser to read them. Except you need a web browser with MS's VM installed, which it isn't by default. So you have to go through another install. (And the first thing any webmaster does is automatically remove all the stupid samples and crap IIS installs. So then the help system isn't even usable.)

      When the help system does work, it's still miles worse than the Windows Help application MS have had since Windows 3. The contents list becomes unresizable. The search feature requires that you haven't messed up something in the configuration (which might, for example, be a reason why you'd be reading the help files? do you see? DO YOU SEE?). When you do a search and find something related to what you want to know, you can't pop up a level to see related documents, because there are no links. And if you go back to the contents pane, you ca't actually see where the document you are viewing is in the hierarchy.

      Usability factor zero. But hey, it's on the web. So it must be cool, right?

      The web is *not* a way to make interfaces easier. What is needed is consistency of interfaces, but the only consistency the web gives you is that you get a few navigation buttons at the top. That doesn't teach you how to use a new piece of software on the web. In fact it often breaks the software if you use them.

      Remember every program does one thing and does it well? That was a good idea. A file manager is not a web browser is not a word processor is not a mail reader.

      Damn right. It's a pity the idea never quite caught on, with most commercial packages becoming bloated with totally unnecessary features, so that any particular task can be done badly by a dozen applications, but done well by none.

      I don't want an unfriendly text editor in my C compiler, damn it! I don't want a bad mailer in my web browser!

      I'm rambling now. I'll stop.

      Programs are not documents either.

      The web is good for two things:

      • distributing documents.
      • communicating with others in more complex ways than simple e-mail allows (for example sites, like /.).

      The web is not the future for document creation, processing or e-mail. Or if it is, I want to stick my head under the pillow and hope the future will go away.

    3. Re:The web!? by Bob+Ince · · Score: 1
      Let's inject a little reality here. Most of the world's application seats are green screens. Think bank, think ATM, think fast-food. These work and work fine. Web applications using forms can replace these quite well.

      Okay, I suppose that's our different assumptions behind the word 'application'. I was considering only the kinds of software tradionally thought of as 'computer' software; your definition is somewhat wider, encompassing, presumably, a range of single-purpose and consumer devices.

      I've no problem with web applications replacing forms-based interfaces; their speed is not a great handicap in this sphere and hiding the browser navigation isn't difficult. This is essentially replacing a forms interface with a somewhat better-looking forms interface. The only problem is a minor one of implementation thanks to browser problems in forms/Javascript.

      Going up from there, there a whole slew of applications on the web that work fine for me. Mapquest is a bit clunky, but I'm glad I have it.

      Again I think the difference is semantic. I don't consider Mapquest an 'application' as such, I consider it a 'document' - the map data - with a front-end on the web to display it.

      The model of viewing everything meant to be read by humans as a document and then having the one ubiquitous client that does a good job of serving up documents is incredibly powerful.

      I agree with this. But! HTML is too loose and hacky to be the universal document language, and it's so fragmented there is no universal client for it. (XML is promising in this regard.) And HTML is not geared up to providing complex application logic; Javascript is a syntactically ugly, fragmented language with a poor development path and debugging tools. CGI (and ASP, and the like) mixes document, application and presentation together making development and maintenance costly.

      I'll wager MapQuest's implementation is pretty damned hairy, and, good though the service is, it doesn't (and can't) do the range of tasks you could do with some map documents and a desktop viewer app. What if I wanted to print a vector version of a map, or calculate route distances, or stuff. Features like this take *much* longer to add to a web application because there is so much more interface work. Where MapQuest scores over a traditional application is that it can build in pointers to "virtual community" stuff (erk! buzzword!) like local guides and gubbins.

      I'm getting more and more long-winded and off-topic. Ah, well, what's Slashdot for?

      Like with Web-based Help systems, you can connect to updated, corrected documentation somewhere out there on the Web.

      Okay, using the MS help system as an example may have been a bit disingenuous, but I was annoyed with it. :-) Though a help system is indeed something that could work well on the web(*) - since it is, more or less, a document rather than an application - MS's help system exhibits many of the bad points of web applications, and doesn't actually use any of the advantages!

      (The HTML administration interface to IIS might be a better example of applications been moved to the web for no good reason; there is a *reason* for it, just not a good one - viz. Windows being so poor at remote admin. And my argument may be undermined by the fact that the non-web version of the application, MMC, is also very, very bad!)

      It would be nice if the help system *did* connect to updated help information on the MS site. Unfortunately it connects to the information it came with when you installed it on your system. And requires your system to work properly to access it. Which might be considered a Bad Thing when the help is for the system itself. D'oh!

      (*) I like to think the manual for one of my applications is more effective; that went on-line ages ago and seems to work fine. MS are, verily, poo.

      This just shows that one interface isn't ideal for all applications, which is a point you are trying to make, I think.

      Yes, exactly. I was frustrated with the blind rush towards making everything webby, throwing out years of UI design experience. I fear that web applications will be more oriented to performing single tasks; instead of having a window full of objects to interact with, we'll get a few, limited commands, because of the difficulty of using direct manipulation methods on the web, and the large effort required to implement features. This will result in a much more modal interface than we're used to now, although horrible horrible wizards are heading in that direction too. (The fact the anyone needs wizards in the first place proves how broken MS's original interfaces were.)

      Actually putting applications out there is harder and opens you up to criticism.

      Yep. I'm there. By your definition of application, I suppose one of the things I'm working on is just that. http://elj.warwick.ac.uk/global/ if you're really interested, though without a privileged account there's not a lot you can see at the moment since we haven't really launched yet.

      I find it ironic that you use all this HTML formatting in your post and then seem to imply that the web is not good for documentation creation and e-mail.

      Heh! Actually, I think it's not. Slashdot is a great resource, an example of the web doing what it does best - quickly-updating documents, and communications - but it's a pig for creating these comments. I'm typing an over-long (sorry) message here in a tiny little <textarea> that's pretty inconvenient. I can't use the usual text editor tools I like. I have to use 'Preview' to check whether it works properly, and I'm only using HTML formatting at all because I wanted to quote parts of your message, and the wrapping style of the web means I can't use the Usenet '>' convention reliably.

      And if that damned broken blockstackers object causes IE to drop the page and display an error message once more I'll... ooh, I'll... be quite cross. Probably.

      What do you propose as the interchange format for email that has the features that you seem to want? RTF?

      sob.

      No, that's not fair, you weren't to know what problems the RTF format has given me recently. Parsing RTF gives one a really, really good insight into how smegged up the internal design of MS Word must be.

      Something like HTML might be good for marking up e-mail. Perhaps a subset of HTML, au Slashdot. But that's a different thing to actually using the web to send the mail. And it's also a different thing to the kind of HTML e-mail I receive in my mailbox which makes elm very unhappy and contains a ton of <font> tags, tables, <br>s and other crud.

      But that's another complaint altogether. And I've already gone on far too long.

      Erm, we were talking about X, yeah? Erm... ObX: isn't Netscape for X slow and buggy?! Blimey!

    4. Re:The web!? by JordanH · · Score: 1
      Aboslutely! I've become increasingly worried about the trend of moving applications to the web. While X is big, nasty and old, and Windows is big, unreliable and proprietary, they were at least designed to run applications on.

      Let's inject a little reality here. Most of the world's application seats are green screens. Think bank, think ATM, think fast-food. These work and work fine. Web applications using forms can replace these quite well.

      Going up from there, there a whole slew of applications on the web that work fine for me. Mapquest is a bit clunky, but I'm glad I have it. Catalogs and ordering (you know, eCommerce?) from the web works.

      The model of viewing everything meant to be read by humans as a document and then having the one ubiquitous client that does a good job of serving up documents is incredibly powerful.

      When the help system does work, it's still miles worse than the Windows Help application MS have had since Windows 3. The contents list becomes unresizable. The search feature requires that you haven't messed up something in the configuration (which might, for example, be a reason why you'd be reading the help files? do you see? DO YOU SEE?). When you do a search and find something related to what you want to know, you can't pop up a level to see related documents, because there are no links. And if you go back to the contents pane, you ca't actually see where the document you are viewing is in the hierarchy.

      So, a custom Help application has some advantages. It has some big disadvantages too. Like with Web-based Help systems, you can connect to updated, corrected documentation somewhere out there on the Web. A good indexing app like Ultraseek will give you all the keyword searching you're looking for, and it will work with ANY documentation base, not just Help files. No, we really NEED a Help File Indexer and a Indexing application for eBooks and...

      The fact that the MS Web-based help files have these problems says more about Microsoft than about using Web Browsers for Help files. You have to use their VM and search/indexing app? Did it occur to you that this is to lock-out other VMs and search/indexing apps? Most people here will not be surprised to hear about problems trying to use MS software.

      The web might not work well today in some applications, like CAD, or real-time process control, or even spreadsheets and word processing, but so what? This just shows that one interface isn't ideal for all applications, which is a point you are trying to make, I think. It doesn't really speak to the power of the web for applications.

      What do you propose? Am I to wait for the eCommerce app and the Map app and the point-of-sale app and ... that all use some new grand application platform? Or do I adapt the tools at hand to start using apps today.

      Perhaps designed application platforms are a big resource waster. People spend all their time developing tools and never get around to developing applications. The application platform that's simple like the Web and CGI aren't designed by those with "vision", it just kind of sneaks up on you. While people in Redmond (and elsewhere) are off building more and more application infrastructure, people are doing productive things today with the web.

      Those things that don't fit in a browser well may not fit within a general application platform well anyway. There's something to be said for a specialized interface for a specialized application.

      Being negative about the web as a platform for applications is easy. Actually putting applications out there is harder and opens you up to criticism. It's more fun to endlessly speculate about and work on future application platforms because nobody can criticize the apps based on it that aren't here yet.

      The web is not the future for document creation, processing or e-mail.

      I find it ironic that you use all this HTML formatting in your post and then seem to imply that the web is not good for documentation creation and e-mail. What do you propose as the interchange format for email that has the features that you seem to want? RTF? Or is it not designed yet?

      Saying things like "current technology A is not the future of B" is safe. Someday there will be a better technology that will be used for B that's not A and you'll finally be justified! The farther off that someday is, the more your prescience!

  125. There can be only one by Anonymous Coward · · Score: 0

    The fact that X is the only game in town has contributed greatly to the success of unix. Just look at the mess we're in with GTK and Qt - think of the todal wave of apps we might have today if we had *noe* standard instead of n.

  126. GUIs and Competition by Bouncings · · Score: 1
    Let's not make our decisions based on competing with anyone else. That is the Unix way, the Be way, the Windows way. Linux is above that. Do what's technically superior.

    Rushing to develop because of competition is VERY BAD THING. Any PHB's are sure to endorce rushing development: that's proof. Do what's technically best, not what is best for Red Hat's marketing drones.

    Gnome is a perfect example. EXCELLENT PROJECT. But what is 1.0 should have been 0.1. Be patient. It might be a few years before we have everything together. Maybe GNUstep running on Berlin?

    --
    -- Ken Kinder ken@_nospam_kenkinder.com http://kenkinder.com/
  127. X as an "open standard" by zenfish · · Score: 1

    Although I suppose that this goes back to ESR & RMS's ongoing debate about open source v. free software, last year's aborted X11R6.4 licence change makes me somewhat sceptical of The Open Group as any kind of reputable open source (nevermind free software) developer. Although they seem to have recanted, (see www.xfree86.org) I think a suggestion to developers that they go and clear all their ideas via the The Open Group and try to get them to initiate X12 to integrate them in; is going to leave a bad taste in many people's mouths.

    As for the suggestion that using Motif is a good path for open software development (even with Lesstif coming on apace), try telling that to the Mozilla developers.

    However I do agree that as a mature standard X11 has a lot to offer and further would respectfully suggest that many of the more vocal "let's get rid of X" proponents don't understand exactly what they are proposing to chuck out (as opposed to the developers etc. who are doing less talking and more coding).

  128. once I get ride of this mouse bug yes by josepha48 · · Score: 1

    I and several other are having mouse problems. Althought they seem to be kernel related, they only happen when I am in X. If they go away, I will have a nice machine that will be up and running X all the time. If not I amy have to switch to another OS, like Solaris or Free BSD.

    --

    Only 'flamers' flame!

  129. XFree86/OS2 by SpiceWare · · Score: 1
    I've run Civilization CTP on my OS/2 box by using XFree86/OS2, so yes you can run X on proprietary OSes.

    I think it would be a mistake to diverge from X, it's networkable capabilities are unique and is one of the reason's I'm interested in Linux.

    1. Re:XFree86/OS2 by MenTaLguY · · Score: 1

      I think it would be a mistake to diverge from X, it's networkable capabilities are unique and is one of the reason's I'm interested in Linux.

      Anything that could successfully displace X is going to need the same general sort of capabilities. Certainly, Berlin is networkable as well, and you get finer-grained control over which side of the connection individual pieces of the system run on, too, as well as a lot of other things that you can't easily do in X. (although Fresco, upon which Berlin's design is based, can help)

      Just because something works "well enough" does not mean that it could not be improved upon.


      ---
      --

      DNA just wants to be free...
  130. Linus Torvalds on Modularity by Anonymous Coward · · Score: 0

    The author implies that Linus has some damning comments on modularity and asks the reader to look them up. However (using Google, natch) all I can find are comments from Linus on how great modularity is. Does anyone know what the author is talking about?

    1. Re:Linus Torvalds on Modularity by Anonymous Coward · · Score: 0

      He's probably refering to the old microkernel vs. monolithic kernel debate.

  131. Sure, X is great, but.... by Anonymous Coward · · Score: 0

    ... get rid of those fscking .Xdefaults and .appdefaults files!!!!! How annoying can you get anyway? Seriously, how many people routinely modify the resources of their X proggies? If the programmer wants certain UI behaviors to be customizable, she should just add a "Preferences" dialog or the like... Those things are really no better than the Registry in Windoze...

  132. What would help... by osmanb · · Score: 1

    I can't help but think that X is lacking one thing that would really help the situation. (Though this could be done, and X is still great, regardless.) There ought to be some layer between X itself (Xlib and friends) and the window manager. As everyone keeps pointing out, the window manager is what controls the interface, but it's usually more complex than that. Nowadays, it's a combination of the WM, and the toolkit used to write the app. I may be silly, but I'd like a desktop with a consistent appearance. And when I'm running apps written in three (or four, five, six...) different toolkits (raw Xlib, Qt, GTK, fltk...) I get the feeling that things just aren't tied together. KDE and GNOME help somewhat, but only so long as you're running their apps.

    If there were some layer of abstraction that dealt with general user preferences on how windows should behave/look but with enough freedom for toolkits to provide real added value (ie speed of widgets -> Motif moves like molasses uphill in January, whereas GTK is snappy) I'd be in GUI heaven.

    This idea isn't really fleshed out fully, it just hit me while reading other people's comments, but I think X has the necessary basics to be a next-generation GUI. (Though it could certainly use a "cleanup" stage whereby unnecessary features are removed, and the important ones are made more universal -> shared memory)

    -Brian

  133. X12 or G-Windows? by Bizzaro · · Score: 1
    Right! How about coming out with X12?

    How old is X11R6 anyway? I've been using it as long I've been using UNIX and Linux. It's got to be at least 5 years old now. And development has gotten so slow that they are adding decimals: X11R6.1, X11R6.2, ...

    I just can't believe how slow The Open Group(tm) has been at making progress on anything!!! Look at Motif! How long did it take to go from Motif 1.0 to Motif 2.0? Ten years, maybe? COME ON!!! No wonder why people got fed up and wrote GTK+ and Qt! It's almost as if they've given up and don't care if MICROS~1 has 99.9% market share.

    Can't we do something about it? Can we use the Linux momentum to take control of the standard? How about re-working X and calling it G-Windows (GNU-Windows), giving backward compatibility to X11R6?

    This sort of thing has cropped up before. And it has always been due to human error.

    --

    --
    This sort of thing has cropped up before. And it has always been due to human error.
    HAL9000

    1. Re:X12 or G-Windows? by pwagle · · Score: 1

      How old are you anyway? At least 15 to 20 years old? Your development has gotten so slow that you probably haven't added any height whatever for at least a year, if not longer. You probably have added weight (bloat) since you stopped developing.

      Its probably time to replace you. You've stopped making progress.

    2. Re:X12 or G-Windows? by kkelly · · Score: 1

      > It's almost as if they've given up and don't
      > care if MICROS~1 has 99.9% market share.

      heh, I don't really think they give a fsck. What
      exactly are you comparing here? X to a windoze desktop? folks please read the previous posts these are not the same and are not direct competitors.

      > And development has gotten so slow that they are > adding decimals: X11R6.1, X11R6.2, ...

      I'm sure they could use your expertise;-)

      > Can't we do something about it? Can we use the
      > Linux momentum to take control of the standard? > How about re-working X and calling it
      > G-Windows (GNU-Windows), giving backward
      > compatibility to X11R6?

      Man that really sounds familiar to something called embrace and extend. Looks like this
      kid did his last internship in Redmond...

      --
      K
    3. Re:X12 or G-Windows? by Bizzaro · · Score: 1
      Nice analogy, but I'm quite a bit older than that. I personally don't subscribe to the idea that once something has become old and extended, it should be replaced. Some of the best inventions are old and still doing quite well, despite modifications: the lightbulb, the pencil, the internal combustion engine, the telephone.

      I'm not saying we should replace X, unlike many of the other posts. I'm saying that if The Open Group has lost interest, we should pick up the torch and move forward. Most would agree that there is some major revamping to be done. But if The Open Group retains absolute authority, we'll just keep poking along.

      This sort of thing has cropped up before. And it has always been due to human error.

      --

      --
      This sort of thing has cropped up before. And it has always been due to human error.
      HAL9000

    4. Re:X12 or G-Windows? by Bizzaro · · Score: 1
      What exactly are you comparing here? X to a windoze desktop?

      What people will prefer to work with: a 1980's desktop from The Open Group (all of their products: X, Motif, CDE) or the latest bells and whistles from MICROS~1. I'm criticizing The Open Group, not X technology.

      Man that really sounds familiar to something called embrace and extend. Looks like this kid did his last internship in Redmond...

      Well, by that logic, I guess you'd say Linus Torvalds did his last internship at Redmond for embracing and extending UNIX.

      This sort of thing has cropped up before. And it has always been due to human error.

      --

      --
      This sort of thing has cropped up before. And it has always been due to human error.
      HAL9000

    5. Re:X12 or G-Windows? by CloudWarrior · · Score: 1

      Some of the best inventions are old and still doing quite well, despite modifications: the lightbulb, the pencil, the internal combustion engine, the telephone.

      I submit that the neon light, the pen, the electric motor and the mobile phone are also thriving. Just because a technology has survived does not mean that it cannot be complemented or superceded by another.


      CloudWarrior . "I may be in the gutter but I'm looking to the stars"
  134. Want to 'replace' X? Go nutz by Anonymous Coward · · Score: 0

    This whole 'debate' thing is bogus. If you think X needs replacing with some better standard, then go write this better standard, and release it. Who is stopping you from doing that? No one that I can see. Rather than debate this, debate it by writing code and SHOWING us why its better.

    1. Re:Want to 'replace' X? Go nutz by Anonymous Coward · · Score: 0

      X is doomed! The future == JavaOS. Stop kidding yourselves! XFree86 is a disgrace to the Open Source movement. The non-OSS commercial vendors have don't a much better job writing X Servers than XFree86. Let's face it, X is hard to program. And, the X Window programmers have become Java programmers because that's where the money is. It's just a matter of time before the "suits" take over with JavaOS and Linux/X are no more.

  135. The two views on X by Bob+Ince · · Score: 2

    Reading the X debate, on OSO and elsewhere, I've read the same two opposing opinions again and again:

    1. X is an extremely capable protocol that does all the things you could want it to do, so why change?

    2. X is an inelegant, slow behemoth.

    The first argument seems to come from experienced X developers who are used to the way it works; the second from people who've written a few small applications and found it amazingly ugly.

    I count myself in the latter category, and accordingly dislike the X Window System with a passion. (NB: being a cynical, bitter type I hate almost everything with a passion. Even Linux. Sorry. Don't even mention Windows.)

    As a developer, I was repelled by the way chunks of text were copied all around the shop, seemingly needlessly, and the multiplicitous complicated ways applications, libraries, and the server has to communicate to get even the simplest of operations to work.

    As an X user, I am annoyed by the laggardly response time to do anything at all in X applications and the amount of resources everything takes to run. Also the lack of simple usability testing in window managers and most X applications bugs my balls. I end up doing what most people seem to do in X - I just run a brace of xterms, running command-line applications in each.

    (And when I do run a GUI application, it takes twenty seconds to start up, and then when it does appear it eats the input focus and claims the last twenty keypresses I had hoped would end up in an xterm. And then it usually goes beep-beep-beep to tell me it has done it. The malicious little sod. I'm rambling now; I'll stop.)

    Also Sun optical mice are horrible. That's not strictly speaking relevant, but adds local flavour.

    The problems affecting X as a protocol are the same problems that hinder most big, old system designs: they're built as layers on top of layers, with the cruft accumulating as more extensions are added.

    I would like to see a much more responsive, much less baroque alternative to X. But it'll have to be able to X apps as well I guess. :-(

    1. Re:The two views on X by WasterDave · · Score: 1

      Where are my moderator points when I need them. Moderate up dammit!

      Dave :)

      --
      I write a blog now, you should be afraid.
    2. Re:The two views on X by sanderb · · Score: 1
      Moderate up dammit!

      Exactly what I was thinking!

      Perhaps we can highlight the article by making a long thread under it.

    3. Re:The two views on X by Anonymous Coward · · Score: 0

      Yay. Long thread moderation. Lets go!

  136. Be X Server by Raindog · · Score: 1

    I've looked long and hard, and have never been able to find an X Server for Be.....does anyone know of any?

    1. Re:Be X Server by divbyzero · · Score: 1

      I remember one of my friends at college was writing an X server for BeOS some years back. It was his first project after he bought his BeBox (yes, a real original one ... we were all so jealous). I don't know if he ever finished it or released it though, or whether it would work with current generations of Be. Check BeWare or do a Web search.

      Div.
      But my grandest creation, as history will tell,

      --
      But my grandest creation, as history will tell,
      Was Firefrorefiddle, the Fiend of the Fell.
    2. Re:Be X Server by Scola · · Score: 1

      I wish I could give you a URL but I can't.

      It does exist. An old roomate of mine ran it on his Be Machine once when I was in the room. It worked pretty well as far as I could tell.

  137. Create anew or Embrace & Extend? by slambo · · Score: 1
    -----quote-----
    First, the idea of replacing X. ... There is really no reason to replace X. ... If these people really wanted to create something better, the wise thing to do would be either to add extensions to X11 or to approach the Open Group, maintainers of X, and propose creating X12. ... My advice to Linux users is to continue to support X and not the Microsoft-reminiscent idea of throwing standards out the wind.
    -----endquote-----

    Okay, throwing away standards is a Bad Thing. But we're not even a year past the Halloween docs and we seem to be advocating Embrace & Extend. I'm not sure which is worse.

    On the one hand, working with the Open Group and taking the time to create new extensions properly would enable users to run new and more powerful applications on their X servers. However, when the majority of applications require that these extensions be installed, the developers are leaving out a chunk of their potential user base. This is, in part, how Microsoft got into the trouble that it's in now.

    On the other hand, sometimes a product has been kludged as far as it can to work as well as possible. At a certain point, the developers need to reassess the product and how well it meets the users' expectations. When the users expect the software to perform tasks that are impossible in its current implementation, sometimes a complete rewrite is required to add a feature.

    The problem comes down to this: which way is better for product development - constant kludges and upgrades or a complete rethinking of the project? It is up to the developers to decide when a rewrite is needed, not the users. For myself, as a user, I'll suggest features that I want to see and leave it up to the developers on how best to implement them. If that requires a complete rewrite, so be it.

    --
    Sean Lamb
    "A day without laughter is a day wasted." -- Groucho Marx

  138. Wither Broadway? by JordanH · · Score: 1

    What's happening with Broadway? Is anybody out there using it? Is it mature?

    I thought Broadway sounded like the best thing since NeWS (grin), but I just don't see it in use much.

    I saw a list of the most used plug-ins awhile back and Broadway was way down the list. I don't know how it fares on those lists now, I don't keep up with that stuff.

    It still seems like a great idea, but it's orthogonal to Java/AWT that gets all the hype.

    The problem I always saw with X was fragmentation. How many extensions and app developer suites and interface standards have we gone through? Are there X apps that work together well? If there are, what % of the market do they have?

    The MS apps win because someone dictates standards. They aren't any good, but everybody's working to try and use one set of tools and one set of standards. It seems to be falling over under it's own weight as more and more things are bolted on to make it the universal standard.

    The same thing could happen with Web standards too. The Web standards have simpler, and thus better, underpinnings, but these days a browser has to support a bunch of application/scripting languages, style sheets, plug-ins for audio, video and XML.

    It seems to me that things are being pulled in too many directions in the application interface world.

    Technology markets have been driven by change, even change without a compelling purpose. It seems to me that a lot of productive work can be done with perl (or other language) and forms (like this posting! uhhh... is this productivity?).

    Reengineering gurus like to talk about recognizing the 80% solution and when it's good enough. In technology, it seems that we're only interested in the 110% solution that will be here tomorrow.

    Maybe that's the real problem with X Windows these days. It's great, but for remote stuff the Web is seen as good enough.


  139. The opposite view by kuro5hin · · Score: 1
    And one that I'm sort of more willing to believe. Take a look at this.

    I don't know about this guy. He seemed way too committed to something that at best is a good idea that got screwed up somewhere along the way. And anyone who says that we should all use Motif frightens me. Makes me wonder if he's ever seen Motif. "I know! Let's make all the widgets HUGE and CORPSE GRAY! Yeah, that'll be kick-ass!" Phew.

    --
    There is no K5 cabal.
    I am not the real rusty.
    1. Re:The opposite view by Thomas+Charron · · Score: 1

      I'd never read that page, and I LIKE it.. It brings up many, MANY good points..

      Not sure I agree with it all, but good points, non the less..

      --
      -- I'm the root of all that's evil, but you can call me cookie..
  140. Re:X *is* a media-savvy, compositing GUI! -- not by 1010011010 · · Score: 1

    tsia, but, monochrome fonts? No way to access the outlines of fonts via X? Having to use a different X server for a different video card? That's stupid!

    If X is a "media-savvy, compositing GUI", then so was DesqView! So is Windows!

    --
    Napster-to-go says "Fill and refill your compatible MP3 player", which is a lie. It's not MP3. It's WMA with DRM.
  141. Forked road or forked tongue by Anonymous Coward · · Score: 0

    X is stable, and X is mature. Those concessions out of the way, let's get the heart of the matter.
    It seems that all reasonable people concerned with Linux acknowledge that X has some fundamental performance problems on the desktop. While linux screams on a minimal PC when working from the console, when you add X to the mix it can make the same PC almost unusable.

    The fact that you can pick an choose you're window manager is great, but as I see it, running X is the functional equivalent of running Windows 3.x. It sits on top the real OS. Adding a modern WM like E or KWM with the baggage of either KDE or GNOME is the functional equivalent of running Win3.x on top of Win3.x.

    X was a product of the first wave of GUIs. In the last decade a number of advances have been made in both computing in general and in the way people work when using a GUI specifically. New operating systems have come and gone and "advanced the art." The research has been done. It is now time to sit down and determine the future of the UI for the next decade.

    The linux comunity has a choice. Either choose now to build a new GUI that has a small footprint and speed, but still allows for the choice of WMs. Or have it forced upon you at a later date.

    This date could be sooner than you imagine. If MS is broken up in such a way that the OS group is separated from the Office group, you may as well forget charting your own path. The Office group has been responsible for all the "advances" in the Windows UI and if untied, and forced to maximize profits on it's own, after a period it will look to enter the world of the now-alternative OS. If their top dog in the Mac and Windows world (as well as the profit center for MS), you can be that if they enter the linux market, they will set the terms as well as the standards.

    X can still exist as a client application on the OS (as it does on Mac and Windows today).

    To those who say that XFree v4 is the magic pill that solves all of these problems, pull you head out. I'm sure v4 will be better, but it cannot be the best. It is what it is.

    1. Re:Forked road or forked tongue by Paul+Jakma · · Score: 1

      running X is the functional equivalent of running Windows 3.x. It sits on top the real OS. Adding a modern WM like E or KWM with the baggage of either KDE or GNOME is the functional equivalent of running Win3.x on top of Win3.x

      Do you actually have any understanding of X? Find out what it is (and what it isn't), and how it works before spouting out crap like the above.

      --
      I use Friend/Foe + mod-point modifiers as a karma/reputation system.
    2. Re:Forked road or forked tongue by Paul+Jakma · · Score: 1

      ok.. so how's that like win3.x? and how is a wm+X like win3.x on top of win3.x?

      that's just silly.. Slashdot+X already is a guaranteed flamefest, and it's ill-informed and/or mailicious crap like yours that causes it.

      As for that killing brits thing: that's a bit sad.
      You're either trolling, or again making stupid comments about things you don't understand.

      --
      I use Friend/Foe + mod-point modifiers as a karma/reputation system.
  142. Re:X *is* a media-savvy, compositing GUI! -- not by Thomas+Charron · · Score: 1

    You don't need to have different Servers for different cards.. The SVGA server will work on nearly ANYTHING.. The additional servers merely take advantage of the capabilities of individual cards..

    --
    -- I'm the root of all that's evil, but you can call me cookie..
  143. X is still generations ahead of the other GUIs. by Anonymous Coward · · Score: 0

    All the other GUIs are not client-server based. Their display is intended to have no interaction with network entities. With AppleTalk or NetBIOS, when you execute a program that's on a remote system, you have the program instructions fed back to YOUR computer for execution; whereas with X, the program executes on the system where it is located, and ONLY the graphical displays are sent to your X server. This enables people to make 386 dumb terminals with 8MB video cards that hookup to one powerhouse computer (say, something spiffy from VA Linux) and provide a powerful graphical computing infrastructure.

    When most people call X ugly, they're not actually referring to X. They're referring to Motif. And while I would agree that Motif isn't as pretty as some others, it's important to remember that Motif looks the way it does so it can be used with Monochrome displays (not that those are all too common these days, but it helps to understand). But Motif isn't the end all/be all widget set for Unix/X. There's also GTK+, QT, Xclass, Xaw, Athena, etc..

    Others complain that X isn't easy to configure. Well, the problem here is that X lets you configure too much. The idea is to allow you to get the maximum performance from your hardware -- So X lets you tune your display. Other GUIs (Windows for example), don't allow you that fine a control over your display: they predetermine what hardware settings will be used (even if they're underperforming) and you're stuck with it. I believe this is an area where X/Unix can compete. Much like the Caldera 2.2 installation has the various skill level options, I believe an X config utility can be written which has the options (1) "Use the standard setting." (This will adjust the hardware to adequate or slightly underperforming rates (just to be safe) and set the resolution to something like 800x600x24M -- this setting would be intended for people who know absolutely NOTHING about computers). (2) "Use a custom setting." (This will still adjust the hardware to adequate or underperforming rates, but it will allow the user to customize their resolution -- this is where most Windows/Mac users feel comfortable). (3) "Use an advanced setting." (This is full bore xf86config and all the customizability that goes with it, with a nice GUI frontend and probably an option to edit the XF86Config file directly).

    X is a wonderful protocol. X allows graphical applications to be run over TCP/IP from across the internet or right at your PC. X provides a uniform means of graphical communication between the Unices, and it's importance cannot be overstated.

  144. Re:X *is* a media-savvy, compositing GUI! -- not by 1010011010 · · Score: 1

    Yeah, it'll work like CRAP on nearly anything. Whee! almost totally unaccelerated graphics! Welcome to 1987!

    --
    Napster-to-go says "Fill and refill your compatible MP3 player", which is a lie. It's not MP3. It's WMA with DRM.
  145. Disgraceful advocacy by Mark Stanford by Anonymous Coward · · Score: 0

    Mark Stanford should be ashamed of himself for turning what should have been a helpful positive advocacy piece for X into a mean-spirited informationless attack. His points about X's strengths I agree with, but then he stoops to slinging stereotypes in place of further thought. Example: "they seem to be doing what they are doing simply in order to create something new and get their name on something". They are "egotistical types". How does Mark Stanford happen to know what is in the mind of these people? As pointed out by other posters, Mark Stanford is also completely wrong to demand that others work on whatever projects Mark Stanford wants them to work on. Even if they are wrong who is to say they won't learn something to guide them towards a better free source project in the future? Psychologically speaking, it seems to me the history is that criticism simply makes coders dig in their heels and persist (KDE). Just leave them alone to do what they want. And is there anything wrong with essay writers giving examples of what they are talking about? It seems to me Mark Stanford's piece would flunk any high school writing course. Is he talking about the Berlin effort?

  146. Multiple servers is due to XFree86 not X11! by Anonymous Coward · · Score: 0

    The need to have different X servers for each video card is a deficiency in the way XFree86 was coded, not in X itself. This problem will be fixed in XFree86 4.0. Some commercial X servers have just one server with loadable modules for each card, some have multiple servers, it's purely an implementation issue.

  147. AGREED - why step backwords and drop X? by Anonymous Coward · · Score: 0

    While every other OS is trying to become distributed, Linuxers are trying to go back to the one computer/one user stone age paradigm. No thanks. There is no reason that the X server cannot be written to be highly optimized if it detects it is using the same machine as the display. I know XFree86 does this to some extent with the shared memory extension. It certainly could be extended and enhanced for even better performance.

  148. Program in straight Xlib? by Profound · · Score: 1

    Because I was interested in coding some Xlib as a programming exercise, I wrote my first X app (XTux in raw Xlib (uses libx and libXpm only) and I have to say it is a bitch to do.

    Color management is completely horrible, as are fonts. Toolkits and higher level abstractions do not decrease portability, they increase it, because your programs can run on other windowing systems.

  149. plot summary by CloudWarrior · · Score: 2

    Summary of this topic :

    1) A quarter of people will say that X is a slow, bloated lumbering elephant of a program that deserves to be shot. They will blame it on the network, and ask why the networking isn't removed.

    2) They will be pounced upon upon by a third who tout Xs networking capabilities as the best thing since sliced ham, and waffle inanely on about how X saved them 28 yeares of work in their last job. They will carefully ignore the speed issue.

    3) Another sixth will enguage in a discussion of why 'mY X $3r\/3R c@n'7 d1spl@y f0n7z. 1t $ux.' and ignore everyone carefully trying to explain it to them.

    4) Another sixth will hold private flame wars about Qt/GTK, E/WM/BB, MS/Lin/BSD, vi/emacs, God/World, Tellytubbies/Pingu, flames/discussion

    5) The remainder will try to persuade you to look at Y or Berlin. They will be ignored as they are clearly trolls.


    CloudWarrior . "I may be in the gutter but I'm looking to the stars"
  150. Re: Non-Unix X servers by Bob+Ince · · Score: 1

    Yes, there are X servers for lots of platforms that aren't Unix.

    Unfortunately they tend to be:

    • commercial; or
    • crap; or
    • both.

    The OSO article makes play of the fact that X will run under Macs, Linux and even - no! but yes! - RISC OS. But fails to notice that the RISC OS X server is totally useless for any real work, being slow (even for X ;-) ), unconfigurable to different screen modes, and not interacting with the RISC OS desktop in any way.

    For my crash-prone experience with eXceed, I don't think much of even the Windows X experience, either. Give me X on Unix or give me death! Erm, if you want.

  151. Berlin and Fresco are even slower by Anonymous Coward · · Score: 0

    Berlin and Fresco are CORBA based. As result, they are even slower than the X protocol. If you don't believe me - have your sundial ready and run some benchmarks.

    1. Re:Berlin and Fresco are even slower by MenTaLguY · · Score: 1

      Sundial? hardly. Marshalling/demarshalling overhead is dealt with in two ways:

      1. more things [can] go in the display server -- with CORBA, in-process stuff is no more expensive than a native method call (which is actually what it reduces to). You aren't forced to put stuff in the server, either; just what you need/want for adequate performance.
      2. X tries to break everything down into very low-level primitives to send over the wire. That's hardly lightweight. It'd be insane for Berlin to use CORBA like that, and it doesn't. Things are done at a much higher level of abstraction, meaning a lot less client<->server communication is necessary. In some respects, it's a little closer to NeWS, minus the evil horrendous ugly widgets.

      ---
      --

      DNA just wants to be free...
  152. Re:plot summary...But how does the story end? by Anonymous Coward · · Score: 0

    :-)

  153. X is a gui?!?! by Anonymous Coward · · Score: 0

    Last i heard X wasnt reall a GUI, ensetad its a graphical subsystem, but that is splitting hairs... X is here today. and its standard ( more or less ).. lets keep it for better or for worse.

  154. Re:future != X??? by Paul+Jakma · · Score: 1

    uhmmm... GLX = OpenGL for X.. it uses the same mechanisms to talk to the X server as anything else.

    Also, you don't write a programme for DRI or GLX. You write for OpenGL.

    OpenGL is the API, and DRI/GLX is the backend. So you write an OpenGL app, and the OpenGL library implements the DRI/GLX part, using whichever one is available at runtime. So an OpenGL app doesn't have to know anything about how it actually get's displayed, be it via DirectX/vendor driver/DRI/GLX, doesn't matter.

    --
    I use Friend/Foe + mod-point modifiers as a karma/reputation system.
  155. Define: 'we' by Blue+Lang · · Score: 1

    Re:No X -- we need a media-savvy, compositing GUI

    The phrase 'media-savvy' makes me want to vomit.

    For the purposes of this class, X == XFree86.

    You're all going to repeat after me 100 times:

    X is not a GUI.

    X is a programming framework, a set of libraries. I can guarantee that the number of people reading this message who have actually used X as a gui, with no external widget set, probably numbers less than 10 or so.

    Every X windows application is remotely displayable.

    X does not support fonts. X makes calls to an external font server. That server may be cleanly integrated into what the user thinks of as 'X,' or it may be a cleanly deliniated sister application.
    You can use one font server for many instances of X.

    The actual GUI is supplied by something a 'window manager.' This can be as simple as a set of primitive widgets, or as complicated as a message-passing framework under a rich widget set, as in the case of KDE or GNOME.

    X is not THE future, but X is a future. It is extensible. It is modifiable. It works well. The things is does not do, it can be made to do.

    All that aside, yes, programming for the X libraries does suck. Programming with GTK, however, is like swimming naked in a moonlit lagoon with Bo Derek. (As in, it does not suck.)

    --
    Blue

    --
    i browse at -1 because they're funnier than you are.
    1. Re:Define: 'we' by Bryan+Ischo · · Score: 1

      I agree with everything you said ... except the part about GTK. GTK does suck.

      We just got rid of Motif (thankfully). Now we get strapped with another C "fake object oriented" graphics toolkit with function names half a page long?

  156. X is crufty!!! Replace it. by Anonymous Coward · · Score: 0

    Sure, X does some things well, but it's got a lot of baggage. In particular, to do any GUI programming one tends to use a layer on top of the Xlib/Xt/etc. stuff like Gtk or Motif because that part of The X Window System is, frankly, a big pile of doo. So you've got Nice toolkit layer, Xt/Xlib layer, X protocol layer, X server. That's a lot of junk to go through! Developing Xt/Xlib apps is such a total joke I won't even dignify it -- look at the way Swing or, *gasp* MFC, does things and tell me X in any way compares for developing a UI. I'd love to see a replacement for X that more directly supported a modern widget set. Dump some at least one of the layers! The notion that because X does some things well and should not be replaced is utterly ridiculous and smacks of some sort of "vi forever" neo-Luddite movement. That is the very thing that is destroying Unix's ability to compete in the marketplace. We should not get so attached to our systems that we ignore progress! Look at the BeOS GUI/development framework. X is stuck in the dark ages. Man, there is so much opportunity for change that is being ignored to serve the almighty X. -Kevin

    1. Re:X is crufty!!! Replace it. by Todd+Knarr · · Score: 1

      True, but then Swing/MFC correspond to things like Gtk or Motif. The Windows GDI interface corresponds to the Xlib/Xt level in X11. Try doing raw GDI development in Windows sometime and see how "easy" that is.

  157. Re:future != X??? by valis · · Score: 1

    Yes. By design.

  158. rage against the consortium by hugg · · Score: 1

    Perfecting the UI is probably THE most important thing in gaining mass user acceptance of UNIX. Joe User doesn't care about whether he uses IMAP or POP3, but he does get frustrated with the total lack of UI consistency among all his apps.

    But I think that throwing out X might be the wrong way to go about it. Maybe we should start from the highest level. Is there an X Application UI Style Guide document? If there were one, would it be followed?

    1. Re:rage against the consortium by Todd+Knarr · · Score: 1

      There's no X UI style guide, because there's no X UI. There are style guides for toolkits like Gtk and Motif that provide a UI and all the widgets, dialog boxes and such that go with it. Whether it's followed or not depends on the developer, but there's certainly some pressure to conform to the common style for each toolkit. There's even some pressure to stick to one toolkit or another, eg. to do new programs using the GTK or KDE toolkits as opposed to Motif or Athena. OTOH, if all I want is a small window that displays a pixmap and responds to mouse clicks ( ie. xbiff ), it's nice to be able to use the relatively simple Athena toolkit and not worry about Gnome/KDE overhead for something that doesn't need it.

  159. We've been making progress... by MenTaLguY · · Score: 1

    Yes, I know, "Berlin"...a piece of software that can do nothing more than render polygons does not an X replacement make.

    You should check by more often. We've got text rendering and widgets, now. OOohh... clicky buttons. :)

    Yes, agreed, it's been pretty slow, but things are beginning to pick up now. It'll still be a while before it's ready for primetime though; I sure hope nobody's suggesting we abandon X until then :P


    ---
    --

    DNA just wants to be free...
  160. Yeah, sure. by Anonymous Coward · · Score: 0

    If its so easy, fix it.

  161. Xfstt by Anonymous Coward · · Score: 0

    sucks. Caused a whole bunch of instability. I know the FAQ addresses this, but I think it's a cop-out (it's not our fault!). I have since been using an X Server with integrated TrueType support, and my system is rock-solid now.

  162. Berlin penetration by MenTaLguY · · Score: 1

    You can certainly use Berlin under X (which is mainly how it's being developed right now). It's also conceivable that someone will write an X server for Berlin in the future, so the transition would not likely be that painful. If Berlin turns out good and people want to adopt it, anyway. Which I think it will.
    ---

    --

    DNA just wants to be free...
  163. Yes, but there are some caveats... by MenTaLguY · · Score: 1

    I think the point of this article is: X has the ability to do everything that you describe natively or with a few extensions?

    However, the design of the original interfaces means that these extensions need to have completely incompatible interfaces. If you want antialiased fonts under X, for instance, you can't just extend the existing font stuff to do antialiasing -- its design won't permit that.

    So, you have to create an entirely new font API, font server protocol, etc etc. Then you have to support two font interfaces for the sake of compatibility. And there's no way for legacy apps to take advantage of anti-aliasing, as they'd be using the old API. Some apps would get antialiased text, some wouldn't.

    You'll eventually end up with three or four APIs and implementations of the same thing, and in fact that's already happened to X in some areas (study ICCCM sometime). To make it worse, any modern program or X server is going to have to support all of them for the sake of compatibility.

    X servers are not lightweight things; it's this accumulation of extensions and interfaces that is one of the major reasons why. It can only get worse -- due to the same factors that have allowed X's rather broken initial design to be "fixed" and survive for so long, throwing out older extensions and interfaces is NOT an option.


    ---
    --

    DNA just wants to be free...
  164. I dig into .Xdefaults all the time by oggodog · · Score: 1

    That's all I have to say.

  165. X is good, but the article is questionable by Anonymous Coward · · Score: 0

    > X is already a mature standard, an excellent
    > standard, and above all, an industry standard.

    > In addition, there is a large infrastructure of
    > companies and developers supporting X

    don't get me wrong--i really like X windows, but don't these arguements (and many others in the article) sound dangerously like the comments of someone speaking on behalf of windows?

    while windows is by no means excellent (or even good) it is to some extent mature and is certainly *the* standard OS in terms of overall market share.

    It boasts the largest availability of applications and developers, and many companies (foolishly) rely on it.

    These things are by no means the reasons that X is great. X is great because it is powerful, stable, and capable. It is scalable and built for the network environment of modern computing. This is why we should support X. not because "everybody's doing it."

    I hate windows as much as the next person (assuming he hates windows as much as i do...) but if we were all to support a single industry standard, it would have to be windows. hopefully, we can ditch this and support software that actually works. (i.e., X)

  166. Do GTK and QT use .Xresources? by Anonymous Coward · · Score: 0

    If you're just looking for something to coordinate the colors and fonts and similar properties, then the .Xresources mechanism works well for all things using Xt (motif, Athena & co.). If GTK and QT also respond to X resources, then the basic problem is already solved.

  167. FBCON by Anonymous Coward · · Score: 0

    How many applications really benefit from a GUI? This is more or less what I want to do: code create documents surf the web email play games I don't want (or need) X. I want a wysiwyg word processor, graphical web browser, and good games ported to fbcon. p.s. I've got a clock on the wall, I can adjust the stereo with the little knob, and I don't need a background of Pamela Anderson (although she is kind of cute).

  168. separate console is good by Anonymous Coward · · Score: 0

    IMHO having a console underneath the window system is a good thing. DOS/Win3.x is much better than Win9x (though they're both horrible because they're from Microsloth) I like being able to have no graphics running at all if I want. With Linux' virtual terminals, you can get the same effect as having 6 xterms open (which is hard to fit on my desktop) If only there was a good console editor... but I won't get into that.

  169. FBCON by Anonymous Coward · · Score: 0

    Oops-should have used the preview button!

    How many applications really benefit from a GUI?
    This is more or less what I want to do:

    code
    create documents
    surf the web
    email
    play games

    I don't want (or need) X.

    I want a wysiwyg word processor, graphical web browser, and good games ported to fbcon.

    p.s. I've got a clock on the wall, I can adjust the stereo with the little knob, and I don't need a background of Pamela Anderson (although she is kind of cute).

  170. I agree for the most part by Anonymous Coward · · Score: 0
    X has been around for years and has thousands of apps written for it. Developers creating a GUI from the ground up would have to overcome this massive inertia.

    X lets me run programs over the network. This isn't a big deal for most one-computer linux users, but the minute you put another linux box on your home network (You DO have a home network, right?) it becomes important. Or if your room mate wants to run a Linux program on their Windows box, they can get one of the commercial X servers and do so. I use this feature every day at work to run Lotus Notes from an AIX box and to run assorted Linux programs from various machines in my lab. Any replacement for X would have to offer this functionality for me to even consider it.

    X presents my windows the way I want to see them. I can pick any window manager I want based on either speed (9wm notably fits in a meer few K of RAM) or looks. I personally run E on pretty nice hardware at work and pretty modest hardware at home. Again, any replacement for X would have to offer similar functionality to compete.

    X is intuitive to program and has some damn nice toolkits. I've always found X to be more intuitive to program than either OS/2 or Windows. It's laughably easy with GTK. And since GTK's being ported to assorted other non-X systems, my programs have a pretty good chance of being portable too.

    Despite what people say about it being slow, I don't tend to find it to be slow. It is quite snappy on my hardware (Even with E and Gnome running) and very rarely slows down. I hear tell that both OS/2 and Windows run the GUI at a high priority compared to the rest of the system so that the GUI will seem more responsive even under system load but you know, you're draining CPU cycles from SOMEWHERE when you do that. You might experiment and renice X to -10 sometime and see how that affects the performance of the system.

    One quibble though. I find that Motif completely blows and GTK is quite obviously on the fast track to replacing it as the standard for X programming. This can't happen fast enough to suit me. GTK offers infinitely more flexibility and looks a lot better too. The sooner everyone (Even commercial companies) move to GTK, the better off the industry will be.

  171. Re: Technical Specs by Bob+Uhl · · Score: 1
    It's pretty hard when you don't have the manual and your monitor does not have any useable info printed on the back of it. This is a fairly common situation a) at work and b) when you buy a computer secondhand.

    Besides, why should X need to be told about it when Windows 9X & NT, MacOS, BeOS and others can figure it out for themselves? I submit that it is an itch wh. no-one cares about scratching; you get your system running with baling wire and duct tape and then it never bothers you again.

    As a general rule, as little input from the user as possible should be required. The CPU has enough idle cycles to figure nearly anything out. Let it.

  172. Re:X *is* a media-savvy, compositing GUI! by Anonymous Coward · · Score: 0

    >As the article said, why replace X when you can simply extend it?

    Bloat mean anything? By replacing X you can design out X's deficiencies and design in its limitations.

    >Can we persuade UNIX vendors to use Berlin?

    I say who friggin' cares? Screw all the other vendors. If they don't recognize a better framework, it's a shame. Just because it's a standard doesn't mean it is good. I thought the point was to have the best software? But it is very likely that Berlin will have an X compatibility layer (it won't get any widespread adoption otherwise). Then, GTK/QT will work, and so will all the apps, then you can start porting GTK/QT to Berlin if you want, and there ya go, a group of developers don't ever notice the transition.

  173. Keep X, ditch Motif by Bryan+Ischo · · Score: 1

    I agree with everything the author said, except that I think it's stupid to try to prolong the lifespan of Motif.

    X is part of what made Unix great, Motif is what almost ruined Unix forever.

  174. Re:No we don't. We need a standard audio server by elflord · · Score: 1
    There's no reason why we need to make the audio server a part of X. What we need is consolidation. This will happen when KDE and GNOME can standardise on the same audio system. In the long term, my guess is that KDE and GNOME will become the new GUI standard(s) in the UNIX world.

  175. A strange atitude by Anonymous Coward · · Score: 0

    I can't take any serious criticism from someone whose main argument is that we should not make new things because they're new and new things are worse than old things. New things are fun. New things give you something to play with, demonstrate, fix, extend, etc. They might even (gasp) have features the old things don't.

    The point (I suppose) he might be trying to make is that berlin development (or GGI, Y windows, console DPS, YAX, or any of the others playing around in this field) "takes away" developers from other projects. This is imo a load of hooey. The more enthusiasm there is for a category of work, the more work gets done. This is free software and we _cross pollenate_. The "vanishing developers argument" is like the lame-ass argument that Gnome and KDE take away from one another. Hello! The one was invented to compete with the other, and they've been going at it like _mad_ specifically because they feed of one another's ideas. Developers work on what they're interested in and always have. These new GUI projects are the clear manifestation of peoples' desire -- not business sense or strategic planning but straight up desire -- to work on GUI software and their disappointment with what they see in X. You can't make someone un-disappointed.

    I mean, almost everything we now use started off as a new playful toy in some developer's spare time. Is this really a linux user saying that we should avoid "crackpot alternatives"? how many months ago was linux considered a "crackpot alternative" to mainstream OSs? this is just the most absurd argument.

    -graydon

  176. X is *NOT* an elegant client/server protocol by Anonymous Coward · · Score: 0

    Compared to mobile code systems like NeWS. Just think about the following and tell me what sounds more elegant and efficient: 1) draw rectangle, draw image send mouse events, when mouse click down, draw rectangle, draw image. when mouse up, draw rectangle, draw image 2) define a procedure called mouseDown, transmit to server. All drawing handled in server. Only interesting events like mouseDown/Up action are transmitted. #1 is lame ass X, or old protocols like Doom, Quake 1. #2 is mobile code systems like NeWS or Quake3 (or Unreal). The idea is to save on bandwidth (which is far more precious than CPU) by using a safe VM with mobile code that is transmitted between client/server to scale down on network traffic. It's patently obvious that it is better to trade off CPU speed in a VM so that your windowing system will be more snappy over a modem connection or even a LAN. Hell, NeWS and Display Postscript ran great on old 50Mhz CPUs, and now the average person has a CPU 10 times faster. What else sucks about X? Font support. Pathetic, bitmapped monochromatic non-antialiased fonts. Do you know how frigging easier it is to code up a great drawing/text app in GDI, Java2D, or on the NeXT compared to X and the X libraries? How about printing support? Color profile support? Color matching? Gamma? 3D? The fact is, X forces a programming paradigm on developers (and even widget libraries) that totally fucks you when you want to do high quality 2D graphics, layout, and printing. It can be done, but only by extending X or writing HUGE amounts of do-it-yourself custom code. Sure, you can say "X is just a network protocol", but the fact it, it does too little for programmers and the result was a plethora of competiting widget libraries, extensions, and hacks to get around limitations, contributing to the bloat of X and Linux apps, and the general suckiness of the X UI. Take off the rose colored glasses, roll up your sleeves, and replace it. GTK and QT could be recoded to use whatever new protocol is developed, and most apps would port cleanly. You could also run an X server on top of whatever new protocol you developed, or keep one around just in case. Needless to say, X sucks and definately needs replacement, NOT extension, to overcome it's design flaws.

  177. X is *NOT* an elegant client/server protocol by Anonymous Coward · · Score: 0

    (damn HTML format)

    Compared to mobile code systems like NeWS.

    Just think about the following and tell me what sounds more elegant and efficient:

    1) draw rectangle, draw image
    send mouse events, when mouse click down,
    draw rectangle, draw image. when mouse up,
    draw rectangle, draw image


    2) define a procedure called mouseDown, transmit
    to server. All drawing handled in server.
    Only interesting events like mouseDown/Up
    action are transmitted.

    #1 is lame ass X, or old protocols like Doom, Quake 1. #2 is mobile code systems like NeWS or Quake3 (or Unreal).

    The idea is to save on bandwidth (which is far more precious than CPU) by using a safe VM with mobile code that is transmitted between client/server to scale down on network traffic.

    It's patently obvious that it is better to trade off CPU speed in a VM so that your windowing system will be more snappy over a modem connection or even a LAN. Hell, NeWS and Display Postscript ran great on old 50Mhz CPUs, and now the average person has a CPU 10 times faster.

    What else sucks about X? Font support. Pathetic, bitmapped monochromatic non-antialiased fonts. Do you know how frigging easier it is to code up a great drawing/text app in GDI, Java2D, or on the NeXT compared to X and the X libraries? How about printing support? Color profile support? Color matching? Gamma? 3D?

    The fact is, X forces a programming paradigm on developers (and even widget libraries) that totally fucks you when you want to do high quality 2D graphics, layout, and printing. It can be done, but only by extending X or writing HUGE amounts of do-it-yourself custom code.


    Sure, you can say "X is just a network protocol", but the fact it, it does too little for programmers and the result was a plethora of competiting widget libraries, extensions, and hacks to get around limitations, contributing to the bloat of X and Linux apps, and the general suckiness of the X UI.

    Take off the rose colored glasses, roll up your sleeves, and replace it. GTK and QT could be recoded to use whatever new protocol is developed, and most apps would port cleanly. You could also run an X server on top of whatever new protocol you developed, or keep one around just in case.

    Needless to say, X sucks and definately needs replacement, NOT extension, to overcome it's design flaws.

  178. X is doomed! by Anonymous Coward · · Score: 0

    The future == JavaOS. Stop kidding yourselves! XFree86 is a disgrace to the Open Source movement. The non-OSS commercial vendors have done a much better job writing X Servers than XFree86. Let's face it, X is hard to program. The X Window programmers have become Java programmers because that's where the money is. It's just a matter of time before the "suits" take over with JavaOS and Linux/X are no more.

  179. X IS NOT A GUI! by elflord · · Score: 1
    There is no reason why X precludes a "web GUI". X does not deal with user interface issues, it deals with drawing graphics on the screen. You could have a pure web interface without getting rid of X.

  180. Re:future != X??? by dehuit · · Score: 1
    Also, you don't write a programme for DRI or GLX. You write for OpenGL.

    True for DRI, not true for GLX. You have to write your windowmanagement code in GLX (or in something else if you don't have GLX). OpenGL is for the graphics in the window.

    So you have to no something about your display to use OpenGL.

  181. Offtopic - XTux by cr0sh · · Score: 1

    I have to say the storyline to this game sounds wonderfull - sorta like XBill, but more graphical. I will have to download it and try it out someday...

    --
    Reason is the Path to God - Anon
  182. I don't really understand the logic here by MenTaLguY · · Score: 1

    Your reasoning seems to run something like:

    • Given:
    • X has network transparency
    • Other such systems do not
      therefore:
    • Any new system that is not X will not have network transparency.
    • Given:
    • Any new system that is not X will not have nework transparency
    • Network transparency is critical
      therefore:
    • X should not be replaced by a new system.

    That doesn't wash: the first argument is flawed. X was not the first, nor was it the last, network-transparent "GUI" (NeWS comes to mind). Even Win32 is capable of network transparency -- without breaking the existing APIs! I've used Windows Terminal Server before; if it weren't hamstrung by NT's other architectural issues, it'd be every bit as useful as X.

    I think it's a realistic expectation that anything that could replace X would have network transparency. Certainly, all of the alternatives I'm aware of that are currently in development do. (Y Windows, Berlin, etc...)

    As far as uniform means of graphical communication between Unices, again, all of the alternatives I'm aware of build on quite a few different Unices (Y Windows, Berlin, etc...)

    X and related protocols are really horribly designed; their extensability and network transparency are their only redeeming qualities. People seem to cling to these features irrationally, in the face of all the other deficiencies, as if they were some marvel of engineering. They represented some degree of foresight on the part of the designers, but they are most certainly not unique to X.


    ---
    --

    DNA just wants to be free...
  183. Re:Effects of abondoning X by Yarn · · Score: 1

    GTK accesses X via GDK, which can be rewritten.

    How IMLIB interfaces with X I dont know, I expect it has some direct connections to help speed the process.

    QT is availible for other operating systems, so rewriting it for another windowing system should be easy

    --
    -Yarn - Rio Karma: Excellent
  184. Re:My Biggest Problems with X by Yarn · · Score: 1

    I assume he means that anything selected automatically goes into the primary paste buffer, to be pasted via ctl-ins (usually) or the middle mouse button.

    --
    -Yarn - Rio Karma: Excellent
  185. Re:My Biggest Problems with X by hadron · · Score: 1

    XFree requires practically nothing. They don't have to comply with the X standard : they just choose to do so.

  186. Re:My Biggest Problems with X by hadron · · Score: 1
    There are some points you make that are good. There are other points that are either lies or stupidity.

    1) Bullshit. Anyone can join XFree86, who wield substantial influence.

    2) X consortium tried to make X11R6.4 proprietary. They failed. Want to know why? Because they didn't want XFree to fork their own release, as they knew that everyone would just ignore the X consortium.

    5) and 7) (which are the same point, really).

    It will be as hard to push Berlin onto unwilling users as it is to push gtk+ / QT / whatever onto unwilling users.

    Yes, you are biased on the subject. Please stop spreading lies about X.

  187. Re:Anyone know lots about X? by Alex+Belits · · Score: 1

    Anyone know WHY X feels slower?

    IMHO X feels slow because you can see separate widgets being redrawn in cases when Windows does double-buffering that works simultaneously on multiple widgets in the same window. Redraw time may be the same, but looking at static picture that changes at once makes it feel that the whole process happened faster.

    In my case i have not much use for network transparency, and pcanywhere appears to do this much better anyway without the transparancy.

    This happens because you use relatively high-latency or slow network without lbxproxy or compressed ssh X forwarding.

    --
    Contrary to the popular belief, there indeed is no God.
  188. Re:Also Wrong by Alex+Belits · · Score: 1

    11 is not a version number.

    /usr/X11R6/include/X11/X.h:

    #define X_PROTOCOL 11 /* current protocol version */
    #define X_PROTOCOL_REVISION 0 /* current minor version */

    --
    Contrary to the popular belief, there indeed is no God.
  189. Re:The X protocol is too slow and chatty by Alex+Belits · · Score: 1

    If I remotely start Applix-UNIX on a SUN it runs faster than a remote Applix-NT. Whether this is just my imagination or real, I dunno. I don't think this is important anyway, since it's always subjectivity that counts.

    Most likely you run it over low-latency line, forwarded over ssh X proxy in compressed mode while other have high-latency line and no proxies.

    --
    Contrary to the popular belief, there indeed is no God.
  190. Eye candy and remote display by chuck · · Score: 1
    When I first began using X, I found it to be ugly and difficult to use. As it turns out, I had unfairly prejudged it, because they were the applications that were ugly and difficult to use.

    When you say folks think that X is outdated and should be replaced, that doesn't really say anything about what's wrong with it. Yes, X is very old, in computing terms, but I think its longevity has proven something about its incredible capability. Not to mention, nice projects like GNOME and KDE have definitely alleviated the ``ugly and difficult to use'' situation.

    Despite any problems I've ever had with X, all that goes away when I start a remote KDE session on my Windows box using the MicroImages X server. The whole remote display thing is pure genius as far as I'm concerned. And using Xnest to get a session on another box is just rockin'. I don't even know about another windowing system that can do anything like this. If there is, I'd like to see it.

  191. Re:X or no X by dmiller · · Score: 1

    X has never looked better. We already have two excellent desktops, window managers that cater for just about everyone's tastes and are soon to get an OpenGL DRI and Xinerama.

    While it is a pity that X still lacks alpha channel and anti-aliased font support in the server, there is no reason that this cannot be added because X is fully Open Source. It also has the distinct advantage over its "challengers" in that it is not just vapor :)

  192. X Window System by DrSpoo · · Score: 1

    There's an old saying:

    "X is the second worst window system ever invented.
    Everything else is tied for first."

    How true that is!

    --
    Sig (appended to the end of comments you post, 120 chars)
  193. Re:fvwm kicks NT butt! by gavinhall · · Score: 1

    Posted by Nr9:

    bwhahahhaha
    NT has MDI applications
    ahahhahahhaah
    MDI microsoft invented MDI
    i hate MDI. don't u hate it when ure running a word processor and typing in two documents and can't have a web page on top of the bottom document and typing from the top document?

  194. I don't think so by shaldannon · · Score: 1

    One of my friends told me that that was an SGI machine and that they really do have a 3d fm for it...he wants to see one for Linux, matter of fact...


    Who am I?
    Why am here?
    Where is the chocolate?

    --


    What is your Slash Rating?
  195. Re:Antialiasing in action by Falathar · · Score: 1

    Actually font aliasing blurs the font out, most often making it harder, not easier, to read (IMHO). It's helpful for lines, curves, etc. but definitely not for fonts. Unless you don't value your eyesight that is.

    Antialiasing doesn't sharpen anything. How can it? It's blurring it to make it smoother. And it's not a really trick of the human eye either. I've yet to see a computer graphics book that properly discusses the reasons for antialiasing. But a lot of that is because many CS types don't have a good background in Fourier analysis. The human eye, much like a monitor, is a point-sampling device. However, the human eye has much higher resolution than any monitor can hope to achieve. As a result, the lower sampling frequency of the monitor is visible as the so-called "jaggies" (high frequency transitions). Anti-aliasing attempts to reduce the impact of the jaggies by interpolating pixels to produce smoother (lower frequency) transitions graphically.

  196. Re:Amiga will use X by TedC · · Score: 1
    Unless they've changed their mind again, the new Amiga will be using X.

    You are correct, according to their recent technology brief Amiga is using X, and AFAIK they haven't changed their mind. This makes a lot of sense, and follows along with their plan to integrate existing technologies instead of reinventing everything.

    I suspect that the only Amiga specific additions will be a Workbench window manager and desktop environment, and probably a new gui toolkit as well. It will be interesting to see if they base their stuff on Qt/KDE or GTK+/Gnome, or if they do something new. There has to be something new and different in order to interest people enough to buy, and it's probably a safe bet that they're going to concentrate on the visible elements, and leave the "below the surface" stuff alone.

    TedC

  197. Re:NeWS by John+Allsup · · Score: 1

    The good bits of NeWS seems to be one of the design aims of the Berlin project. However, so far as doing it the right way is concerned, consider that they used 'Object Orientated Postscript'!!??
    John

    --
    John_Chalisque
  198. Yes, X does have problems by nathanh · · Score: 1

    There are a number of design flaws with X, though I think the commonly claimed ones are pure madeup nonsense. Here are some of the real ones.

    --

    1) X doesn't let you store "methods" on the server side. This means, for example, to draw a rounded box you have to draw 4 arcs and 4 lines. Need to draw another rounded box? That's another 8 drawing operations.

    More modern windowing systems (such as Display PostScript) let you store procedures/methods on the server. You can create a method DrawRoundBox which performs the 8 operations. Then you send only 1 command to draw rounded boxes.

    Server stored methods don't seem to be popular though. Probably because the server is far more complicated, needs far more ram, and in practice the overhead of the device independent language outweighs the benefits of reduced pipe traffic.

    2) X uses a client/server model. All instructions pass over a single pipe. This is often (correctly) accused of being X's most significant bottleneck for performance. But most people incorrectly think the solution is to throw the pipe away.

    However the pipe is only truly a hinderance when doing large bitblits, such as for games or doing an animation. The X pipe isn't a problem for any normal windowing operations (drawline, drawtext, createwindow) which constitute 99% of normal work.

    If you think about it, all systems need some way of synchronizing multiple client requests to the display, and a pipe does so neatly. No serious windowing system uses clientspace functions which directly modify the framebuffer!

    So the actual problem is how to keep the pipe but decrease the time spent copying pixmaps over this pipe. And remember, this is only for the benefit of programs which heavily blit the display (quake or xanim are perfect examples).

    MITSHM tried to solve the problem by letting you draw directly to pixmaps on the server's side of the pipe, but you still needed to copy that pixmap into the framebuffer. No good.

    DGA solves the problem by giving you full access to the framebuffer. You write directly to vidcard memory. There are no wasted copies. No problems with the pipe getting in the way. DGA wins.

    Take note that MacOS/Win32 (the components which can be compared to X11) work exactly like X, with queued messages to communicate between clients + display and a direct graphics access mode for any apps that need high speed unencumbered blits.

    3) Font handling in X is ancient. There isn't any way of arguing against this. X fonts were designed before scalable fonts gained popularity. Scaled fonts in X are a nasty hack onto a system which doesn't understand them.

    Font and cursors were also implemented as bitmaps instead of pixmaps. This means you get black/white fonts with no anti-aliasing against the background colour. It also means that cursors look ugly and have limited capabilities.

    The only solution here is to extend the protocol (ie start coding X12).

    4) X has tonnes of legacy baggage. This can't be argued against either. XResources? Great idea, but don't seem to be used very much. XIntrinsics? Not a bad idea, no widget set seems to use them. XPrt? Exactly the same as GDI or QuickDraw printing, but nobody in the X world wants to use it. Support for DECNET? Throw away that baggage!

    --

    New extensions to X are fixing problems that have been caused by advancing hardware. DRI, XKB and Xv are all perfect examples of new advances in X that have loads of functionality and in some ways have been implemented better than commercial windowing system alternatives.

    Most of the problems in X are honestly a problem with users and developers, or people's failure to understand that the X way of solving a problem is no worse than competing windowing systems. A good example of people not understanding the problem and the solution is evidenced by the neverending complaints against the X client/server pipe.

    1. Re:Yes, X does have problems by Daniel · · Score: 1

      ) X doesn't let you store "methods" on the server side. This means, for example, to draw a rounded box you have to draw 4 arcs and 4 lines. Need to draw another rounded box? That's another 8 drawing operations.

      I like this idea. Let's do it in Guile :) *ducks*

      No, we'd need a simple language (like the pseudo-assembly used for Mac SCSI) that can go into the X protocol..sounds like a great idea for X12..

      2) X uses a client/server model. All instructions pass over a single pipe. This is often (correctly) accused of being X's most significant bottleneck for performance. But most people incorrectly think the solution is to throw the pipe away.

      However the pipe is only truly a hinderance when doing large bitblits, such as for games or doing an animation. The X pipe isn't a problem for any normal windowing operations (drawline, drawtext, createwindow) which constitute 99% of normal work.


      Thank you!! I've been yelling myself blue trying to explain this to idiots who think network-transparency explains the 'slowness' of X..

      MITSHM tried to solve the problem by letting you draw directly to pixmaps on the server's side of the pipe, but you still needed to copy that pixmap into the framebuffer.
      No good.

      DGA solves the problem by giving you full access to the framebuffer. You write directly to vidcard memory. There are no wasted copies. No problems with the pipe getting in the way. DGA wins.


      I disagree. Both are good in different circumstances. MITSHM, while actually adequate for games, is best for window-managers, graphics programs, and other systems that just want to display pixmaps. These programs don't need to be suid root or writing directly to display memory -- in fact, doing so would be a security and stability risk. SHM is a good comprimise for these. Games, on the other hand, would do well to use DGA.

      Also, you forgot a third option: server-side pixmaps (in fact I think many window-managers and so on may use this..but I know Imlib at least uses shm) These work well, even over a network, for many programs -- especially games whose graphics are built using tiles (Freeciv for example :) )

      3) Font handling in X is ancient. There isn't any way of arguing against this. X fonts were designed before scalable fonts gained popularity. Scaled fonts in X are a nasty hack onto a system which doesn't understand them.

      Absolutely.

      New extensions to X are fixing problems that have been caused by advancing hardware. DRI, XKB and Xv are all perfect examples of new advances in X that have loads of functionality and in some ways have been implemented better than commercial windowing system alternatives.

      I still haven't worked out how to use XKB/Xinput yet.. :-/


      Most of the problems in X are honestly a problem with users and developers, or people's failure to understand that the X way of solving a problem is no worse than competing windowing systems. A good example of people not understanding the problem and the solution is evidenced by the neverending complaints against the X client/server pipe.


      <AOL>I agree</AOL>

      Daniel

      --
      Hurry up and jump on the individualist bandwagon!
  199. Re:MacOS X GUI by Aaron · · Score: 1

    I could be talking out of my ass here, but I believe the icons are actually 48x48. Of course, the screenshot link was bad, so I couldnt check for sure... I do know that a lot of mac users were bitching over the initial rhapsody stuff when they found out NeXTStep/OpenStep/Rhapsody used 48x48 icons rather than the 32x32 icons of traditional MacOS.

  200. Re:X windows woes by Chemical+Serenity · · Score: 1

    Damn... and I was so particular to NOT use the term "X Windows" in the body of my text too. Gotta watch that, too easy to slip in it.

    --
    rickf@transpect.SPAM-B-GONE.net (remove the SPAM-B-GONE bit)

    --
    "People will pay big bucks for the luxury of ignorance."
  201. Re:X's Client/Server Model by Enahs · · Score: 1

    X eats bandwidth for breakfast...sends lotsa primitives

    --
    Stating on Slashdot that I like cheese since 1997.
  202. Re:My Biggest Problems with X by Enahs · · Score: 1

    Hrm...about Netscape...I use Netscape with an XFree server and notice no problems when scrolling. What kinda card are you using?

    15 toolkits to run *8* apps? Is this New Math???

    I use apps from different toolkits, and they're all pretty consistENT, but that's because the toolkits all mimic Motif. (Ever heard of it? :^)

    I'd personally like to see the Windows machine that can run flawlessly for 8 hours :^)

    Are you a Microsoft troll or what? ;^)

    --
    Stating on Slashdot that I like cheese since 1997.
  203. VNC==Suck ASS! by Enahs · · Score: 1

    'Nuff said. :^)

    Actually, no...with XDPC ( I think that's the name) X over a dialup line is quite bearable...try doing much of anything over a dialup using VNC 8-P

    --
    Stating on Slashdot that I like cheese since 1997.
  204. X != Linux (was Re:The Advatages) by Enahs · · Score: 1

    We're not talking Linux, we're talking X. While we're at it we're talking advantages, not selling points. :^P

    Quite frankly, it amuses me that, all told, despite the fact that EVERY connection to an X server is a network connection (even if the client is on the same machine) that benchmarks are comparable to Windoze systems.

    I love the fact that X doesn't seem to be too much of a bottleneck for projects such as, say, Wine. I'd say, given more development (hint, hint, developers looking for a challenge :^) that Wine on X could blow the doors off of Windows.

    --
    Stating on Slashdot that I like cheese since 1997.
  205. Re:For local performance, what about D11? by Enahs · · Score: 1

    Looks like D11 is actually a proposal for an X11 replacement, but I'll bite...

    Would this be possible, what the original author of the post proposes? Would it be possible to add a special case for "localhost"? I've always wondered about this. I know that some of the paleolithic "network computers" used some kind of special localhost-only X server; perhaps something like this could be done...

    Just idle ramblings.

    --
    Stating on Slashdot that I like cheese since 1997.
  206. Re:configuration mostly by Mark+Pitman · · Score: 1

    XF86Setup is part of XFree86, not part of FreeBSD. I use it on Linux all the time.

  207. Re:Criticisms I have read elsewhere... by Daniel · · Score: 1

    Confusing user interface

    X doesn't have anything to do with a user interface, it's a display server. I fail to see the point. Separating the mechanism of display from the things displayed is a *good thing*.

    Too much versatility, leading to overly complex or impossible interprogram communication: "cut-and-paste never works properly with X (unless you are cutting and pasting straight ASCII text)

    I agree, cut-and-paste with X is problematic. On the other hand, middle-button paste is way cool. :) I want to see that extended to more data types in the next X iteration..

    X is a non-extensible window server - in contrast to NeWS. X was based around the concept of a dumb graphical terminal, and it uses a lot of data to achieve that.

    I don't know much about NeWS, but:
    -> I like the iea of a fairly dumb display server. A display server just display :) Putting widget sets and stuff server-side, if that's what you're talking about, is kind of interesting. I'm not sure how I feel about it :)
    -> I'm not sure what you mean about non-extensible. That sounds like a problem with particular implementations -- there are various X extensions floating around (such as OpenGL, shared memory, and other things)

    X programs have lots of nasty user interface problems, including X configuration.

    That's an application problem, not X's fault.

    X has bad hardware support - This is out of place, isn't it?

    Sounds like a problem with particular implementations to me.

    X isn't device independent, or maybe has a limited graphical toolkit? "Drawing arcs is probably impossible in a portable fashion."

    They may be referring to colordepth handling, which is a definite problem.

    Other criticism I've heard that the X protocol should take advantage of the locality if the client and server are operating on the same machine. This only makes much sense to me if the cpu overhead in dealing with the network protocol is noticeable; being able to transparently work from another machine is too nifty to throw away.

    I really think this is a baseless comment -- I haven't heard any solid explanation of *how* X would 'take advantage of the locality'. Given that we have a client-server model, there must be a mechanism of communication; this is almost certain to be a stream protocol, and indeed X uses UNIX-domain sockets. These tend to be extremely efficient for almost everything; those programs that really need more bandwidth can use DGA or SHM. (even on a totally non-accelerated server -- fbdev -- SHM gave me a good framerate in the Myth2 demo)

    In general, I feel that the UNIX-hater-handbook folks are a lot of people who were frightened by sh as a child or something and now feel that their purpose in life is to make snide remarks about UNIXy systems without offering any real suggestions for improvements. Which I guess is why it's called 'the UNIX Hater's handbook'

    Daniel

    --
    Hurry up and jump on the individualist bandwagon!
  208. Re:Printing by Daniel · · Score: 1

    No! No, no, no, no, no! This is the job of a printserver and a printing library (maybe the widget set) -- not, I repeat NOT the display server! The display server displays. The print server prints. The mail server mails. The foo server 'foo's. This is a Good Way to do things.

    Gnome's solution here is (IIRC) to make the drawing canvas support multiple targets, one of which is Postscript to be sent to the printer.

    That said, print support in Linux sucks. :) But it's not X's fault.

    Dnaiel

    --
    Hurry up and jump on the individualist bandwagon!
  209. Re:I want my GUI to get more info from the app by Daniel · · Score: 1

    Um, this has absolutely nothing to do with X itself. X just draws what programs tell it to, if they don't tell it to draw menus when the user clicks that's their problem. You want more integration between the WM and the programs.

    Daniel

    --
    Hurry up and jump on the individualist bandwagon!
  210. Re:Anyone know lots about X? by Daniel · · Score: 1

    HOWEVER X really doesn't "feel" as fast as my win95A partition (needed for school) on my computer. The mouse seems sluggish and jerky (very much like when playing 8 player starcraft on it (p120)).
    Anyone know WHY X feels slower?

    Probably because X is just a normal process, while the Win95 GUI is partially integrated into the kernel. This means, in particular, that the mouse doesn't move until X is allowed to read from /dev/mouse. I think reaction time to mouse clicks is no more in X than in Windows, but the mouse seems like it's moving more slowly.

    In my case i have not much use for network transparency, and pcanywhere appears to do this much better anyway without the transparancy.

    As I keep pointing out -- given a client-server architecture, no-one has suggested out a realistic alternative to some sort of stream protocol to communicate between them. UNIX sockets are extremely efficient for most cases, and SHM is available for things (ie, big pixmaps) which need more bandwidth. Once you have one stream protocol, though, you can generally support TCP with a trivial code change (most operations have the same semantics on any socket-based connection). The small bit of extra code won't be loaded into memory if you don't use TCP so it's not a loss that way. In other words, network transparency really doesn't hurt a local-machine situation much. Now, you can argue about what is transmitted over the network (some people think the display should be abstracted at the widget level..I don't, but..) but network transparency itself is a Very Good Thing. [tm]

    Also, i think it would be a good idea to wait for V4 to come out before we switch to a faster windowing system.

    AFAIK, X is currently at Version 11, Revision 6. (hence X11R6) So you're a little late :)

    Daniel

    --
    Hurry up and jump on the individualist bandwagon!
  211. Re:Hard to program? by Daniel · · Score: 1

    by starting over again with hardware acceleration on every drawing function and modern programming techniques like multithreading and message queues,
    The only thing I can see helping them is multithreading..message queues, AFAIK, aren't much different performance-wise than pipes/sockets like X uses and probably are worse than SHM (although I'm sure Berlin supports SHM) -- and I believe X can already hardware-accelerate everything if it chooses, no? (yes, I don't fit your criterion for replying, but the thing about message queues was too much :) )

    BTW, how is Berlin coming? Last I heard there was celebration because they'd gotten it to draw two overlapping triangles on the screen or something.. :-/

    Daniel

    --
    Hurry up and jump on the individualist bandwagon!
  212. Re:WYSIWYG by Daniel · · Score: 1

    2. Device transparency which has true WYSIWYG support for all devices. The code which talks with the screen should also be able to talk with my printer, plotter, network, etc. What I display on one device must look the same on another device within the bounds of that device's capabilities.

    I think this should be the job of some document-rendering engine (like GnomeCanvas) rather than the windowing system. X is just a server to draw on the screen. Trying to make it replace lpd is a Bad Idea..

    Daniel

    --
    Hurry up and jump on the individualist bandwagon!
  213. Re:X Weaknesses by Daniel · · Score: 1

    It's worth noticing that the network model IS being worked on in X4, with the Direct Rendering Infrastructure (Interface? I've forgotten already.)

    Wow, I must be really advanced..I seem to be running X11 here.. :)

    We have QT and the GTK, and Motif, and some other toolkits, but there's no unifying conceptual interface.

    Whether this is good or not, this soapbox is (or should be) totally irrelevant to X itself. X's strength is its simplicity: it draws stuff. This is a fundamental concept in UNIX: make small, specific but general within a specific area, and powerful tools. If X is to be replaced it should be with another general-purpose display server, not something which thinks that the only thing you want to draw is a button.

    Daniel

    --
    Hurry up and jump on the individualist bandwagon!
  214. Re:The real problems with X by Daniel · · Score: 1

    No sound support in X stream. I can export my display to a remote machine and work great from there -- until I want to do audio/input or output. Then my sounds comes out halfway across the universe. Great.
    X is a display server. It shouldn't be in the job of playing sounds. You need a sound server (NAS, rplay, ESD, ...)

    No 3D support. You can graft OpenGL on top of X, but then you've got this kludge with two APIs. The OpenGL API has nothing in common in the Xlib API. Weird. This should be unified.
    No! OpenGL's strength is that it code for it can run on many systems. For example, it can be integrated into X..or Win32..or BeOS..or Hurd (well, not yet)..or..or..

    Gross design. Does the protocol *really* need that many things in it? Can't we abstract some of that into a higher layer? Ugh.

    My impression is that it is intentionally general-purpose and low-level; it's a protocol for drawing on the screen. Widget sets are for higher-level operations. (there are some interesting ideas of 'widget servers'..berlin being the most obvious one..but I don't think you can cut out the low-level stuff without hampering the client's ability to decide what to do)

    Daniel

    --
    Hurry up and jump on the individualist bandwagon!
  215. Re:Areas for improvement by Daniel · · Score: 1

    [compression snipped..it would be a good thing although it's not critical]

    And from what I hear other people saying about the protocol, there is some room for simplification.

    I'm generally careful about what I hear people saying..there are always people who dislike a system and then come up with explanations. (not that that's necessarily the case here, but in general :) )

    Efficiency. The protocol needs to make better use of information already sent. Invalidate-areas would be great. Additional primitives to do basic stuff like BitBlt could help things along.
    Maybe I'm confused, but Expose events already give the exposed area and there is a pixmap-copy operation unless I miss my mark..

    Common controls aka widgets. You shouldn't need a toolkit to draw the standard user interface. There is a lot to be said for a few simple controls built into the standard. (This might be a "layer" issue--do they go in the window manager, the toolkit, or the GUI?) I think widgets belong in the GUI so every programmer can depend on them being there. I've seen 10 different shapes of buttons, 3 major types of scroll bars, etc. etc. Make it standard, so the programmer doesn't have to worry about it, and the user understands what they see!

    Repeat after me:

    X IS NOT A GUI!
    X IS NOT A GUI!
    X IS NOT A GUI!

    X just draws stuff on the display. Agnosticism about GUI style is one of the things that makes it so flexible.

    Daniel

    --
    Hurry up and jump on the individualist bandwagon!
  216. Re:audio and other "local" resources by Daniel · · Score: 1

    Excuse me, but this is completely irrelevant. X is a network display system and has nothing to do with your sound card. NOTHING! If you want a network sound server that's great and I think it's a worthy goal, but it is not a deficiency in the X server that it doesn't have a sound server welded to it. If nothing else, people using text-mode or other windowing environments might want sound as well!

    Daniel

    --
    Hurry up and jump on the individualist bandwagon!
  217. Re:Everything we'd need in a potential replacement by Daniel · · Score: 1

    (I'm using traditional, rather than X notions of client and server)

    Um. A server is something which accepts connections, takes requests, and Does Stuff (possibly returning information to the client). This is exactly how X works: a client conencts to the server, requests that the server do things for it (in this case, draw on the screen), and the server does it. There's nothing backwards about this at all.

    Daniel

    --
    Hurry up and jump on the individualist bandwagon!
  218. Re:X doesn't save state. VNC does. by Daniel · · Score: 1

    This has nothing to do with X. X just displays stuff on the screen. Saving state is the job of the client libraries/session manager. (none of which work right but that's a separate argument)

    Daniel

    --
    Hurry up and jump on the individualist bandwagon!
  219. X is orthogonal to "human I/O" by Daniel · · Score: 1

    X is, currently, pretty much as you say, "a network [video] display system". But it's also the core piece of software for user interfaces. Audio I/O is an important component of the computeruser I/O interface. And it's only natural that X should be extended to be a truly multimedia display system.

    No. That's Windows thinking :) The only benefit of putting audio into X is that you could easily coordinate audio and video. This is something that should be addressed, but putting audio in X is a nasty kludge; some sort of general way to synchronize X with other systems is a better way to do things IMO. Small discrete systems are more correct, and a more correct system is more user-friendly *in the long term* because of flexibility and stability even if a hack will be better in the short-term.

    And I still want to be able to play audio from another machine without running X. :)

    Daniel

    --
    Hurry up and jump on the individualist bandwagon!
  220. Re:Criticisms I have read elsewhere... by Daniel · · Score: 1

    I haven't had a chance to see the shared memory or OpenGL extensions; I heard that extensions have to be compiled in and I postponed it indefinitely.

    Which distribution are you using? I think Debian ships them either as modules or compiled in (I think XFree doesn't support modules yet so they're probably compiled in)

    Hardware acceleration/locality: Playing Quake2 over 10baseT is awkward; that's an area where client/server could definitely use an intelligent terminal, and avoiding streaming over a socket if possible (yes, bypass client/server entirely). It's a bit of an extreme, I know, but video and games should be no challenge whatsoever for Linux and X.
    Video and games can use OpenGL, SHM, DGA, etc to bypass the usual mechanisms. SHM and DGA speed up blitting on the local machine; OpenGL (as you know) provides a graphics-drawing interface with much support for hardware accel. The really nice thing about OpenGL is that (er, I think) it can actually (!) be run network-transparently; I don't know exactly what sort of performance you get with (eg) Quake but some modeling programs at Brown run quite nicely over the LAN.

    I have been wondering how multimedia (specifically, video) can be added to Linux and X. Streamlining seems necessary to me; a video extension, perhaps? Or a window manager (see NeWS) that handles different protocols? Or would you guess that shared memory can handle these efficiently? I just want to see the multimedia capabilities of Amiga added to Linux, and I'm curious about what is preventing that.

    I think that things like DGA/SHM and DRI can help a lot. Since with DGA you're basically writing to video memory directly, you can't speed up much more than that :) (although this doesn't work in a window) I don't know how DRI works; SHM needs at least two copys (app to SHM segment, SHM segment to display). I'm not sure you can really do much more (someone could correct me of course :) ) without jeopardizing the stability/security of the system. (non-exclusive direct writes to video memory are really dangerous)

    Daniel

    --
    Hurry up and jump on the individualist bandwagon!
  221. Re:X's Client/Server Model by Daniel · · Score: 1

    It wastes some. It goes as much as 5 to 10% slower because of it.
    That is about it.

    Ha! Try ``an order of magnitude.'' Where did you get this idea?


    For that matter, where did *you* get *this* idea? Have you benchmarked?

    Further, exactly what do you mean? I agree that communication speed may decrease by quite a bit, but that's not directly correlated to *display* speed. Individual pixel operations are slow, Quake shouldn't use the X pipe. That's obvious. It's slightly less obvious that this is a significant problem for other programs. Sockets are slightly slower than direct memory copy, but unless the video card is *really* fast I suspect the time spent servicing a request far exceeds the time spent in the request. (I haven't benchmarked this either)
    Finally, it is my observation after using it that X is not an 'order of magnitude' slower than other display systems -- at worst, 5-10% is a reasonable estimate.

    Do you have a constructive suggestion for improvement or are you just getting a kick out of making snide remarks? Having a well-known email address doesn't mean you can simply make insinuating remarks with no explanation to back them up.

    Daniel

    --
    Hurry up and jump on the individualist bandwagon!
  222. Re:X _needs_ a good window manager by Daniel · · Score: 1

    WindowMaker- Quick, feels light and stable. Just not that flexable. For instance, you can't maximize a window to full screen and then back to a small window. It just doesn't have the features of GNOME or KDE.

    Actually, you can do that. You can also hide all windows associated with a program, something incredibly useful that I haven't seen anywhere else. The dock is also pretty cool -- it's similar to the panels. WindowMaker also has Gnome-compliance; in fact I have Gnome panels hanging around on my screen right now :) I switched to Enlightenment for a while, but it didn't seem as solid, either in terms of widget layout/animation, design, or features. WindowMaker's themability is enough for me.

    Daniel

    --
    Hurry up and jump on the individualist bandwagon!
  223. Re:X Copy and Paste Model is Dated by Daniel · · Score: 1

    I actually like this..it drives me crazy to have to go and select paste. On the other hand, it is sometimes a nuisance the way X does it too. I wouldn't say 'dated' as much as 'different'.

    I think it would be nice if support for both mechanisms could be added, but that's nontrivial..

    Daniel

    --
    Hurry up and jump on the individualist bandwagon!
  224. Re:in answer to the original questions... by Chris+Hanson · · Score: 1
    Within the next year, there will be a new, large base of non-X Unix applications for Mac OS X. Everybody that writes Mac software will be porting their code to Carbon (think of it as the Mac Toolbox, take II). A lot of people will also write write new applications with OpenStep--er, Yellow Box--er, "Cocoa".

    GNUstep is almost to the point where serious OpenStep porting and debugging can take place. (The text system is in flux right now; when that's over, I think it'll be ready.) This means that people writing new Macintosh applications will have a relatively easy time also targeting Linux; Macintosh software developers are the best in the industry when it comes to building usable, consistent interfaces to high-quality end-user applications. (Hey, I'm allowed a little egotism, aren't I?)

    What's my point with all of this? It means that X isn't necessarily as entrenched as you think it is. GNUstep runs on X right now, sure, but it could also be made to run on a sane display subsystem without affecting application-level code. So the situation isn't quite as hopeless as it seems.

    My prediction: If there is half as much effort put into Display GhostScript and GNUstep as there is being dumped into XFree86 and GTK and GNOME and Qt and KDE right now, X can be put on life support within two years. And there'll be a resolution-independent, device-independent, network-transparent window system with a sizable base of consistent first-tier end-user applications and a very elegant programming interface to show for it.

  225. Re:in answer to the original questions... by Chris+Hanson · · Score: 1
    The only reason I suggest Display GhostScript is because it's most of the way done (from what I gather it still needs a good amount of display-oriented functionality work and a lot of optimization, but at least the rendering code is complete and works well) and it implements the PostScript imaging model. I think the latter is the important part.

    Most of the time in OpenStep application development you don't need to write real PostScript code. If you do need to do drawing, you call functions like PSmoveto() and PSlineto() that send messages to the DPS server. You can also write "pswraps" -- PostScript procedures that get compiled into a chunk of code that you can call from C, which when invoked send the whole chunk to the server at once. (This can improve performance because you reduce the number of round trips/context switches required.)

    In Mac OS X, because it uses Quartz rather than Display PostScript, the PSxxx() routines should still be usable but pswraps are going away.

    Incidentally, one of the reasons Apple is dumping DPS (besides Adobe's outrageous licensing fees) is to get better performance. They're doing this by making most of Quartz a client-side library that draws directly to the screen (or the backing store). They say they're leaving hooks in so remote display can be added back later; of course, some people are freaking out about that, but IMHO Apple has their head on straight. Optimize the common case, make the uncommon case possible.

  226. Re:in answer to the original questions... by Chris+Hanson · · Score: 1
    The trap you point out though is so easy to fall into that you fall in yourself. "Mechanism not Policy" isn't a fault of X, it was the feature that made it possible to become a standard!

    X? A standard? What planet do you live on?

    There are two standard graphical interfaces in the personal computer industry. The Macintosh interface is the one every other interface tries to be, and the Windows interface is the one most people use. X isn't even on the radar.

    (And yes I know there are people who will insist that it isn't X that's the interface, it's KDE, or GNOME, or CDE, or some other crap. They can bite me. X refers to the whole ball of wax now, no way around it, no matter how much semantic BS you try to invoke.)

  227. Re:Berlin Portablity by Sabalon · · Score: 1

    I'm glad to hear that.

    The last time I mentioned something about Berlin and its strong linux ties, I was told that all the commercial Unicies are gonna fall by the wayside and only Linux mattered.

  228. X technical weaknesses by Hawke · · Score: 1
    This is all IMHO:

    • Over-reliance on bitmaps.

      This is the root cause of the no-anti-aliased fonts problem. Since a lot of the primitive Server-side objects are bitmaps, including fonts, they can't be extended once better ideas come along.

    • Context switch on all drawing apps.

      Since you have to tell the X-server what to do even in the local case any drawing requires a context switch. Not doing things synchronously helps, but the answer is that the Xlibs should be able to do some of the drawing directly. I believe that this is a partial goal of XFree86-4.0, but I'm not sure.

    • Lousy color handling. IMHO X's replacement should ONLY support 24bit color. Let the server decide how to draw 24bit colors on a 256-color display, not the app. This might cause problems with graphical programs, but would be a better interface for the vast majority of apps.

    • Primitives are too low level. Higher level primitives allow the X server more optimization opportunities with fast video cards.

    • Wonderfull usefull cruft that is no longer used, like the stuff that supports resedit.

    • <FLAMEBAIT>No sound support!</FLAMEBAIT>

      Seriously, that's not an X issue but a clean networked sound standard would be a good thing. Especially one that allows dynamic mixing.

    That should do it for me...

    Doug

  229. Re:fvwm kicks NT butt! by Rational · · Score: 1

    There is definitely a lot of mileage variation there. I'm a lot more productive on my Indy (running fvwm2 rather than 4Dwm) than on my NT box with four times the horsepower.

    The NT interface is great for its emetic properties, though.


    --
    "Be nice, veer left, and never stop thinking" Iain Banks - Walking On Glass
  230. Re:Is rendering or the transport the issue here? by Q*bert · · Score: 1
    Java is kin to DPS, and XML is becoming second cousin.

    What in the world do you mean by this?

    Genuinely curious,--Q
    Beer recipe: free! #Source
    Cold pints: $2 #Product

  231. unix haters handbook by zibalatz · · Score: 1
    If you haven't already read this, you should, especially if you think that X is the great god. (Yes, I'm talking to all the Linux twinks in the audience)

    UNIXUX: click on the cursor

    The X-Windows Disaster

  232. What about LBX? by Eric+E.+Coe · · Score: 1
    This is an X extension that is supposed to speed up the protocol for slower links. It works by running a remote proxy daemon (lbxproxy) and then having all the remote X programs on that machine connect to the proxy (by changing DISPLAY). Has anyone tried it?

    The reason I am asking as I proposed this as a possible bypass to a complex remote Citrix setup at work, but it doesn't seem to be available on the target Sun machine(s) (where the X applications live) - and so I never had a chance to try it out...
    --

    --
    An esoteric scratched itch:
    Homeworld Map Maker Tool
  233. Re:PM would be a good replacement. by Improv · · Score: 1

    PM had numerous technical problems, the SIQ
    being most notable. Most of the good parts
    of PM were very high level, and could be
    done by a well-written window manager.

    --
    For every problem, there is at least one solution that is simple, neat, and wrong.
  234. Everything we'd need in a potential replacement by Improv · · Score: 1

    1) Better network transparency -- something akin
    to ssh should be built-in, except modified
    so a single channel can transparently
    have new applications connected through
    without needing to do it via the shell
    on the other end. This would eliminate
    the need to ssh multiple times. Ideally,
    the connection would be handled by a
    library instead of a terminal application.
    Also, ideally sound would be handled by
    the same mechanism.
    2) Window Manager agnosticism -- We've all gotten
    too used to our favorite window managers
    to move to a single one, no matter how
    wonderful it might be.
    3) Ideally, more of the frontend of applications
    would be run on the client, to minimize
    communication. This could be accomplished
    a number of ways, but a simple way would
    be to have multiple application modes, one
    of which would tell the client (I'm using
    traditional, rather than X notions of
    client and server) where widgets are and
    only generate events when the mouse is
    over the widget. Several other modes for
    different kinds of programs would be
    needed (consider Xeyes)
    3) Automatic dithering and a single color API that
    acts like truecolor.
    4) A way to nicely disconnect a running
    program's GUI from one client and then
    resume it elsewhere (to some degree this
    relies on #3)

    --
    For every problem, there is at least one solution that is simple, neat, and wrong.
    1. Re:Everything we'd need in a potential replacement by Improv · · Score: 1

      What I meant was I was using client to mean where
      the user is at, and server to mean the other
      place :)

      --
      For every problem, there is at least one solution that is simple, neat, and wrong.
  235. X12! by jonabbey · · Score: 1

    What an excellent suggestion.. it seems like the best way to get to a better place would be to extend X to X12 and include a more rational color and font system, and to include audio, and retain X11 compatibility for existing apps (an absolute must, really.

    No, this won't get rid of X bloat, but it will allow programs written to GTK/QT to have a better substrate to operate on. Of course, high-color displays and the sort of stuff coming in XFree86 4.0 is already going a long way towards a better tomorrow..

  236. Sucky printing not X's fault? Java 2 example.. by jonabbey · · Score: 1

    No, it's not entirely X's fault, but X doesn't lift a finger to help. Windows and Mac both have a common graphics model for printing and on-screen imaging, and it's silly that X has nothing similar. Yes, you can go up the chain to GTK for this, which is good enough, but it's silly that we've had to wait 12 years to get libraries that will allow on-screen display and printing.

    It wouldn't hurt my feelings at all to have a display model based on PostScript or PDF or something sane, but junking X totally is not an option. If we depend on GTK for a high-quality imaging model, though, that means that a lot of the rendering decisions will be made on the wrong side of the client-server pipe. Java 2 does this, and it lets you have a nice and powerful and consistent rendering model cross-platform, but performance on X sucks beans because the X server is basically acting as a dumb framebuffer for pixel-level operations.

    That just doesn't cut it. There should be a rich drawing model that can be effectively supported by the rendering server and which can be retargeted in library code to PostScript or any other printer imaging language.

    I wouldn't mind seeing Java 2's imaging model made part of a next-generation X protocol, but I don't know whether everyone has enough experience with Java 2 and whether its Graphics2d model has stabilized enough to re-implement it with pixel-precision in C for a graphics system.

    If Java2's Graphics2d model was stable enough, and if the ownership terms could be worked out, I'd love to see Java2's model supported on an X type server.. would speed Java code greatly, and would provide a rich and powerful (PostScript-level) imaging model.

  237. X's Color Support Blows Chunks by jonabbey · · Score: 1

    It's been 5 years since I've done any Xlib/Xt coding, but the biggest problem I remember is that the color model blows chunks on palletized displays.

    With Windows, each app indicates what colors it wants, and all graphics operations are done using a handle to the color returned by the graphics system. If another window is in front, the windows rendering layer will automatically dither and/or approximate colors in the background app to maximize color fidelity using the common color map. A similar process is done on the Mac, I believe, with dithering and approximation done for the coder by the graphics layer.

    X Windows is different. With X, a program on a palletized display allocates color cells which come straight out of the hardware palette. When a program asks for RGB FFF083, it will get back a simple integer, '5'. From that point on, all rendering done by the program is done using color 5. If the 256 colors are exhausted, the system may try to return color '16' if it is close enough to the requested color, but the system can't change how the program does its rendering behind the scene to give the front window a better color fidelity than the background windows.

    This is why Netscape users on 8bit displays are stuck between either running into color starvation extremely rapidly, or forcing the Netscape window to use its own color map, causing horrendous false-color flashing when the window is selected or de-selected.

    This problem may thankfully be a thing of the past with modern video cards, but it was always one of the big ugly achilles heels of X. The Athena widget set, font system, and Xt resource complexity were the others, but fortunately we're finally getting away from Xt and all that ilk.

  238. Who *really* decides what's "core X architecture"? by osu-neko · · Score: 1
    Hmmm. It this a significant issue anymore? Since the broohaha where XFree nearly forked from the Open Group's standard, I've been wondering who really controls X. I'm not sure either group does at this point. But whatever. In any case, if there's some modification to X I want, I'd rather hear XFree is implementing it than the Open Group or whatever the frick they're called now. DRI will not remain an XFree86 specific extension unless there's really no need for it. If there's truly a need, it'll get adopted by others. If that happens, it'll be a sure sign that the torch really has been passed, and XFree is now in control. Which is good, because I don't think they *want* to be in control. What's the old saying? "Anyone who *wants* to be President should absolutely not be allowed to do the job."

    --

    --
    "Convictions are more dangerous enemies of truth than lies."
  239. Re:X windows woes by caolan · · Score: 1
    Of course we use get the XShm extension correctly, and have suitable fallbacks, but thats because we all rip off your xscreensaver code, Otherwise I'd still be in the dark.

    I don't suppose you feel like writing a simple app that uses all of the XShape extention features so that I can figure out how to use that one as well, coz that one has me beat entirely, the man pages and xc documentation on them are scanty to say the least,

    C.

    --
    I sometimes write stuff
  240. Re:You've missed the point of X by caolan · · Score: 1
    What do you reckon about this D11 style of reducing or removing the dichotomy between client and server for the locahost situation, while retaining the networking for the remote situation ?

    This D11 idea is a new one to me until i saw it posted here earlier.

    C.

    --
    I sometimes write stuff
  241. Laptops by Roxy · · Score: 1

    Some of us uses laptops (like mine IBM 600E) that only has 2MB builtin vidoe memory. NON-upgradeable. And I like 1024*768. It doesn't help to change supplier either, as most laptops that can be carried only support 2MBs. Think before talking.

    --
    -- Roland Buresund MBA, MCMI, CISSP
  242. MacOS by acb · · Score: 1

    The problem with MacOS is that other than that, it sucks. The system itself was designed for use on tiny microcomputers, and retrofitted into a workstation role. There is no command line and no scriptability. The tangle of APIs and Managers grows more impenetrably dense by the day. Not to mention that the system is unstable (no memory protection, for example), inefficient and so different from everything else to make programming a nightmare.

    From an end-user point of view, it's very pretty, and better for most things than Windows 95. Look any deeper and you see its rotten guts.

    (I own a Mac and use MacOS, mostly for running various media applications. I've tried programming under it, and after UNIX, it's a pain, even with tools like CodeWarrior.)

  243. NeWS by acb · · Score: 1

    Not to mention NeWS. Another client/server windowing system from the late 80s/early 90s. Only NeWS did things The Right Way. Rather than simply throwing dumb requests and responses back and forth, a client application could send Display PostScript code, which would live in the server and handle UI aspects.

    Of course, back in those dark, unenlightened days, Sun (the owners) either demanded exorbitant licencing fees for the technology or just refused to licence it, thinking that being the only ones with NeWS gave them an advantage. And so, sadly, NeWS died.

    The inventors of NeWS went on to create another client/server system, albeit one with a different scope. We know it as Java.

  244. PostScript and NeWS by acb · · Score: 1

    Have you ever programmed in PostScript? It's a remarkably elegant language.

  245. Re:My Biggest Problems with X by Jordy · · Score: 2

    Different name, same difference.

    X.Org Becomes X Technology Steward Industry consortium to guide the future of the X Window System

    Menlo Park, CA., May 12, 1999 - X.Org, a newly formed organization of The Open Group, has today become the official steward of the X Window System technology and the technical experts for the X Window System standards. Member companies include Compaq Computer Corporation, Hewlett-Packard Company, Hummingbird Communications Ltd., International Business Machines Corporation, SGI, Sun Microsystems Inc. and many others.


    --

    --
    The world is neither black nor white nor good nor evil, only many shades of CowboyNeal.
  246. Re:You've missed the point of X by Jamie+Zawinski · · Score: 2
    As much as I respect Jamie, I beg to differ. The 'dubious feature' to remotely display lets me get my work done very effectively.

    As a sysadmin / app supporter my screen is littered with windows displayed from all manner of Unix hosts, and not all of them are xterms. It saves me countless hours of walking across the hall or campus.

    (I'm curious, what are those non-xterm tools?)

    The ability to admin machines remotely is obviously a great feature. But X decided that it was such an important feature that it had to be built into the window system at such a low level that local access pays the price: that is, that it was more important to be able to use the machine down the hall than to be able to use the machine on your desk!

    X could have been designed to be efficient locally, with remote access being possible but slow. It wasn't. It was designed in such a way that local and remote access are about equally slow (if you have a fast local network, which was another fundamental assumption of X.)

    In my view the remote display capability is one of the best assets that X has. Granted, it makes X a dog compared to other windowing systems

    Wouldn't it be better if remote access was a dog and local access was fast, instead of both being a dog? That's how other window systems do it.

    The idea that the way to do network transparency is to have the remote machine be the one tracking the mouse is just crazy. It would be far better for all GUIs to live locally, and for the on-the-wire activity to happen with some more domain-specific RPC, or other services.

    (Like, for example, through a web server. CGI is a great example of how to do remote operations while keeping UIs local, and doing it portably as well.)

    but that's why my desktop is an SGI. Their X server is as great as it gets.

    SGI has a great X server, and it's a credit to them that they made it go as fast as they did (I've never seen a better X server than SGI's.) But it's still ridiculously slow, given what their hardware is capable of! You only have to compare X performance to GL performance to see this.

  247. Re:My Biggest Problems with X by Jamie+Zawinski · · Score: 2
    What's XCopyArea there for?

    Guess what, Netscape doesn't (and can't) use XCopyArea for scrolling. Because that just moves bits, not subwindows (think form elements.) Netscape plays crazy tricks with window gravity to move all the windows at once, since the alternative (moving each subwindow by hand) is insanely slow.

    But probably the reason you see flicker isn't really X's fault, but is because the table redisplay code isn't great.

  248. Re:in answer to the original questions... by Jamie+Zawinski · · Score: 2
    This means that people writing new Macintosh applications will have a relatively easy time also targeting Linux; [...] What's my point with all of this? It means that X isn't necessarily as entrenched as you think it is.

    I hope you're right; that would be a very good outcome.

    It does give me some hope that MacOS X is looking so Unixy, because people who have experience writing Macintosh applications just will not tolerate the kind of UI free-for-all that X brings to the party, so maybe they will actually do something about it.

    My prediction: If there is half as much effort put into Display GhostScript and GNUstep as there is being dumped into XFree86 and GTK and GNOME and Qt and KDE right now, X can be put on life support within two years. And there'll be a resolution-independent, device-independent, network-transparent window system with a sizable base of consistent first-tier end-user applications and a very elegant programming interface to show for it.

    I don't know about that; I don't think that rescuing all of those NeXTstep applications will really make that big an impact, given how marginal NeXT has always been in the market. It's a nice looking system, no doubt about that, but that doesn't mean it's ever going to catch on.

    I'm also somewhat dubious of Display PostScript. I've done a lot of PostScript hacking, and it's frankly a lousy language to program in. (It's a great page-description language, but these days I really believe it's more suited to use as an output format than to use as a language you would actually write code in, and debug.) Of course, I haven't actually hacked on a Display PostScript system, so maybe the DPS APIs are different enough to make it bearable. I don't know. Would someone who has hacked DPS care to comment? Do you end up actually writing PostScript code, or is that hidden behind the scenes somehow?

  249. Re:You've missed the point of X by Jamie+Zawinski · · Score: 2
    I guess my point is that for many apps real life performance is not as markedly affected as you'd guess based on the internal workings of the X protocol. In my pedestrian view that means X is mostly good enough to get work done.

    Well sure -- if what you're doing doesn't require high performance graphics, then the fact that X can't deliver high performance graphics doesn't much matter, right?

    It's certainly true that most applications don't require high performance graphics. But when you need it, you need it. And X can't deliver.

  250. Re:X windows woes by Jamie+Zawinski · · Score: 2
    A Direct Rendering Interface is required, and with X 4.0 should be introduced, and should solve the speed problems without restricting the remote operation enjoyed by legacy X programs. The inclusion of the DRI should help solve a majority of the complaints heard about X's speed.

    This, of course, is The Way of X. Got a problem that people have been suffering from for ten years? Fix it by adding yet another new and optional API! So now all the applications writers get to code their graphics routines twice, with lots of runtime feature-checking. Have you ever written X code that made use of XSHM, the shared-memory extension? Did you do it in such a way that your program actually worked when the extension didn't exist? Are you sure? Did it still work when the extension existed on the server, but the server was on a different machine? Are you sure? (In my experience, 99% of the programs that try get it wrong.)

    This is no way to fix a bug. X's refusal to add required features to the protocol (SHAPE is still optional, for pete's sake!) makes life hell for application writers until the end of time. Or leaves users with applications that mostly work most of the time.

  251. window managers by Jamie+Zawinski · · Score: 2
    2) Client Server Architecture. This means that we can have any number of Window Managers and switch among them at will. This is great becasue different people work differetly. What is efficient to you is ineficient to me, etc.

    The fact that the window manager is not built into the server really doesn't have much to do with the client/server model. In a Windows-like library world, the window manager could as easily be a pluggable DLL with the same effect, but without taking the X hit of all the context switches and network traffic.

  252. Re:Don Hopkins. by Jamie+Zawinski · · Score: 2
    One of these days he will come into the present. And maybe just maybe we'll get some constructive critisizem out of him.

    Nice words, coming from someone who's too chicken-shit to attach their name to them. Don's one of the smartest people I know. Who are you and what have you done?

  253. Re:Obsolete colormap problems by Jamie+Zawinski · · Score: 2
    there's just no reason to use a non 32-bit color depth. There's that one xscreensaver hack that uses palette shifting on 8-bit displays and is slow on other color depths... but that's the only advantage to 8bit color left, and there is no advantage to 16 bit color.

    Actually, quite a few of the xscreensaver hacks behave very differently on PseudoColor versus TrueColor: the difference will be that, when a colormap is available, the whole screen will be alive with motion, and when there is no colormap, the screen will be pretty much a static image. There are some things you just can't do fast without colormaps.

    Another reason for using 8-bit depth is speed: that's 1/4 as many bits that the server has to move around. You might expect that this wouldn't be a big deal, but it turns out that it is. The difference really is perceptible: there are a few hacks in xscreensaver (``compass'' comes to mind) that very obviously run 4x faster in 8-bit mode than in 24-bit mode. Sad but true.

    SGI got this right, of course, by having an X server that allows 8-bit-deep colormapped windows and 24-bit-deep non-colormapped windows to exist side by side on the same display. That way, each application can pick the color depth that is most appropriate to its task.

  254. Re:X's Client/Server Model by Jamie+Zawinski · · Score: 2
    It wastes some. It goes as much as 5 to 10% slower because of it. That is about it.

    Ha! Try ``an order of magnitude.'' Where did you get this idea?

    However, the benefits are well worth it. Imagine all the recompile cycles needed if all the programs were dynamically linked to the server (like Windows does). Ouch...

    WTF? Do you recompile libc every time you compile your program? Are you aware of how libraries work?

  255. Re:You've missed the point of X by Jamie+Zawinski · · Score: 2
    You're absolutely correct that graphics can be accelerated tremendously by dumping the functions that get in the way of performance and running on the bare metal the way Windows does.

    I am most certainly not talking about ``dumping the functions that get in the way'' or ``running on the bare metal.'' There's a world of difference between having every application have hardware-specific knowlege; and having every application use proper high-level abstractions, but having the implementation of those abstractions not involve handshaking between multiple processes!

    It's a fundamental architectural decision: do you build a graphics system on top of an operating system or an operating system on top of a graphics system?

    What's this supposed to mean, besides being a dig against the fact that Windows doesn't have memory protection? I think you're confusing memory protection and the client-server model. Neither implies the other.

    The latter approach has screaming performance as long as the various clients play by the rules and respect each others' memory, screen, etc. space. By interposing networking and security functions between the layers, OTOH, the client-server approach buys stability, security, and portability at the expense of performance

    Maybe you don't realize this, but any X program can scribble on the windows of any other X program. Or even free resources allocated by other programs, causing them to get X errors and (usually) crash. It's not particularly easy to do this by accident, but X does nothing to prevent it (in fact, it's explicitly allowed.) Once you have a connection to the display, you have free reign.

    The client-server approach buys you nothing in terms of stability, security, or portability. Those are all orthogonal issues. All the client-server approach buys you is network-transparent graphics.

    Likewise, having an implementation that gives you in-process access to the frame buffer (and the ability to do graphics fast) does not imply lack of memory protection. Remember that these clients are still going to be doing their drawing through high-level APIs, and the implementation of those APIs can do whatever bounds checking is appropriate. The X server does such checks internally anyway -- in addition to all the IPC overhead.

  256. Re:X is bad#2: Fonts really, really painful to use by Jamie+Zawinski · · Score: 2
    Fonts under X were painful to use even by the standards of 1987 when X was introduced, and are just pathetic today.

    I agree, but...

    "-adobe-courier-bold-o-normal--12-120-75-75-m-70-i so8859-1"

    Ack! Even worse, this notation *has* to be used in X resource files and other preferences.

    "-*-courier-bold-o-*-*-*-120-*-*-*-*-iso8859-1"
    is actually what you should be using, if you want your resources to have a better chance of being portable from one machine to another. That X's font names are verbose doesn't mean you need to specify all those fields.

    But what they want is to be able to say "Switch from the Adobe font folder to Bitstream and redisplay", not the anal level of detail that X requires.

    X doesn't require that level of detail. However, neither does it make the operation you described easy. This is largely because there aren't a set of library routines for doing things like asking for a similarly-sized font in a different face, or the next-larger font size that is displayable and/or looks good.

    I'm sure lots of people have rolled their own solutions to this over the years. I did it once in emacs-lisp, and did it again twice for Netscape (which is on its third or fourth version of the font-selection code now, so if you still hate it, it's not my fault any more...)

    X's font management is lousy in many ways, but I don't think that its long font names are a problem.

  257. Re:What about Y windows? by Jamie+Zawinski · · Score: 2
    Another note: if X is so dated and clunky, what about SGI? I thought that IRIX uses X. I can't envision a much better media OS! Maybe they know something I don't. Hopefully they will share :-)

    SGI uses X, and they have an X server that is insanely optimized for their hardware. On top of that, for anything that actually needs to go fast, they use GL instead of X. Basically, they use X to allocate a rectangle, and then X stays out of the way. The GL library then talks to the hardware directly, without a zillion context-switches in the way.

  258. Re:X's Client/Server Model by Jamie+Zawinski · · Score: 2
    For that matter, where did *you* get *this* idea? Have you benchmarked?

    Further, exactly what do you mean? I agree that communication speed may decrease by quite a bit, but that's not directly correlated to *display* speed.

    I get that idea from having spent ten years trying to squeeze every drop of performance out of X programs as I can. The inefficiencies that the design of the X protocol forces on clients are just staggering! All the handshaking back and forth between the client and server (and associated context switches) adds up really quickly. I see it every day -- I see operations that are fast in every window system that preceeded X slowing X programs to a crawl, and because I know X inside and out, I understand why. It's no mystery to me, it's because of the fundamental design decisions that went into the X protocol on day 1.

    I have not done bechmarking, because I have had no reason to. I know X is slow, but I also know I'm stuck with it. However, if you want to try it out for yourself, try and do some simple 2D graphics that do double-buffering using Xlib. Now rewrite that same program using OpenGL (note that we're talking about 2D here, not 3D, no textures. Just line drawings.) Code both programs such that it replaces the image as quickly as it can, yet results in no perceptible flicker. Tell me which one runs faster. Here's a hint: it's the one that can touch the frame buffer in-process, rather than having to suck bits through a straw. (Use the joke of the X Double-Buffer extension if you like, and the XSHM extension. It won't help.)

    Individual pixel operations are slow, Quake shouldn't use the X pipe. That's obvious.

    Obvious, is it? So what you're saying is, ``Quake shouldn't use X.'' Which is to say, ``X is unsuitable for anything graphics-intensive.'' Which is my point.

    Sockets are slightly slower than direct memory copy, but unless the video card is *really* fast I suspect the time spent servicing a request far exceeds the time spent in the request.

    You're missing the point again. It's not just the fact that there's a pipe involved, it's the fact that there is synchronization between multiple processes: one writes, and flushes, and then some time later the other becomes runnable, and eventually gets around to reading from the pipe, then talking to the hardware, then writing a response, then flushing it, and eventually the first process becomes runnable again and...

    When window operations are involved, you often have to block waiting for answers from the window manager, resulting in a three-way cluster-fuck between the client, the server, and the WM. Oh, but isn't it great that they could be running on three different machines? Whatever.

    Do you have a constructive suggestion for improvement or are you just getting a kick out of making snide remarks?

    Ah, we've reached that point already I see. We always get here whenever the failings of X, Unix, or anything else Linux weenies hold dear are discussed: the fallacy that, before one has the right to point out a problem, one must have already handed the world the solution on a silver platter. Well guess what, the fact that we're stuck with X forever (because it is completely entrenched) does not mean that X has no problems, or that those problems are not severe. There appear to be some people, like you, who don't understand the extent of those problems, so don't bitch at me for pointing them out, ok?

    Having a well-known email address doesn't mean you can simply make insinuating remarks with no explanation to back them up.

    Bite me, fanboy.

  259. X windows woes by Chemical+Serenity · · Score: 2
    X was designed in a server-client way, where X clients (the programs you run) talked to an X server (usually a display) through the X protocol stream. The stream went over internal pipes, or over IP, or what-have-you. It made it REALLY nice for remote operation, but is not well designed for local graphics rendering which is what most of today's software requires. A Direct Rendering Interface is required, and with X 4.0 should be introduced, and should solve the speed problems without restricting the remote operation enjoyed by legacy X programs. The inclusion of the DRI should help solve a majority of the complaints heard about X's speed.

    I've also heard a fair number of people complain about X's API and the basic toolkits (Xaw) and how ugly and kludgey they are, but that's what things like qt and gtk are for.

    --
    rickf@transpect.SPAM-B-GONE.net (remove the SPAM-B-GONE bit)

    --
    "People will pay big bucks for the luxury of ignorance."
  260. Hmmm... by Millennium · · Score: 2

    X's greatest strength is far andx away its configurability. Pair it with enlightenment, and you can almost literally draw an interface out on paper and have X look and feel that way.

    If it's possible to have too much of a good thing, though, this is it. X is great for configurability, but it goes too far. Without any sort of "standard" toolkit, window manager, or any such thing, there's no standard sort of interface on which a user can rely. This isn't saying that configurability isn't bad, it's saying that if you're going to make something configurable, you need to set defaults too. X doesn't do that. Consider the multitude of GUI toolkits, three or four drag-and-drop protocols (all of which are incompatible), four desktop environments which don't even share common API's on most things (meaning that support has to be written into an app four times if the author wants to support everyone), and so forth.

    X's major weakness, though, is its age. Now, old software isn't necessarily bad. It all depends on how far ahead the developers think. X's original developers thought ahead several years. Problem is, those years ended quite some time ago. Things like drag-and-drop, inter-application messaging, text antialiasing, support for TrueType fonts, and such never made it into X. They've come in since as bolt-on solutions, but these things are so vital to a modern GUI that they really ought to be rolled in (which you can't really do without shelling out obscene amounts of money).

    I don't know. XFree 4.0 appears to address some of these concerns. I'll still be giving Berlin a spin when it's usable, though, if only to see if it's a better system.

  261. Re:The X protocol is too slow and chatty by Paul+Jakma · · Score: 2

    X is actually a really efficient protocol for what it does. Very sparse.

    As for remote apps.. X rules in this dept. I find that nothing can come close to X for performance. Things like pcanywhere, carbon copy, etc. have a noticeable lag. (caveat: every win32 Xserver i've tried is slow.. XFree86 on a 486-33/32MB is a magnitude faster than X on win32 on a P11-450).

    With X however is impossible to tell whether apps are remote or not. Also, X is perfectly feasible over 33.6k modems for simple Xt type apps (xterm, etc), and even complex apps if you use lbxproxy.

    I once ran Netscape 3.0 from a computer in scotland over the internet displayed to my computer in ireland (connected via 33.6k). Took a heck of a long time to draw (~5min), but from then on it was useable (with a little patience). And that was just plain X. I didn't even compress it with lbxproxy or ssh! Try that with anything else and you will not get anywhere.

    As for those who argue that "X needs this, and needs that, And that the fact that they weren't included means it must have beem badly designed": The intention was to provide a basic protocol, which could be easily extended, so it's meant to be like that by design.. want Direct rendering? -> extension. Owant penGL?->extension, DPS.. etc.. by design.

    --
    I use Friend/Foe + mod-point modifiers as a karma/reputation system.
  262. I thought before talking: by roystgnr · · Score: 2

    Specifically, I thought about the laptop sitting next to me as I posted, with 8MB video RAM. Granted, that's not as standard on new laptops as on new desktops, but it will be very soon. RAM (even the cool RAM your video card uses) is cheap and small - there's no reason not to use a ton of it.

    On the other hand, there are a lot of old laptops out there that aren't upgradable, at least not in the video chipset. If you can upgrade the system RAM (or have enough to begin with), running two X servers at once in different bit depths is a useful workaround. Depending on how you work, that may be less or more convenient than flipping desktop settings back and forth.

  263. Obsolete colormap problems by roystgnr · · Score: 2

    Ok, granted, font anti-aliasing would be nice and needs to be added (although current improvements in the existing renderers are visually helpful without antialiasing), even just as an extension for future applications.

    But is it really such a big inconvenience in this day and age to be unable to change color depths on the fly? Being able to go from 800x600x32 to 1152x768x8 (or whatever; I haven't done the math) might have been important when trying to balance out resolution vs. color depth on a 2MB video card... but every video card in every new computer or store shelf today will do 16 million colors in any resolution you please, and there's just no reason to use a non 32-bit color depth. There's that one xscreensaver hack that uses palette shifting on 8-bit displays and is slow on other color depths... but that's the only advantage to 8bit color left, and there is no advantage to 16 bit color.

    It costs $15 now to get a 4MB video card; $30 to get an 8MB card. Bring sandwiches to work for a week instead of buying lunch, and never worry about sub-par color again.

  264. X: To Be or Not to Be by bgarrett · · Score: 2

    Many of the advantages that made X so powerful in "the day" may no longer apply. X has an extensive security mechanism that exists more or less to provide authentication/authorization in an insecure, networked environment (such as a bunch of X terminals connected to one app server). While this environment does still exist (primarily in university settings), "most" users of X only have a single display to work with and won't need the security considerations X offers.



    X tends to suffer from what I call "Win32APItis", a huge assortment of functions of dubious utility (it would be "GTKitis" if it weren't documented). Other projects, such as Berlin, seem to have learned this lesson -- it's possible to make an entire windowing system with the simplicity of a "regular" toolkit. Any step in the direction of a less stressful API is therefore a step towards unification of look-and-feel, since developers won't be compelled to write entirely new toolkits to scratch the itch of hating Xt/Xlib :)



    While some of the various extensions that X is now sporting (patches for TrueType support, GLX, and printing) are useful accessories, ultimately they reveal X's age. A lot of the features a modern GUI designer would like simply aren't that easy (or sometimes possible) to implement.



    All this isn't to say that we just need to chuck X in the garbage can and start supporting Berlin/GGI/whatever; I would prefer to see a thin (hah) Xlib wrapper on top of such projects, in parallel to ports of GDK or Qt or whatever people like. X has some very strong advantages, which should not be overlooked.

    --
    Nothing worth doing is worth doing today.
  265. This is why X must die by scrytch · · Score: 2

    $ top

    PID USER PRI NI SIZE RSS SHARE STAT LIB %CPU %MEM TIME COMMAND
    391 root 12 0 38356 35M 2576 S 0 1.5 57.0 18:11 X

    That's 38 megs, 35 in core.

    I now await the standard blather about how "RAM is cheap" and how that justifies this astonishing bloat.

    --
    I've finally had it: until slashdot gets article moderation, I am not coming back.
  266. General Overview by Avus · · Score: 2
    While it would be best to have some X experts like Raster or Mosfet comment on the subject, I think a few things are quite obvious to the end user.
    • X has similar backwards compatibility problems as Windows: There is support for many things like strange old font formats that are not necessary anymore. Often the code itself is quite old (pre-ANSI) and hard to read.
    • Lack of modularity: At least XFree is just a big junk of code that doesn't allow run-time modules to be loaded. Result: Bloat and little flexibility. Apparentlt XFree 4 will change this.
    • Lacks essential features like Anti-Aliasing, TrueType support requires additional software
    • Optimized for networking, not 'local' desktops: Performance critical apps like games or video need hacks that are either dangerous (suid root) or not available everywhere
    • For networking: Rather inefficient protocol, doesn't support compression (without proxie tools) or encryption of a session
    • 'Understandardized': No modern GUI toolkit included -> many different looks&feels, Motif as perceived 'de-facto' standard expensive and weak.
    • No component model: There is still no way to use e.g. CORBA and X-based components over a network, as there is no authentication mechanism available.
    • Implementation language and coding style: A lot of the code was written when there was no ANSI-C, let alone C++. So code is somewhat difficult to read and the object oriented nature of X is achieved only with a complex and fragile (=error-prone) construction in C.
    • Risk for stability: As X has direct acess to the hardware, it is as stability-critical as the kernel, for desktop users. Moreover, the kernel has no control over X memory management, and X doesn't 'shrink', so it's actually a kind of memory leak...

    Alternatives
    There is the GGI-Project, the Berlin consortium and Y. GGI is an abstraction layer for grafics programming, but relatively low-level (e.g.games). It serves as driver lib, can be partially controlled by the kernel (KGI) and can output to different "targets" like svga or X. It also serves as the basis for Berlin, a new windowing system using OpenGL, among other things. Don't know about Y.

    Hope that helps a bit
    Avus
  267. Why? by binarybits · · Score: 2

    I'd be curious as to the details of why this is a good idea. Sure it's cool, but for pretty much every serious job I can think of, a third dimension would just get in the way. The reason is simple: monitors are two dimensional. The trick is to use that space efficiently, and I don't see how adding a third dimension would help any.

    There are also control issues. How do I deal with these windows? Do you seriously want to have to do FPS-style moving around to move to a different app? Frankly, this would just be confusing. Please eleaborate as to where this would be useful.

  268. X Alternatives by Martin+Hock · · Score: 2
    I agree that X is a little cruddy. It is too thoroughly networked, so there's a fair amount of overhead in performing local operations. It also takes up a lot of RAM. Oh, and it has too much heritage behind it; it really was meant for black and white display, and color hacks atop it make code that supports multiple display depths a massive mess. Luckily toolkits can get rid of most of this pain, but still, if these toolkits could be ported to a new X, that would be neat.

    There are two X alternatives that I can think of besides the Berlin mentioned. One of them is The Y Window System, by the Hungry Programmers (specifically Christoph Toshok), which isn't very far along and as far as I can tell hasn't been worked on in a while (since about February 1998). It promotes the use of a single fixed depth, which I think is a bad idea. It does have some good ideas though, like a somewhat separate memory architecture. Download here.

    The other one, NanoGUI, was originally developed by Alan Cox. It was designed with a lightweight memory footprint in mind. I'm not sure if it supports networked display, though, but I believe they're going to at least port VNC. It's being used on the new Linux7k project, which is attempting to create a usable Linux system for the Psion 5 series palmtop (it uses an ARM7 processor). It seems to be undergoing active development. Download here.

    So I hope that's a good starting point.

  269. You've missed the point of X by Paradox · · Score: 2

    In response:

    1) There is no excuse for this one :)

    2) See #1

    3) Not true. There IS a lot of backwards compatibility because it DOES get used. X is not all that bloated, although a diet would improve things.

    4) If you want a speedier environment (#6) then this wouldn't help. Coding GUI's isn't hard in C, it's merely a matter of preference, and I'm sure many people will fight to the death to keep coding gui's in C.

    5) Standardization is a Bad Thing. The whole idea of X is to make something that interfaces witht the video drivers and provides only the very basic tools. Standardization of GUI's is beyond the scope of it. Use KDE or GNOME, this is what they're made for.

    6)Your card probably isn't supported very well. There are a variety of reasons for this. Netscape never flickers grey for me.. and my PC isn't exceptional, nor is my video card. Netscpae is a bad example anyways, since it isn't exactly a high-performance piece of software.

    7) This is where the windowmanager comes in. And the graphics toolkits. You can't blame X for the variety out there, and X shouldn't make one standard at the cost of hurting the others. GTK+ is making a bid these days for the default toolkit, and things like GNOME and KDE do somethign similar.

    Besides the X-consortium thing, your arguments miss the point.

    Probably the biggest complaint most people have is the client-server architecture, but there are benefits to this as well (in computer labs, etc..)
    which IMHO far outweigh any problems.

    Besides, it's not like opening a connection to your own computer is slow, and I remember hearing if X knows its working on the same computer it makes optimizations (but I am not sure on that.)

    Which dosen't mean the berlin project is bad. That's the spirit of open source operating systems like BSD and Linux, if you don't like what's out, write your own!


    - Paradox
    Man of the C!!!
    perl -e "print join q( ), split(q.z. ,reverse qq;):zrekcahzlrepzrehtonaztey; );"

    --
    Slashdot. It's Not For Common Sense
    1. Re:You've missed the point of X by Jamie+Zawinski · · Score: 3
      The argument that "X is slow because of its network capability" doesn't hold any water and is really used only by people who don't understand X. X is slow (in some ways, it is) for other reasons... ones that, generally, can be solved.

      In a word, wrong.

      X is slow because of the separation of servers and clients, i.e., the client-server model, i.e., its network capacity. It doesn't matter that it uses shared segments in the degenerate case -- it still takes a dozen context-switches amongst three different processes before an X client can even pick its nose.

      Windows and other window systems are way faster because when a program wants to draw a line, the DrawLine call in the graphics library ends up putting bits in a frame buffer. On X, the amount of overhead for every operation is just staggering. Even more so when window operations are involved rather than simple graphics operations.

      For the dubious feature of sometimes being able to have clients and servers on different machines, you pay the price of never being able to have decent performance in the common one-machine case.

  270. My problem with X by grappler · · Score: 2

    The experience of using X is, in my opinion, far inferior to using windows or macos. It is the feel of it that always gets on my nerves.
    Using X, the mouse seems just a tiny bit less smooth and responsive than running windows on the same machine. Responsiveness to a click lags a little bit behind other systems, and for some reason a click does not always register. And yes, my video card IS supported, and my processor is a Pentium 350, my bus runs at 100mhz and I have 96MB of sdram, so I don't think the computer is the problem.
    The speed things are actually drawn at is usually way better than windows or mac, but responsiveness to the mouse and sometimes the keyboard is usually way worse. If X would just start feeling as smooth and responsive as other GUIs, I would be very happy with it, but right now it is frustrating.

    --
    Vidi, Vici, Veni
    1. Re:My problem with X by grappler · · Score: 2

      I didn't mean that the mouse is too slow - it isn't.
      I think the best way to describe my experience with X is to compare it to that of using a cheap, POS mouse with a light, slipping ball bearing and defective buttons. Using windows, with the same mouse, feels like using an expensive, heavy mouse with a grippy ball and pad and precise, weighted buttons. I dunno, maybe it's just my computer.

      --
      Vidi, Vici, Veni
  271. Re:My Biggest Problems with X by Fizgig · · Score: 2

    Well, since you are biased, could you take those points and explain how Berlin has fixed/is-attempting-to-fix these things? I can guess the answer to 3 and 4 pretty easily but I'm curious as to how a start-over approach would deal with the rest of the items.

  272. Antialiasing in action by coyote-san · · Score: 2

    That's font antialiasing in action. It uses a trick of the human eye to "blur" each character in a way that it actually appears sharper. For a fuller explanation, pick up advanced book on computer graphics.

    --
    For every complex problem there is an answer that is clear, simple, and wrong. -- H L Mencken
  273. For local performance, what about D11? by lalleglad · · Score: 2

    If you check out:

    http://reality.sgi.com/opengl/d11/d11.html

    there is a really good article about how to extend X11 with the special case of 'local host' and that would improve the performance that I find could be made better. And that would definitely be good if it is to be used for games and such.

    All other stuff about easier configuration, prettier window managers and such is already being worked on and will get better and better. If you can't wait for it you could donate money to people doing it for you unless you can yourself :-)

  274. The Advatages by slag187 · · Score: 2

    True, X is old. BUT, there are a lot of things that X has that blow the pants off of other GUIs (Here I'm thinking of Win and Mac).

    1) Network support. The ability to start a remote X session is a HUGE advantage. It allows you to run machines without monitirs, it allows you to work in a GUI when you want to do remote administration, etc.

    2) Client Server Architecture. This means that we can have any number of Window Managers and switch among them at will. This is great becasue different people work differetly. What is efficient to you is ineficient to me, etc.

    While it's true that X is aging, something BIG would have to be developed to replace it (not an impossible task, just difficult).

    The truth of the matter is that XFree 4.0 will offer some very modern additions to X's capabilities. Integrated 3D (GLX) support for direct hardware access for rendering, true multi-headed support, etc. The rewrite for 4.0 is also making a lot of 'under-the-hood' changes. They are making X modular (much like the Linux kernel), this means that generally X will be stabler because it will have more common code that will not have to be recreated across a bunch of different servers.

    I like X. It could probably be better (what couldn't), but I think it's probably the best GUI system that I've ever come across in terms of flexability and user choices. X 4.0 will bring out many features that will modernize it greatly.

  275. in answer to the original questions... by Jamie+Zawinski · · Score: 3
    With this question, I don't want to start a discussion if X should be replaced or not, but I only want to find out what's bad about it and where other solutions are better.

    There has been a lot of discussion here already about what X's failings are. Quite a lot of it has been wrong (X has many problems, but it's not that ``tvtwm sucks.'' That has nothing to do with X.)

    The X chapter of the Unix Haters' Handbook really does do a great job of covering the major points. Yes, this was written several years ago, and not all of it is relevant any more (for example, most Linux users don't use Motif, so all the abuse piled on the Motif implementation probably isn't relevant to most of you; and GTK doesn't even use the X resource manager, so most of you probably don't use your .Xdefaults file any more.) But where he talks about the X protocol, the low-level X API, and the horrors that X's fundamental design decisions have inflicted on us (``run xterm well'' with window management added as an afterthought) it's spot-on. The ``Myth: X Demonstrates the Power of Client/Server Computing'' and ``Myth: X is Device Independent'' section are especially key.

    But none of that matters . Why? Because it doesn't matter how much X sucks, because X is entrenched. It works badly, but it works well enough. It is the de-facto sub-standard. It cannot be replaced, or even fixed, without rewriting every single graphical application you have ever seen, and that's just not practical.

    Worse is Better.

    Another point I feel the need to make is that most of the people who have been posting to this thread don't understand what X actually is. Some people are talking about X, and some people are talking about ``the sum total of the graphical Unix experience'', of which X is only a small part. In particular, if you're flaming the way your window manager works, you're not talking about X, you're talking about some random crummy application. There are a ton of window managers (there are possibly even more WMs than there are IRC clients, and that's pretty impressive.)

    The source of this confusion is that most other window systems come with policy: the look of the window management controls are built in to the window system itself, as are all kinds of other things like cut-and-paste and drag-and-drop: in the interest of ``flexibility,'' X left all of these things undefined, meaning there is no consistency at all.

    X itself is very low-level, handling graphics operations and little else. Though small, it imposes serious performance restrictions by the nature of its design.

    Because X itself does close to nothing, on top of it, many organizations have built the so-called ``toolkits'' that let you actually build user interfaces. These toolkits impose policy, and implement all the things that one would expect from a window system if one's first experience with a window system was something other than X.

    These toolkits inherit all the limitations of X, and then add more of their own: Athena is ugly as sin, and does very little (it doesn't even have real menubars.) Motif was insanely buggy for years, and is still incredibly inefficient. GTK is slow, and isn't really finished yet. KDE requires C++. And so on. And of course all of them are incompatible with each other to various degrees.

    If you're bitching about things not being ``object oriented'' enough, then you're bitching about a toolkit, not about X. X itself is so low level that there's just no need for OO hair: those abstractions come at a higher level.

    Some people think it's a great thing that X doesn't come with policy. I say nonsense: rampant customizability is almost always an excuse for not having taken the time to get it right in the first place. I just want an appliance that works, I don't want to have to spend days tweaking it before I can turn it on.

    Here's what X's lauded ``flexibility'' has given me: right now I'm looking at a screen that has applications on it written using five different toolkits. They all work basically the same (which is to say, they all work basically like a Xerox Alto), but each one renders menus differently, and half of them do cut-and-paste in incompatible ways. Thanks to the flexibility of X, there is no consistency. I really don't care what menus look like, or how cut-and-paste works; I just wish it was possible to pick one and stick with it.

    The other efforts to provide consistency across the desktop (Gnome, KDE, whatever) all start off with the requirement of rewriting every single application to do so! What a colossal waste of time! But there is simply no other way, thanks to the legacy of X: thanks to X's refusal to dictate policy, there is no one policy to replace, there are dozens.

  276. configuration mostly by Roundeye · · Score: 3

    I have no problems with X once it is up and
    running. The X server idea with the server
    running close to the client is highly useful,
    as well as removing the window manager from
    the server (as opposed to the options on most
    prevalent systems).

    Configuration does seem to be the problem
    area with X -- especially now that XFree86
    has become so popular. Our local NLUG just
    had an hour-long lecture devoted to X
    configuration (and many of the listeners were
    the Linux Literate).

    If X could be made to be more readily
    configurable (which is not an X issue per se...)
    by better configuration tools than currently
    exist -- hell, even fetching specs from
    www.xfree86.org automatically given a known
    card name/chipset would dramatically ease
    installation in most cases (most users don't
    know where to look and most tools guess horribly
    wrong about what numbers go with what cards) --
    then X would be more usable by more people.

    Another issue is security. Most X installations
    are grossly insecure. A secure X distribution
    (one that installs more securely by default)
    would be a nice touch.

    I don't, however, see any competing protocol which
    offers anywhere near the utility of X.

    --
    "Cause there's 40 different shades of black, so many fortresses and ways to attack, so why you complainin'?"
  277. My Biggest Problems with X by Jordy · · Score: 4

    1) To develop for X you have to be an X Consortium member which costs about $50k/year to do any real work. This is why so much work is being done on layers above X, because no one can actually submit the kind of radical modifications to X that are needed to bring it into the 90's.

    2) The X consortium maintains full control over X itself... meaning they can (and have at least once) change the licensing to kill off any free implementations such as xfree86.

    3) The software is extremely dated with over a decade of backwards compatibility which no one even uses any more bloating the code base.

    4) C... Object Oriented environment.. please. I'm sure a lot of people will bash this, but writing GUI programs in an OO language is simply easier. And before you start on the OO toolkits out there, read the next point.

    5) Of course there are C++ and Java toolkits out there, but until they are standard within X, it's a big war. I have roughly 15 X toolkits on my machine to run a total of 8 programs and a window manager. Doesn't anyone else think this is silly?

    6) Sluggish. I have AccelX and I have to admit the entire experience is still very slow. Netscape flickers gray every time I scroll up and down, windows take ages to redraw when switching between them, etc. I multiboot to Windows and don't have any of these problems, everything is quite snappy... even if it crashes every 8 hours :)

    7) Inconsistant. With all the toolkits out there, it is so very hard to get a nice consistant desktop. I wouldn't even claim that Windows is consistant, but it is pretty close. MacOS is better.. but at least both environments are intuitive.

    Once you understand the basics, you can switch between different applications and automatically pickup that the scisors in the toolbar means cut or that the file menu will have an 'exit' entry or even that ctrl-c will copy the selected text (most of the time at least :)

    Of course, I am biased on this subject...

    --

    --
    The world is neither black nor white nor good nor evil, only many shades of CowboyNeal.
  278. Berlin by Jordy · · Score: 5

    Berlin is a new windowing system for Unix systems designed to replace the aging X Window System. Berlin is currently released under LGPL and is developed using an open development model. We are sponsored in part by SPI who also sponsors the Debian and GNOME projects.

    Berlin operates on the object level. All GUI components (widgets), applications, and non-visual components such as audio components, are CORBA accessible components. This means they are network transparent, platform independent, and language independent.

    To do things like displaying an application run on a server on your local workstation (the way X does), we abstracted 2D and 3D APIs as much as possible, we also implemented commonly used functions in the display server to reduce the network traffic as much as possible.

    If you are familiar with how ActiveX components in Windows work, this should be a very familiar model. All communication between components, applications and Berlin is done via CORBA using the OmniORB2 CORBA ORB (which is recognized as the fastest CORBA implementation out there).

    Because we use CORBA, any language with CORBA bindings will be usable for writing Berlin applications and components. These include C, C++, Perl, Java, Python and much more.

    We adopted a paradigm similar to the classic Model-View-Controller so that the look of individual components such as buttons is not directly tied to it's interface and can be swapped out easily and painlessly. New components that ship with applications, and indeed the applications themselves, can be used freely by other applications extending the reusability of code to the extreme.

    A lot of Berlin's design was taken from Fresco, the competing toolkit to Motif. Fresco is still one of the most advanced toolkits out there and it's influences can be seen in several newer toolkits such as Java's JFC.

    Instead of implementing our own video drivers in userspace as X does, our backend currently uses Mesa an OpenGL implementation, but can be replaced without much work. Current versions of Mesa can use a wide variety of video drivers from the integrated drivers in the Linux kernel to X itself.

    Overall, we hope to provide all the power we can to developers while ending the excessive desire to create new toolkits in order to add a single widget or modify an existing one.

    --

    --
    The world is neither black nor white nor good nor evil, only many shades of CowboyNeal.