Slashdot Mirror


A New Rendering Model For X

horst writes: "I found this proposal by Keith Packard at mosfet.org. a good article, very interesting." Although it's more than a month old, if you are interested in the state of X, how it got to be that way, and where it's likely to head next, this is essential reading. In fact, you'll practically have to read it to find out why Packard concludes that "[a] new rendering model, designed to solve specific performance and network transparency issues of these new toolkits, has the promise of significantly increasing the power of the X desktop environment."

173 comments

  1. Re:Could be worse. Right on .... by Anonymous Coward · · Score: 1

    You won't get much sympathy in this forum with such views.
    Sure, the rendering performance of X can be greatly
    improved and those who read the article the might instead
    discuss some of the concrete suggestion made there.

    X performs well for me on my home P200MMX with a cheap
    on-board video card - I always run 16 bit color. It is not as
    fast for games as "Direct X" but on the other hand allows
    great flexibility and stability with multiple desktops - attempts
    at this with Windows are ALWAYS buggy or flawed. I even
    get decent performance with Mesa demos and some apps
    without a 3d accelerator - of course not for heavy 3d games.
    But, with a 3d accelerator you can get very good performance
    with such games in LInux or other unixes with otherwise modest
    hardware.

    I used to be heavy into graphics and was an early user of
    Amigas when PC had no graphics to speak of, but I am now
    too old?? to get overly excited about ridiculously immature
    games like Quake. I'd much rather play something like Angband
    these days with NO graphics at all on a text mode terminal.

    This is not about performance for the needs of most users,
    even professional artists and designers. It's about bragging
    rights in playing immature games for preteens on how many
    frames per second one gets while splattering blood and guts
    in imaginary scenarios.

    You can have Direct X for Windows. It's a kludge, a horribly
    ugly programming environment and is the one thing besides
    the AOL/IE5 combo almost guaranteed to ruin multitasking on
    Windows and bring the system down.

    Hey, people are working to improve X and bring its built-in
    rendering engine up to date. That's good news. Some
    important technical issues were discussed in the article.
    It is much more likely that such improvements will be made
    than that Berlin or something similar will replace X on the
    unix desktop. This effort needs support. - and I think it will
    get some from the commercial unixes as well as from the
    LInux oriented toolkit people (kde and gtk in particular).
    Great!

  2. Why Athena scrollbars suck by Anonymous Coward · · Score: 1

    The way I heard it, when work on the Athena toolkit began (c. 1985), Apple was in full look 'n' feel litigation mode. The Mac had just come out and wasn't exactly dancing off the shelves. Now, Apple's lawyers couldn't get you for having buttons and text boxes because the Xerox PARC guys invented those, but they *could* theoretically get you for having scrollbars because the PARC GUI didn't have them-- AFAIK, in the PARC GUI, you scrolled by dragging with the middle button pressed, a method some X apps do support. In other words, scrollbars were invented by Apple to get around the fact that their mouse only had one button! All this meant that, when the Athena scrollbar was designed, the Athena developers tried to make it look and feel as totally unlike the Mac's as they could-- even down to putting it on the opposite side of the widget it was meant to scroll!

    This explains why OpenLook had rather odd scrollbars too.

    1. Re:Why Athena scrollbars suck by spitzak · · Score: 1
      This is incorrect. The Athena widget set was supposed to be a demonstration of Xt (the X toolkit intrinsics), which was an attempt to provide a widget framework. Most people think Xt is Motif but in fact the original idea was that Motif, Athena, and other toolkits would be build atop Xt. I remember reading design documents for Xt in 1984, and Athena was already implemented.

      I believe the odd behavior of the buttons is because there are no arrows on the scrollbars and they used two mouse buttons to click them up and down. It is also possible that the Lisp machines in use at MIT did this (I do remember they had scrollbars). Somehow the line up/down got mutated to page up/down, this was later and possibly in response to the Mac's page up/down. I would say that those scrollbars were about the worst possible example of user-unintuitivity and it seems hard to believe they still remain (but they do, in Emacs...)

      Xt is in fact a horrid mess itself, about 50% responsible for the disasters in Motif. For this reason I totally disagree with people who say a widget-framework should have been built into X. Such a framework would have been some horrid bad design like Xt and we would be forced to use it! X's innovation is not that it is well designed, but that the designers had the sense and humility to realize that perhaps some stuff could be done by the application!

  3. Re:X is the biggest problem for Linux by Anonymous Coward · · Score: 1

    The correct link is Berlin.

  4. Re:X is my favorite whipping boy.. by Anonymous Coward · · Score: 1

    'X is too ugly.'

    X can be made to look any way you want it too look
    It's not X its the toolkit
    Every single toolkit is too ugly, therefore X is too ugly.

    X is too slow.

    Not over a network.
    Its not slow, if you have good drivers for the card locally. Especially XFree86 4.0 More than adequate to get work done
    DOWNTIME IS GOOD!!! IT GIVES THE SERVERS A REST

    X is too old.

    Unix is older. 1970.
    Linux is older. It was discovered by the military in 1947, in Roswell, New Mexico.

    X is bloated.

    Name another protocol that works localy and over a network, that takes less ram.
    Telnet. 'Nuff said.

    X is dumb.

    that's a very personal opinion.
    But his is right.

    X is stupid.

    The proper response is no, you're stupid what's so stupid about x
    He told you, but you weren't listening. This is an 'all of the above' type response.

    X isn't GPLed.

    I'm going to assume you mean XFree neither is sendmail or mozilla. there are alot of good non gpled projects. get your head out of your ass.
    Only if you get your head out of his ass first. X was GPLed around the time that beta 0.6 came into being. It's just that Stallman never acknowledged that it was GPLed then, because he was working on his own pet project (which he later gave up on), a windowing system for Emacs.

    X has a difficult user interface.

    X has no user interface. X enables you to build whatever user interface your want on top of it.
    No user interface is a bad user interface. 'Nuff said.

  5. More PHP support would be nice. for HotGrits.Org ! by Anonymous Coward · · Score: 1

    Visit HotGrits.Org. News for Trolls. Stuff that Matters.

    Hotgrits.Org. Free Speech (As in Trolling).

    "Gritz" - Anonymous Coward. (Score: -1, Troll)
    "Trollz" - Anonymous Coward. (Score: -1, Troll)
    "Natalie Portmanz" - Anonymous Coward. (Score: -1, Troll)
    "Linuxz" - CmdrTaco. (Score: 5, Funny)

  6. Re:4 biggest problems by hadron · · Score: 1

    Only one of those is an actual X problem. The others are application problems, and window mangers problems. They can be solved without changing X.

  7. Re:How big a job would it be to migrate? by Ranger+Rick · · Score: 1
    Y isn't hypothetical, although I'm not sure if it's being actively maintained. :)

    :wq!

    --

    WWJD? JWRTFM!!!

  8. Re:great idea! by Ranger+Rick · · Score: 1
    It's called Berlin. :)

    :wq!

    --

    WWJD? JWRTFM!!!

  9. Re:Could be worse. Right on .... by Ranger+Rick · · Score: 1
    Yes! Angband is the king of all games!

    :wq!

    --

    WWJD? JWRTFM!!!

  10. Antialiasing? by abischof · · Score: 1
    Heh, I'm asking this because I know that if I didn't, someone else would ;). Anyhow, it looks like X might finally get anti-aliased fonts. Woo-hoo!

    But, is there a time-table for these changes? Has anyone even started coding this, or is all this really just pre-coding hype?

    Alex Bischoff
    ---

    --

    Alex Bischoff
    HTML/CSS coder for hire

    1. Re:Antialiasing? by Enahs · · Score: 1

      Not necessarily.

      These could be implemented as extensions...although this would increase the bloat that we giddily know as X.

      --
      Stating on Slashdot that I like cheese since 1997.
  11. Re:X uses only 16 bits... by Russ+Steffen · · Score: 1
    Also, wouldn't it make more sense for use an unsigned 16-bit integer for the screen position, such that it would really be 65536 x 65536?

    You have to have negative coordinates sometimes. Otherwise, how are you going to represent windows that are partially off the top or left side of the screen?

  12. X/Berlin; missing the point by Peter+Amstutz · · Score: 1

    The basic problem with making X faster is that it is still essentially a drawing protocol. Most of the proposals to speed up X basically rest under the assumption of making the coupling between clients and display hardware much tighter, which is fine for local display but does nothing for network performance. Berlin takes a more modular approach by separating display components from their application so instead of each application having to specify all drawing operations over some network connection, they only need to communicate high-level results (eg, "button pushed", not "mouse move" "mouse over" "mouse clicked"). The widget components then have abstract interfaces that describe their functions, which can then be implemented by any number of apropriate widgets; applications need only know about the interfaces. This makes taking theming to a really absurd level actually quite easy. You just replace the components that perform those functions. These rendering components then can be tightly or loosely coupled with the actual drawing server as necessary without having to bind the whole application closly to the server, which is where Windows is and where I see X going. Berlin is similiar in spirit to display postscript, but because it's built on CORBA it's a lot more flexible.

  13. X Terms are still used! by gavinhall · · Score: 1

    Posted by PartA:

    >Personally I like the idea of X as a dumb display device. At uni I actually use a X terminal, i.e. a fairly dumb device that connects to a server, they still exist and they still do a decent job. Something which makes the GUI nicer would be great though.

    1. Re:X Terms are still used! by David+Roundy · · Score: 1
      At uni I actually use a X terminal, i.e. a fairly dumb device that connects to a server, they still exist and they still do a decent job.

      Actually, I have a dumb X terminal at my desk (in my office) which I use every day, and am typing on right now. It's pitiful on RAM, but it gets the job done.

      Although with the price of cheap linux boxes now, I would never recommend that anyone buy one. But I don't see any problem with configuring a linux box to act as an X terminal.

  14. X Terms still have a use actually by gavinhall · · Score: 1

    Posted by PartA:

    The main reason why you would want a X terminal is likely for the first year students to use. =)

    There is very little to break down, they take up almost no room, and basically they get the job done, a PC running as a X terminal on the other hand require far more maintance, more parts = more breakages.

    I wonder why none has sold wireless X terminal yet.

  15. Re:Now there's an idea . . . by John+Allsup · · Score: 1

    For the same reason that someone doesn't write an extension to remove the cruft that's already there. Moral: design first, code later, redesign, code again, rinse, lather, repeat, etc. stop when the design is properly done, properly documented and you KNOW what your software is supposed to do, why it does it, and where its usefulness ends.
    John

    --
    John_Chalisque
  16. Re:This is not science fiction by John+Allsup · · Score: 1

    Including a printing API that is part of the display architecture...
    John

    --
    John_Chalisque
  17. Re:Why X needs the boot... by John+Allsup · · Score: 1

    Important consideration needs to be given to the conflicts between pixel accurate rendering and device independent rendering. The latter IMO should be the default, since most often you are concerned with accurately drawing an image on the screen (accurate from the point of view of the person using the system rather than the framebuffer).
    John

    --
    John_Chalisque
  18. Re:in other words by robin · · Score: 1

    It's funny you should mention scroll bars. I have to use a Windows NT 4.0 box at work, and one of the things that drives me absolutely around the twist (apart from the random lockups) is the behaviour of Windows' scroll bars. They act like ordinary control widgets, and deactivate if you move the mouse too far from them. In other words, if you want to scroll down you have to keep the pointer within a few tens of pixels of the scroll bar in the X direction, or the thumb pops back up to where you started scrolling! Argh! Why can't it just read the Y position?

    Personally, I prefer the old Athena scroll bars, as seen in XTerm, with the left/right click to move down/up by different amounts and the middle button to free scroll. I get the impression you're talking about the *look* of the scroll bars, rather than the functionality when you say `how about putting in GTK scrollbars everywhere' (paraphrase) -- this is modifiable by third-party libraries such as Xaw3D -- scroll down the page to see more alternative sets. These changes can be made without recoding applications!

    In order to use GTK code changes would be required to all applications with scrollbars. This would be a nightmare, and besides, GTK doesn't have X resources so you can't so easily modify widget behaviour.

    It's a shame that X didn't provide an attractive widget set in the first place (or, alternatively, that Motif was, and is, so expensive). Motif, with its rich configuratbility via resources seems cleaner to me in many ways thatn GTK. I presume this will be fixed in later GTK releases, and I hope to see support for X resources at some point...

    I've begun to ramble now, so I'll stop, but I'll just round off by saying that vanilla X is almost certainly more configurable than you're giving it credit for.


    --
    W.A.S.T.E.
    --
    W.A.S.T.E.
  19. Re:in other words by robin · · Score: 1
    That's funny, here, they follow the Y range unless your mouse moves around 200 pixels away from the scroll bar in either direction,

    Which is quite a long physical distance if you run in 1600x1200, which I do...

    in which case they drop, but if you keep the mouse button down and move back around the area of the scrollbar you'll have control bar.

    ...by which time you've lost your position in the text you're reading. Why can I not configure this bizarre behaviour?

    The athena scrollbars SUCK. They just seems like a sad excuse to show off all the mouse buttons.

    Just because the functionality is there does not mean that you have to use it.


    --
    W.A.S.T.E.
    --
    W.A.S.T.E.
  20. Re:in other words by robin · · Score: 1

    s/long distance/short distance/

    Doh!


    --
    W.A.S.T.E.
    --
    W.A.S.T.E.
  21. Clarification: by Enahs · · Score: 1

    This all depends on what you mean when you say "acceptable."

    Win98 produces acceptable performance, but my Linux install produces superior results to Win98.

    --
    Stating on Slashdot that I like cheese since 1997.
  22. Re: How would this work by Erik+Corry · · Score: 1

    Do you have a more detailed description on how you want this to work? Does it increase the amount of memory needed by the server? Does it increase the amount of network traffic needed? How would it cope with for example a Netscape window that was 500 pixels by 100 thousand, which you wanted to scroll smoothly through?

  23. Client-side fonts and high resolutions by Erik+Corry · · Score: 1

    How about allowing the clients to provide fonts? That would also make it possible for a client to have a backup font that it could use if nothing else was available. Also you might want to consider the possibility of high resolutions like about 300DPI and how they could be supported with a minimum of pain. Display technologies are changing.

  24. You bring up valid points by Improv · · Score: 1

    And there are a lot of other points you could
    bring up, like the ugly security model X has,
    or a number of other things. But the point that
    I'm trying to make is that while X certainly
    has its failures, it also has achieved a number
    of really useful things that other living
    windowing systems lack. Network display,
    flexibility (things like ssh's X redirection magic
    and such being possible testify to this),
    proper segmentation (so different window managers,
    graphical logins, etc are possible), possibility
    of X Terminals, etc. Someone replacing X has
    pretty high expectations to satisfy.

    --
    For every problem, there is at least one solution that is simple, neat, and wrong.
    1. Re:You bring up valid points by Nexx · · Score: 1
      ugly security model X has

      *grin* you just reminded me of my undergraduate days, when I saw hundreds of xneko sessions connecting to this guy's workstation from a fast remote server, rendering the workstation unusable. I had to use ident to figure out who was doing this.

  25. Re:Something I always thought would be interesting by ecloud · · Score: 1

    The AWT is too much of a kludge. It started out OK but then there was Swing... the Java equivalent of the client-side rendering that we're trying to avoid here. And plain old AWT widgets just aren't sufficiently sexy or abundant.

  26. Re:This is not science fiction by Kenelson · · Score: 1
    True, but lack of driver support now does not seem like a good reason to go and creat another whole 2D model (which will be inconsistant with what has become the 3d standard), and forces duplication of effort. There is nothing in the OpenGL concpet that forces use of 3d. One could take the 2d operations of OpenGL optimize drivers for them and then use it as the basis X primative replacement.

    Lets not confuse representation with implementation. OpenGL can "represent" all of the features we want, but perhaps doesn't "implement" them all well. I think Berlin made the right choice when they realized they could choose anything which allowed representation of concepts they needed after all the optimized implementations will come later.

    Arguments about what in OpenGL can be accelerated applies to both this new standard and the old, and thus are meaningless in the context here. OpenGL supports concept of antialiasing. Only some hardware supports it. This will be true regardless of what protocol the data is sent in.

    You can skip the current OpenGL implementation, but skipping the conceptual parts that OpenGL presents seems off. OpenGL is also extendable thus such thinks as a better 2d transparency or font model could be added without need of fresh start. This would make for a more consistant platform overall.

    --Karl

  27. Could be worse. by GianfrancoZola · · Score: 1

    X works well for me. I think it does for a lot of people. I don't exactly have the latest and greatest video hardware, but it seems that the X people have done a decent job at keeping up with trends. Not perfect, but what fun is perfection anyway...no complaining to do then.

    When he mentioned KDE and GNOME, it made me think that maybe his underlying motive for improving X rendering was to make those funky waves that Enligtenment will put on the bottom of the screen work better. :) After all, isn't eye candy the only reason most people use X? :) (just kidding)

  28. X uses only 16 bits... by PD · · Score: 1

    Only 16 bits for screen positions?

    32768 x 32768 ought to be enough for anyone!

    1. Re:X uses only 16 bits... by redd · · Score: 1

      Imagine a 2d map of the earth which is dynamically generated as a "virtual" bitmap from some kind of renderer and copied to a scroll-window on the screen.

      This could be far larger than 32768^2, but would be convenient to represent as screen-relevant 2D coordinates for the benefit of simplicity.

    2. Re:X uses only 16 bits... by Enjolras · · Score: 1

      The problem is that this is a integer based format (AFAIK). One of the things that the article proposes is going to be a nice 32 bit decimal format (the IEEE one) which becomes important as it allows math to take place at the subpixel level. That means better polygonal alignment and less artifacting for everyone:)

      Enj

    3. Re:X uses only 16 bits... by jejones · · Score: 1

      Actually, there is a company that pushes stacks of monitors, or perhaps just racks that you can stack monitors on (it was hard to tell from the web site...), and I forget whether it was on Slashdot or elsewhere that I read about 200 dpi LCD displays (not out yet...sigh), so the future isn't that far away. (Crude measurement of the 19" monitor before me shows the display area about 16" across, and at 200 dpi that would just about eat a 16-bit coordinate.)

    4. Re:X uses only 16 bits... by prefec · · Score: 1

      > 32768 x 32768 ought to be enough for anyone!
      As 640KB RAM is enough for anyone?
      New displays may have higher resolutions.
      Think about 600dpi displays or other
      large virtual screens.

    5. Re:X uses only 16 bits... by Emil+Brink · · Score: 2

      Um, if I didn't misread the article, use of floating-point coordinates was actually not suggested, since such coordinates would suffer from loss of precision when objects are translated. What was proposed was a fixed-point format, with 24 bits of integer and 8 bits of fraction.

      --
      main(O){10<putchar(4^--O?77-(15&5128 >>4*O):10)&&main(2+O);}
    6. Re:X uses only 16 bits... by wass · · Score: 2
      32768 x 32768 ought to be enough for anyone!

      Hmmm, isn't that what a certain Bill Gates said about the 640 kB memory window of the old IBM PC's???

      Remember, what seems fanciful now may soon be more than real later. Newer display mediums, for instance, with incredibly tiny pixels may come out, and/or the means of stacking many many monitors together, and/or other technologies that I'm not thinking of right now. Basically, this may be of a limit at some point.

      Also, wouldn't it make more sense for use an unsigned 16-bit integer for the screen position, such that it would really be 65536 x 65536?

      --

      make world, not war

  29. Re:in other words by hawkfan · · Score: 1

    I really prefer Athena scroll bars. Depending on where and which button you click you scroll back (or forward) some amount.

    You don't have to reposition your pointer when the slider slides past your pointer, just keep clicking the same button and continue. If you only want to scroll a little, click near the middle. Want to scroll a lot? Click near the end.

    Want to move instantly to a position in the scroll back? Middle click there. No more having to hit the slider and drag it.

    IMO, Mac/Windows scroll bars are crude compared to Athena bars. Just because they look better doesn't mean they're more useful.

    I guess this is why X, like the kernel, doesn't try to enforce policy. I like my scrollbars different!

  30. Other Unix boxes X by sarum · · Score: 1

    Are these extension going to be added
    to the default X version? IE are we
    going to see them on other Unix boxes?

    --
    -- / The whole history of this invention has been a struggle /\|/\ against time - Charles B
  31. Re:The Amiga and LSD by beej69 · · Score: 1

    senior haus weenie! ;)

  32. Re:X is the biggest problem for Linux by MikeFM · · Score: 1

    How is 3D handled? One thing I always was annoyed by is programs that are made for a different resolution or color depth and just don't look right in a really high res w/ True Color. Is there no way they could make it possible to change the res/depth for individual programs and desktops? BeOS seems to be able to handle this somewhat better. Prehaps X should borrow some ideas from them also. However, my main complaints with X are drag&drop and cut&paste which are both being addressed I think. :)

    I tried reading the full set of doc's on X once.. I only understood about half and oooh did my head hurt. That was several thousand pages. :)

    --
    At what price learning? At what cost wisdom? The price is a man's peace of mind, and the cost is his life.
  33. Re:X is my favorite whipping boy.. by Gulthek · · Score: 1

    Check out Blackbox if you want to find an incredibly fast, efficient, and well coded window manager.

  34. Will changing it break anything? by Mr.+Flibble · · Score: 1

    If we move to a new X (as I think that we should) what are the odds that some programs depending on X will break? I believe that Xi graphics makes a good X server, and I have not heard of it breaking anything, has anyone else?

    Still, it would be nice to run other resolutions within a window, (breakage or not! :).

    As per the comment that "X is not GPL'ed" I don't know if a new version should be. Rather I think that a BSD style licence or (rather like apache) it could have both licences. X is not totally closed AFAIK (you have to be on the list to see the code) and I don't know how many graphics card makers would be forthcoming with the code if its fully open.

    Then again, everyone (except nVidia Booo!) seems to be going open anyhow...

    I think that the licence on a new version is an interesting issue.

    --
    Try to hack my 31337 firewall!
  35. Beware the competition by ChrisWong · · Score: 1

    The paper notes the increasing dominance of newer toolkits like gtk and Qt, and the fact that they can make migration to X-NextGen easier. On the other hand, they could also make abandonment of X viable. This soul-searching may well reflect an awareness that alternatives loom in the still-distant horizon.

    Troll Tech has already announced Qt/Embedded: this allows Qt apps to run without X, using Linux's framebuffer. It offers anti-aliased text and alpha-blending of images, as well as hardware acceleration. Imagine a Gtk/Qt system that can share the framebuffer and bypass X. You could get a lot done with the latest generation of apps, faster, and with less memory.

  36. Re:X is my favorite whipping boy.. by DGolden · · Score: 1

    The apache site defacement was mentioned. Two whole days before your submission date.

    --
    Choice of masters is not freedom.
  37. It's about time. by Mr.+Piccolo · · Score: 1

    Finally, someone realizes that X needs to be revamped, and actually has a list of what is needed. And we owe it all to KDE and Gnome showing us just where the limits of X are!

    I only wonder that when they're done with it, whether it will be fair to call it X anymore, or if it'll need a zippier name than X12R1 :-)

    --
    Glückwünsche, haben Sie Slashdot ermordet, indem Sie zum korporativen Druck beugten und Subskriptionen einlei
  38. Re:X is my favorite whipping boy.. by Ambassador+Kosh · · Score: 1

    I use the remote features of x constantly. I run apps from my home machine at work. I run apps from on of my linux boxes with no monitor on my other box. The remote features of X are the most important features for what I do.

    Just ssh to the machine and it forwards x automatically and compresses it. Then run any x program. I do this to lost of machines all the time. It is really useful. It would be very uncommon for me not to have things being remote displayed from several machines on my machine.

    --
    Computer modeling for biotech drug manufacturing is HARD! :)
  39. Turing Complete by robwicks · · Score: 1

    What does Turing complete mean anyway?

    --

    Logic ... merely enables one to be wrong with authority. -- Doctor Who

    1. Re:Turing Complete by Khalid · · Score: 1

      Well this certainly out of the scope of this thread, but sorry couldn't resist :)

      As it has been said, it means that every algorithm could be expressed in it. Sometimes it's also called "Universal language". If my memory servers well, the Church Thesis sum this up this way : Turing complete = Partially recursive functions = Post productions = Markov Productions = Universal Language = Calculable functions = Hilbert' dyofontians (sp ??) problems = Every language wich contains an "If" and "Goto" or function call = C = C++ = Java = etc etc etc.

      Basically they all can express the same thing, and you will never ever ! (Goedel Lemma) find something "more powerfull"

      The good ol' University days

    2. Re:Turing Complete by spiro_killglance · · Score: 1

      I turing complete language or computer is one that is capable of running an emulator for any other computer or language. And thus is computationally equivalent to a universial turing machine.

    3. Re:Turing Complete by Ars-Fartsica · · Score: 1
      What does Turing complete mean anyway?

      It means any algorithm can be expressed with that language.

  40. Re:Berlin by frantzdb · · Score: 1
    Wow! I've checked out Berlin's site in the past but they finally have some working test apps. Anyone who's interested and hasn't should really take a look at their screenshots page. (Finaly truly transparent terminals ;-)

    --Ben

  41. Re:X is the biggest problem for Linux by bogado · · Score: 1

    The best way to promote berlin is to port GTK+ and/or qt to it, if you do this you got automagicaly a bunch of application that run on it.

    There could be a compatibility layer (reads an X server) that would make all the other work, maybe not as fast, but work.

    Done!

    --
    "take the red pill and you stay in wonderland and I'll show you how deep the rabitt hole goes"

    --
    []'s Victor Bogado da Silva Lins

    ^[:wq

  42. Re:X is my favorite whipping boy.. by LocalH · · Score: 1
    • Assholes that compare X visually to Commodore 64's should be forever forced to use actual Commodore 64's.
    And see some of the brilliant demos available for it by groups like Plush, Oxyron, Crest, Smash Design, etc., etc...
    _______
    Scott Jones
    Newscast Director / ABC19 WKPT
    Commodore 64 Democoder
    --
    FC Closer
  43. Re:X is my favorite whipping boy.. by fornix · · Score: 1

    Yeah yeah, X runs over a network. That's great. I would gladly give up that overhead in a flash if I could get better hardware and font support. In my short 12 years of running X, I have used it over a network exactly 5 times. If I wan't to do something to a remote computer I'll just do it in a shell or through a web browser. That's what I'm using 95% of the time I'm on the machine anyway. Really, now be honest, how many of you people really need to use X over a network? Honest answers please...

  44. Re:X is my favorite whipping boy.. by fornix · · Score: 1

    Well it looks like people use the networking side of X more than I thought, though I'm not convinced that they are doing anything that can't be done as well through a web browswer or java app, which seem to be easier to implement, more platform independent, and probably less of a headache in the long run. Once dhtml and other advanced web-based specs take foot, the argument for running a low level graphics connection over the network would seem pointless to me in most situations.


    I don't think the typical desktop user - the ones that are holding back on linux because of it's gui's and lack of microsoft office - would even care if the network features were missing.

  45. How big a job would it be to migrate? by whuppy · · Score: 1

    To come up with an idea about how entrenched X is, I propose the following thought experiment: For a hypothetical "Y" Window System, what application programs are on the "must have" list before you'll switch? For me, the list is pretty short:

    xterm
    emacs
    mozilla
    Plus, some sort of OpenGL implementation for games.

    I'm interested to know what the rest of you think. How many X clients could you leave behind? Which ones would have to be ported?

    --
    whuppy enjoys smelling like diesel fuel
  46. Enlightenment! by Percible · · Score: 1

    Reading through the comments, and seeing lots of negative comments about how X looks, etc.. I just thought I'd add my bit. My X setup looks a hell of a lot better than the Windows interface, BeOS etc, because I run Enlightenment, a rather nifty Window Manager for X.

    Go check out the screenshots, and drool. It certainly pushes X to the limits as far as graphical performance is concerned.

  47. Re:X by thogard · · Score: 1

    "Cast your mind back to 1987"...
    like when xfish was new? and X10 was considered cool?

    I'm not sure what has been added since then other than non-rectangular windows... and much bloat.

    X was desinged to get stupid boxes that could draw lines to do something useful. some boxes were so stupid that they couldn't debounce mouse or keyboard clicks. Now were are stuck with graphics chips that can do 3d texture blits and all they are doing is X-atoms.

    A new windows system needs to be designed to deal with issues like:
    where are the 3d chips heading?
    what do most programs need?
    what do the odd ball programs need?
    what do the window managers need?

    So far all these thigns conflict just enough to keep X alive and kicking.

  48. Re:X is my favorite whipping boy.. by lubricated · · Score: 1

    I really don't think anti-aliased fonts look that much better. I think the problem with fonts is, that the font's that get distributed with the standard distributions are ugly. I have copied true type font's over from a windows computer and gotten much better results. Also I think netscape does a poor job with fonts, which is another reason to think fonts suck. The problem is with netscape as mozilla looks leaps and bounds better with its handling of fonts.

    --
    It has been statistically shown that helmets increase the risk of head injury.
  49. Re:X is _THE_ whipping boy... by frog51 · · Score: 1

    There are some interesting points here - I agree that the Motif/Iris/4dWM on Silicon Graphics machines is the best/smoothest/fastest/most intuitive GUI I have ever used, and I would love to see it transferred lock stock and barrel to Linux (which may happen with SG Linux, who knows) but is its smoothness just down to the power of the SGI box?? Does it need serious power to run the threads needed?
    I guess todays P3's should be better than the 8 year old SGI Personal Irises I have in my server farm at home, and they can handle hundreds of real time X Clients on my desktop machines.
    I think it maybe just takes getting together a good standard (and 4dWM is a good'un) and coding this stuff.
    Come on SGI - give us 4dWM for Linux!

    Frog51

  50. Re:This is not science fiction by QuoteMstr · · Score: 1

    You are welcome to try.

  51. Re:Yes yes yes... by codewiz · · Score: 1

    Sure, but the problem is that many projects get entrenched in designing around design flaws...

  52. Re:This is not science fiction by codewiz · · Score: 1

    Well, as you know the support for OpenGL under Linux is not that good yet (eventhough my GeForce rocks with nVidias drivers). But most people don't have new or very well supported gfxcards.

    The claim that OpenGL supports antialiasing is true but only very few cards support it in hardware right now, and falling back to software wouldn't be that fun.

    The pixel intensive features of a 2D gui (like fonts) are not that effective in OpenGL (sure you can use textures etc. But OpenGL is primarily for 3D triangular based rendering.

    There's is also alot of diversity in the support of blending capabilities among the different 3D cards (it's getting more complete though) but the
    most common blendfunc (transparency) is supported by all reasonably new cards.

    Doing pixelperfect positioning in OpenGL can be somewhat tricky aswell.

    I think the best approach would be to skip OpenGL
    and write 2D specific modules for transparency and antialiasing that could be accelerated by the server

  53. Re:What about Quartz/Aqua? by bpd1069 · · Score: 1

    I agree, why emulate when you can innovate.

    The one thing that impressed me the most about the Aqua/Quartz engine is it dpi independent. I'm am far from a hardware/software developer, but even I can see the evolution in display technology moving to high res displays where 72dpi will be meaningless.

    --
    --
  54. Re:OT - apache hack by Chasuk · · Score: 1

    _check out yesterday's Slashback about this, links to an explanation of the motives / methods of the hackers as well as the earlier coverage of the exploit in the Apache section. Is this censorship*?_

    No, just an example of my own lack of observation. Sorry. :-(

    _*And if a letter to the editor of any newspaper is not accepted for publication, is that censorship?_

    Not always, but sometimes. There is definitely such a thing as censorship by omission, depending on the intent/ethics of the editor. However, as I made clear above, I acknowledge that no censorship occurred in this case.

  55. Re:This is not science fiction by Corrado · · Score: 1

    Someone needs to tell Apple it's not supposed to use OpenGL for 2D applications. Look here for to see how they are rendering the GUI in Max OS X (aka Aqua) with OpenGL.


    Later...

    --
    KangarooBox - We make IT simple!
  56. I love TWM by Luke+B.+Bishop · · Score: 1

    Seriously, I use KDE on my Dual OC 550 Celeron A, but on my P75 laptop, nothing quite beats a well-configured copy of TWM. Has anybody out there actually USED this little wm? It's fast as sin.

    --
    -- For large values of one, one equals two, for small values of two.
  57. Re:X is my favorite whipping boy.. by UnknownSoldier · · Score: 1

    > If I was designing a windowing system, the first thing I'd do is make the titlebar only long enough to hold the title.

    BeOS does this. ;-)

    > Menus would go next to it
    I hate the way allmost every other GUI eats screenspace with a long title bar and menu bar. I want the CHOICE of a menu vertical (ala NeXT) or horizontal (typical GUI's) or at the TOP (ala MacOS) or collapsable (has this been done?)

    > The problem is although a lot of people will agree with some of these points, not everyone will. Some people want partially transparent windows. Some people want the active window to be the one that the mouse is floating over. Some people like the X style mouse button cut and paste operations. All features that I dislike.

    I don't see why these couldn't be enabled / disabled in the interface options in the system panel. There are time I want to change my layout :)

  58. Re:Doing the math... by jcupitt65 · · Score: 1

    We need more than 2^15 pixels at the moment ... web browsers, for example, need huge scrollable windows for pages. Things like mozilla do very ugly workarounds to avoid the current X limit.

  59. Re:in other words by fwr · · Score: 1
    I'm not saying that X, by itself, should have had a widget set. X's modularity is one of it's few truly good points. But what they should have thought to do is provide some kind of place to call the widgets-- i.e. a standard set of stub libraries or somesuch, where the application simply requests a widget of a certain abstract type, and whichever widget system is installed on the computer at the time handles the request. (i guess today we'd do that with some kind of XML, dunno how they'd have done it then..) I believe doing a similar thing to the open/save dialog boxes would seriously improve the *n?x experience.


    Either you are very confused or I'm very confused. X does not dictate the call structure or API of all widget sets. The API for various widget sets are different, correct? Sure, most widget sets have "standard" items like scroll bars, buttons, and menus, but they also have those distinctive attributes that make them unique.

    If X cast the API of the widget sets in stone when it was first created then there would be no way to "innovate" without coming out with a totally new API, or even worse "patches" to the existing API that are confusing and non-sensical on a regular basis. Hey! That kinda sounds like the Windows API, doesn't it? Every time someone comes out with a new useful widget you have to try to force an existing widget API call into the mold, if the widgets are somewhat similar, or create a totally new API call. Yet, you have to support the old API for legacy applications, so you end up with a jumbled mess.

    No, I don't think it would be a good idea for the core X library to dictate a standard API set for widgets, because it would either limit the widgets to the lowest common denominator or create an API hell. I think it's much better for API's to come up with their own API calls and interface for application programs. Since most if not all widgets for X are open source, with the noted exception of motif, a new widget set developer is free to use the existing API calls for the non-unique calls in an existing widget set as the basis for their APIs.

    I think you are under the impression that the window manager, which defines the window "dressing" and uses a particular widget set, also defines what widget set the application uses. Like I said, I may be mistaken but I don't think that just because your window manager uses GTK means that all the applications written for KDE with the Qt widget set will magically change appearance to look like GTK applications. At least when I run Kmail on my GNOME desktop it still LOOKS like a KDE application.

    I think your beef is with the application developers who happen to use a widget set that you don't like. The only real solution to this is to use market pressure by stop giving the developers of those applications that you don't like your business, and let them know why you are not purchasing their products. Oh, but then most applications for Linux and X are Free, so you really have no ground to stand on and complain! Of course you could send in patches so that the user has a choice of what widget set is used when compiling and installing the applications. May be something like --enable-qt or --enable-gtk? Yes this is sarcastic and a bit of a troll, but IMHO you deserved it. I don't get that people who pay nothing for applications complain about those applications. If you don't like it, don't use it! If you think there are fundamental structural design issues with your platform switch to another like Windows or Mac.
  60. Re:in other words by TummyX · · Score: 1

    They act like ordinary control widgets, and deactivate if you move the mouse too far from them. In other words, if you want to scroll down you have to keep the pointer within a few tens of pixels of the scroll bar in the X direction, or the thumb pops back up to where you started scrolling! Argh! Why can't it just read the Y position?


    That's funny, here, they follow the Y range unless your mouse moves around 200 pixels away from the scroll bar in either direction, in which case they drop, but if you keep the mouse button down and move back around the area of the scrollbar you'll have control bar.

    The athena scrollbars SUCK. They just seems like a sad excuse to show off all the mouse buttons.

  61. Re:This is not science fiction by _egg · · Score: 1

    Lots of people have commented on Berlin, which I was going to do as well. Given that Berlin seems to be making progress now, and that compatiblity libs for X11 apps is of course a future goal, why patch when there's a project to do it all right from the beginning? Can you specifically say why it makes sense to keep revving X instead of adopting something fresh like Berlin?

  62. Re:What about Quartz/Aqua? by Molz · · Score: 1

    I was hopeing someone would post about Quartz/Aqua. Although its not radicaly diffrent, just radicaly diffrent from the current implementations. NeXT used display postscript I believe, and most of Mac OS X is based off of NeXT stuff, including Quartz/Aqua. Also I like the idea of a wrapper library, but that might still break some apps. Also what is the network capablitly of the old NeXT display system?

    -----

    --
    Can I Play With Madness?
  63. Re:Doing the math... by acoopersmith · · Score: 1

    X isn't just for monitors - with the X Printing
    extension, it also handles printers, and with
    a 2400dpi printer, 2^15 pixels is only 13 inches.

  64. Re:X is my favorite whipping boy.. by mr · · Score: 1

    >By failing to GPL it, the Xfree86 team has discouraged a major portion of the Gnu/Linux community from using it.

    Better tell the Linux distro people from shipping it.

    --
    If it was said on slashdot, it MUST be true!
  65. Re:X is my favorite whipping boy.. by mr · · Score: 1

    > X was GPLed around the time that beta 0.6 came into being.

    Got proof?

    --
    If it was said on slashdot, it MUST be true!
  66. Other commentaries to consider... Plan 9 by dzerkel · · Score: 1

    The Plan 9 Window System: 8½ has good network support and might be a good start for other ideas.

    --
    "What's the point of going abroad, if you're just another tourist..."
  67. Re:X is the biggest problem for Linux by FunkyChild · · Score: 1

    In Berlin? I believe the whole system uses OpenGL, for both 2D and 3D. Of course, for 2D it only uses the specific functions that are necessary, as to avoide any overhead.

    Unfortunately, it seems to be in its early infancy right now though. Dammit, I want fast graphics in Linux!

  68. Re:Postscript is not a good fit to any problem by codemonkey_uk · · Score: 1
    > Java is certainly the right fit for this problem Oh no, for the love of god, no. Java is not the cure to all your ills. If you want efficiency design something for the job. If the only tool you've got is a hammer, every task looks like a nail. Well Java is a bloody great sledge hammer, and (X) server side gfx proccessing is a fine thread screw. The VM solution is a viable one, but it should be designed specifically for the job, not stolen from a marketing exersize.

    Thad

    --

    Thad

  69. Re:X is my favorite whipping boy.. by mrgone · · Score: 1

    >Can't the Amiga do this using RTG?

    No, RTG is more like VNC than X. It allows you to
    open an Amiga screen into a PC window. At least thats what I've read about it.

    Tim Malone

  70. Re:X is my favorite whipping boy.. by Avumede · · Score: 1

    > 'X is too ugly.'
    > X can be made to look any way you want it too look

    From a usability standpoint, that's an insurmountable problem. That reason alone should be reason enough to get rid of X. Even if you could present a user with a consistent interface, if they wanted to download programs on their own, their interface would shortly become inconsistent, because most X programs looks different. An example is ETerm. I download the new version the other day. But what happened to the menu? Then I discovered to access the menu you have to do a Ctrl-Right-Click. Perhaps when people start figuring that out, they may change it to something more obscure. It's possible to code bad interfaces in any enviroment, but good environments such as Mac/Windows/NeXT make it easy to develop interfaces that are the easiset to use.

    > X is too old.
    > Unix is older. 1970.

    Considering how far graphics has come in the last decade, I think this is a valid complaint.

    > X has no user interface. X enables you to build whatever user interface your want on top of it.

    To repeat, this is why X has got to go! No matter how much you improve it, it continue to be a complete mess, interface-wise.

  71. Re:Why X needs the boot... by localman · · Score: 1
    In my opinion evolving an existing codebase is always better than starting anew - assuming the existing codebase is functional.

    It took Be forever to get their system usable, and it's still not as stable as X. I think the incredible amount of time that it has taken Mozilla to come together demonstrates this as well.

    The thing with working code is that god only knows which subtleties are critical and which are just cruft. Changing them individually allows you to learn and improve. Throw out the whole thing and you've got to remake every mistake made the first time around.

  72. we already have one by jmd! · · Score: 1

    doesn't XFree 4.0's DRI qualify as a new rendering model?

  73. Re:The Current State of X :) by DrSkwid · · Score: 1

    the whole book is thoroughly recommended for even the hardest to die unix die hard
    .oO0Oo.

    --
    There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
  74. Re:This is not science fiction by mr3038 · · Score: 1
    OpenGL isn't the way to go for 2D rendering - it carries too much overhead with it

    I don't agree. Graphics adapters push many million polygons per second when using OpenGL nowadays. Drawing window borders (or button or scrollbar) is no job for recent graphics adapter. With OpenGL you get texturing, anti-aliasing, alpha-blending and z-buffering (I can imagine many nice effects with z-buffering in window manager) practically for free (because those are implemented in hardware). Also GLX makes pretty good use of network bandwidth in my experience.
    _________________________

    --
    _________________________
    Spelling and grammar mistakes left as an exercise for the reader.
  75. Tried HotGrits; didn't work on Netscape by yerricde · · Score: 1

    I tried it, but nothing showed up on my Netscape 4.72 browser.

    --
    Will I retire or break 10K?
  76. Re:This is not science fiction by puetzc · · Score: 1

    Umm... Aqua is not being done with OpenGL. Apple rolled their own new display API (Quartz) which is based off Display PDF (NeXT always used display Postscript, but that had too many patent issues for apple's taste). OpenGL is also there, but it's not what's behind Aqua.

  77. Re:This is not science fiction by Explo · · Score: 1
    'm guessing you're an ex (or current) Amiga user. This is how for so many years, despite inferior hardware, the Amiga managed to pull of some amazing graphics feats.

    Then again, AmigaOS graphics system was tied heavily to the hardware until OS version 2.x, and even now it's not IMO as good with graphics cards as Windows or X.

    --
    Everyone who makes generalizations should be shot.
  78. Re:X is my favorite whipping boy.. by Explo · · Score: 1
    Really, now be honest, how many of you people really need to use X over a network? Honest answers please...

    I have used X for about 5 years and it's not that uncommon for me to use some application that is installed at the university machines but not at my own Linux box (or even isn't available for Linux) over network. I can't give exact figures of use, but about once or twice per month should be quite close. It's not very important, but I'd miss the feature if it would disappear...

    --
    Everyone who makes generalizations should be shot.
  79. who cares its not GPL'ed by ArchieBunker · · Score: 1

    You want source access then join the development team.

    --
    Only the State obtains its revenue by coercion. - Murray Rothbard
  80. Why all the complaining? by rallymonkey · · Score: 1

    Maybe you guys don't have your MTRR set properly or something. My X runs like lightning on this 3dfx card. Without MTRR support it does suck so maybe that is your problem. Look into it!

  81. Re:X vs. the Commodore 64 by luckykaa · · Score: 1

    Well, on the plus side, my C64 takes a lot less time to start up than X. And its much more memory efficient. And Spy Hunter is more fun than any of the games I've seen for X. And my TV gave hardware anti-aliased fonts.

  82. Re:X is the biggest problem for Linux by luckykaa · · Score: 1

    Berlin probably won't become popular because many folks will say, "Gee, why code for it? There aren't any apps yet"

    This could be solved quickly by porting gdk/gtk to it. Suddenly we have Gimp, a web browser, and - the most important addition ever to the modern GUI - Minesweeper.

    As for the point about gtk, Windowing systems are different from toolits. You can easily use several toolkits, but using several GUI's is a lot harder.

  83. Re:X is the biggest problem for Linux by luckykaa · · Score: 1

    X on a network is truly impressive (I had great fun playing Doom on two different machines using each other's monitors)

    The thing is that not many people use their machines on a network. X really needs some optimisations to improve local display support.

  84. Re:X is my favorite whipping boy.. by luckykaa · · Score: 1

    Name another protocol that works localy and over a network, that takes less ram.

    Can't the Amiga do this using RTG? Probably less efficiently in terms of bandwidth though.

  85. While we're at it..... by luckykaa · · Score: 1

    How about support for multiple desktops at different resolutions and some decent stuff for full screen games and video. And I'd quite like to have Windows style subwindows.

  86. Re:Doing the math... by keithp · · Score: 1
    This is true, but you'll have quite a large number of pixels until the 23 bits bits of the mantissa (the 24'th bit is always one) aren't representing much sub-pixel positioning info.

    The problem is when moving objects around the screen it's nice to have the same pixels drawn, but when using floating point, the precision depends on the magnitude of the value. This means you get different jaggies on the edges depending on where you draw something on the screen. Not pretty.

    I conclude that 32-bit fixed point numbers are a better fit, and that providing 24 bits of integer part and 8 fractional gives a good tradeoff between rendering accuracy and an extended coordinate space.

  87. Re:in other words by Tejota · · Score: 1

    Perhaps you meant that X should have had a standard toolkit, and forced everyone to use it.

    No, I mean that X and a standard tookit should be the same thing.

    Having one without the other is useless.

    And if X and the toolkit WERE integrated, then the wire traffic could be done at a much higher level for common user interface tasks.

    Think: move scrollbar thumb to possition 8 on window foo

    Instead of: several K of bitmaps, or many many colored linedraw operations

  88. Re:in other words by Tejota · · Score: 1

    The designers of X wisely adopted a philosophy of "presentation, not policy"

    Wise? I don't think so. This was their biggest mistake. If X had handled Windowing, then you would have had a uniform set of conventions for windowing, AND you could have extended or improved X Windowing.

    If everyone hated the way scrollbars worked in X8, then in X9 they could change it and it would just work!! This is exactly what happened when M$ Went from Win3x to Win9x. Every application that used scrollbars in the 'usual' way. Got the new scrollbar look and feel for free.

    "Presentation not policy" is PRECISELY why X is such a cluster-fsck. It's a completely inadequate design for use as a GUI.

  89. Re:Berlin by pvcf · · Score: 1

    But moving from X10 to X11 broke pretty much everything. Albeit, there were *ALOT* fewer apps back then. (Hmmm... There was xterm and... ???) :-)

    But, I take your point, breaking everything currently available for X, including all the window managers, other apps and toolkits which run on top of it would require some serious justification. Then again, where would be the justification for an entirely new windowing system? A new improved X that breaks everything, starts out on a level playing field with something new like Berlin.

    --
    F U NE X N M? Son: "Dad... How do you spell 'hourly'?" Dad: "0 * * * *"
  90. Reminiscence from hicksville by Danny+Ra · · Score: 1

    Anyone remember the RISCOS font manager? Drawfiles? I seem to remember using 32-bit fixed-point co-ordinates and anti-aliased fonts on an A5000 a *good* long while ago.

    --
    "Knowledge is the continuation of ignorance by other means"
  91. some one needs to X this thread correctly by MattBaggins · · Score: 1

    Why the fuck is this thread displaying all messed up? Word wrap is broke or something. Some posts are fine. Some are extending 20 lines as 1 line. Gotta scroll right about a half mile to read them. Every other article is fine. this is the only one that is fsck'ed. Is this just me?

    1. Re:some one needs to X this thread correctly by Dr.+Sp0ng · · Score: 2

      Some fucking troll figured out how to make posts wider than the screen, and so of course he had to do it to piss everybody off, since it makes ALL posts that wide now.
      --

  92. Re:New possibilities? by pjc50 · · Score: 1

    Shame there aren't any HCI researchers working on this stuff. User interface is what lets down most wm's, especially the flashier ones.

  93. windows by muzzy · · Score: 1

    -- The point is, X works, but you could have something so much better if "the community" just tried. But it won't. --

    Now where have I heard that before... could it have been... s/X/windows/; ... oh yes, that's it.

    note to people who want to flame me: I'm a windows user and proud of it. I usually get uptime of up to two weeks (at least unless my ip leaks to some 'l33t linux-people). The very reason I'm using windows and not linux is that windows has what I need, it's stable enough for me. I suppose people use what works and does the stuff for them and what they have used to use, instead of seeking for "something better".

    --
    -- Matti Nikki
  94. New possibilities? by MrProgrammer · · Score: 1

    Sounds like this will open up a new world for Window Managers. I wonder what kind of new things could be done with changes on a lower level (read, X)

    1. Re:New possibilities? by kzinti · · Score: 2

      Shame there aren't any HCI researchers working on this stuff. User interface is what lets down most wm's, especially the flashier ones.

      Although it might be helpful to get the advice of an HCI expert here, it's going to be of limited effect. Where an HCI pro could have real benefit is in the window manager and toolkit design, because that's where policy decisions are made.

      Remember X's longstanding motto and design principle: "mechanism, not policy".

      --Jim

  95. I never said that I liked Microsoft...please read. by NRAdude · · Score: 1

    I have been learning Linux for the past 1.5 years and I am verry pleased with it. I like the way it is designed and I especially like its multitasking and SMP support. I'll try out BSD later, but Linux will always be apart of me. I have ditched Microsoft. I payed $200 for MASM 6.1 and I thought I didn't get much. My first Linux purchase is a Linuxmall.com RedHat 5.2 CDROM and powertools CDROM which I payed $7 on eBay. I was stoked whith all the information that I received. I am verry greatful for all that the Linux forefathers have started and ma proud to say that I will never graduate from the Linux operating system because its greatness goes on. The open-source philosophy is helpfull than closed-source. I found it much more challenging to program under MS Windows. Especially when nobody will show source code, or at least, source code that has some structure and is self explanatory. I went to hotgrits.org and I don't like what you are doing. You can have that website for yourself and all of your perverse frieds. Slashdot.org is where the information is at. It is only a matter of time before some causes DenialOfService on your system or, atleast, cracks it down to a dump of /dev/hda. Why don't you take some time off the internet and grow-up. Keep in mind that the previous sentance is a command, not a question. Add infinitum. Slashdot.org lives on!

    --
    without prejudice
  96. Re:X is my favorite whipping boy.. by logicnazi · · Score: 1

    It was posted awhile ago in the apache section with detailed commentary about how the break in was accomplised. Read the other sections.

    --

    If you liked this thought maybe you would find my blog nice too:

  97. Re:This is not science fiction by MrBogus · · Score: 1

    Other than the PowerPoint graphic, do you know what specifically in the GUI they are using OpenGL for?

    My reading of that graphic is that OpenGL and QuickTime are available as parts of the display API, not that GUI elements would necessarily be rendered with QT movies or OGL elements.

    --

    When I hear the word 'innovation', I reach for my pistol.
  98. Re:X is my favorite whipping boy.. by balrog66 · · Score: 1
    If I was designing a windowing system, the first thing I'd do is make the titlebar only long enough to hold the title.
    BeOS does this. ;-)
    As does twm...

    The behavior can be specified with SqueezeTitle and DontSqueezeTitle in the twm startup file. It can even be done on a per window basis.

  99. Re:Something I always thought would be interesting by Reality+Master+101 · · Score: 1

    I should have made this more clear... I'm not suggesting using all of Sun's baggage (and all the licensing problems thereof), just using the core Java language with a logical interface to the [possibly expanded] core X11 primitives.


    --

    --
    Sometimes it's best to just let stupid people be stupid.
  100. Re:Dynamic resolution changes by richie123 · · Score: 1

    actually, I prefer the virtual desktop. Since when does anybody go to a lower color depth to have a smaller desktop? usually just to zoom in, or play video of games.

  101. Whats with that? by jeezuzz · · Score: 1

    Whats with that horrible flicker that first happens while going into X? That alone makes it look ancient. This has to happen if Linux or any other*NIX is going to make it in the desktop market. That besides installing new software would scare most newbies away from it. This looks like a step in the right direction

  102. Re:This is not science fiction by billhuey · · Score: 1

    Excellent, I've always wanted PostScript capabilities within X. ;-) Floating point coordinates and 2x2 matrices for rotation/scaling too ? Have you looked at QuickDraw GX as technology guide for building the X infrastructure to deal with documents ?

  103. Re:Something I always thought would be interesting by Anonymous Coward · · Score: 2

    Sigh. You've described NeWS, only pull out "java" and put in postscript. (People don't seem to realize that postscript is turing complete).

    And no, java isn't even remotely perfect. There is way too much extra shit in java. Postscript is a much better fit to this problem.

  104. Postscript is not a good fit to any problem by Paul+Crowley · · Score: 2

    Postscript is the second worst programming language I have ever encountered after Sendmail (which has Turing complete rewrite rules). All the slowness and unpredictability of a very high level language and all the incomprehensibility of assembly. Even Adobe seem to be keen to kill it in favour of PDF.

    And Postscript has *way* too much extra shit in it. Java doesn't have "save/restore", for example, which was always madness and looks madder than ever when looking at interactive stuff.

    Java is certainly the right fit for this problem. I agree that this would be very desirable. Not Swing or whatever, just the core Java language combined with a rendering model designed for this problem.
    --

  105. Re:Something I always thought would be interesting by John+Allsup · · Score: 2

    Turing completeness is meaningless in the case of a display architecture. For example try writing a windowing interface in TeX (which, alas, is also Turing complete).
    John

    --
    John_Chalisque
  106. Re:X is the biggest problem for Linux by Enahs · · Score: 2

    >Other graphics system for linux such as berlin aren't going to become the future due to their lack of software.

    Erm...I remember someone saying once that the toolkit GTK would NEVER become popular because:

    1) there were already a number of toolkits "out there"
    2) there was only one app that used it (GIMP)

    And now look. :^)

    The moral: Berlin probably won't become popular because many folks will say, "Gee, why code for it? There aren't any apps yet." It's kinda like Catch-22: You can leave the army if you can prove you're crazy; however, if you can prove it, you must be sane. :^)

    --
    Stating on Slashdot that I like cheese since 1997.
  107. The problem with attempting to improve on X by Improv · · Score: 2

    Is that X does so many things acceptably. X isn't
    perfect, but there are so many things that it does
    right over its surviving competitors (e.g. the
    Windows GUI) that improving on it will be very
    difficult. There are so many important features
    of X that people who try to write a replacement
    would be tempted to take out to make the ship
    date sooner that it seems unlikely to me that
    a replacement will come along soon.

    --
    For every problem, there is at least one solution that is simple, neat, and wrong.
  108. Re:This is not science fiction by Josh · · Score: 2

    The proposals sound very good. One thing that I feel should probably be incorporated in this type of project - to improve what was left out of X rendering - is the addition of a parallel API that allows each rendering function to be applied directly to some array like structure like an Ximage on the client side. There are lots and lots of applications that need to give the user choice between screen display and/or output to something like a PNG image, and this type of API would make doing that more straightforward.

  109. A whole lot of comments. by spitzak · · Score: 2

    I have read your proposal for the extensions to X and have a few
    comments on it. I have worked with X a great deal myself, writing 2-D
    graphics manipulation programs at Digital Domain, large amounts of GUI
    code, and a toolkit (www.fltk.org). I would be willing to help out
    with coding or ideas or anything, as I see the replacement of the bad
    parts of X as being vital to the future of it.

    Certainly we NEED to replace the X rendering engine and this goes a
    long way. I also don't think any replacement will be accepted unless
    it is possible to emulate the old system atop the new one, and to
    emulate the new one (slowly) atop the old one, so that a gradual
    transition is possible. Adding things to the X protocol looks like
    the only way to do this.

    I don't like the fact that you seem to be concerned with moving the
    minimal amount of drawing code to the server. I think this is wrong:
    I want the server to do absolutely as much as possible. We have no
    idea what may be hardware-accelerated in the future. I am also tired
    of trying to use a bunch of shared library which don't understand each
    other and don't cooperate to draw things.

    COLOR VALUES:

    I disagree with your desire to keep the pixel values and the raster
    ops visible. These are not needed for any modern graphics system,
    based on the stencil+fill model. I am also afraid that if they are
    not gotten rid of completely it will greately decrease performance.

    On all hardware I would like to see colors directly specified (at
    least with 32 bit rgba numbers, perhaps other ways). The driver
    figures out how to represent these on the hardware. I do not believe
    the translation is that expensive: it is certainly cheaper for the
    server to do this translation because it has ONE target format, rather
    than having the application do it to a arbitrary target specified by
    the server.

    8-bit hardware colormaps can be filled and the closest available color
    used when the map is full. This is the solution used by all toolkits
    today and I see no problem with moving this to the server. Filling
    colormaps is one of the big round-trip time wasters with X. If we
    added one more call indicating "I don't want this color anymore" then
    colormap cells can be reused without closing the connection.

    For emulating old xlib programs I would have the interface claim that
    only a TrueColor visual is available with 8 bits of r,g,b. This will
    allow the deletion of all the old colormap stuff from the X server and
    allow great freedom in the new implementation. Programs that cannot
    use TrueColor are not going to be supported (this is already true for
    XFree86 in 16/32 bit mode so I don't see this as being a problem).

    The only useful "raster op" is "XOR" and that is only useful for
    drawing "overlays". Exposing this prevents the server from taking
    advantage of real overlay hardware. I would prefer to have "draw in
    overlay" and "erase from overlay" added to the gc. On simple hardware
    these both do XOR. On more advanced hardware the overlay is used, and
    maybe the current color.

    ALPHA COMPOSITING:

    It may be important to support "premultiplied" alpha compositing,
    which is A+(1-alpha)*B. This form of image is often generated by 3-D
    rendering programs. The non-premultiplied version is actually better
    but the premultiplied form is so common that it must be supported.

    I would also like to see non-premultiplied alpha "paint", ie you can
    set the current foreground color to have alpha. This does not need
    hardware acceleration but should be in the server.

    Far better antialiasing can be achieved by taking into account the
    actual brightness of pixels on the screen (the screen gamma). The
    proper way to add screen colors is (A**(1/g)*alpha+B**(1/g)*(1-alpha))**g,
    where g is the screen gamma (approximately 2). I think this can be
    done with a lookup table?

    COORDINATE SYSTEM:

    I think you *should* use IEEE 32-bit numbers and put the
    "transformation" into the server. You must support Inf and not crash
    when NaN are passed in.

    Using floating point is the only way I see to avoid having two
    clipping bottlenecks (one in the program to clip to the legal
    coordinate system and another in the server). Clipping is NOT as
    cheap as you said, as it involves calculating a new path by
    intersecting the lines with the edges of the clip area.

    Having the transformation in the server is necessary for supporting
    font rasterizers and to take advantage of hardware acceleration for
    transforming images.

    The translation inaccuracy problems you mentioned are eliminated by
    having a current transformation, if you seperate the current
    transformation into an integer translate and a fp matrix. The program
    can then translate so that 0,0 is on the screen and draw with very
    high accuracy.

    It is not necessary to have a transformation stack, just setting the
    current transformation directly would be sufficient. However I would
    not complain if there was a stack.

    PATHS:

    I do think paths should be in the server, because otherwise people
    will write wrapper libraries that will be slower than doing it in the
    server. Like PostScript, paths are built using the current
    transformation, they do not move when you change transformation. This
    allows them to be converted immediately into trapazoids.

    Characters may be drawn into the path. Since these are antialiased
    bitmaps from the font renderer this means the path must support
    antialiased bitmaps. Also current X supports the ability to add 1-bit
    masks to the clip and it seems likely you will have to support this
    for back compatability. Therefore it seems likely that the path must
    be an arbitrary gray-shade image (internally stored much more
    efficiently as a combination of images and trapazoids). This is a
    pain but I see no way around it.

    Unlike PostScript you can probably require the program to say what it
    is going to do with the path before it builds it. "Stroke" for
    instance would be totally different and could ignore bitmaps (or draw
    a box around them).

    "Fill" would fill the path. It may help to insert some OpenGL into
    here and allow the color to change as the path is built and it then
    did Gourand shading of the path.

    "Clip" would use the path to set the clipping area, intersecting it
    with the current clip.

    It would be real nice if a window could be created with the current
    path, to replace the "shape extension".

    TEXT:

    I do not want the Windoze-style 12-parameter call to sepecify a font,
    and I am afraid this is what you are suggesting. I recommend a call
    much like this: setfont(gc, const char* name, int attributes, float size).
    The "name" should be something that we are willing to show a user,
    like "Helvetica". The attributes are bitflags for bold, italic, etc,
    but in all cases the same attributes may be achieved by adding "
    Bold", " Italic", etc to the name and leaving the attribute zero. The
    size is a convienence, as the current transformation should be used to
    figure out the letter forms, the size temporarily scales the
    tranformation by that factor, sets the font, and scales it back.

    The PostScript model where the size is the true "point size" MUST be
    used. This means the size is the minimum line spacing, not the ascent
    size that has been popularized by broken Windoze and Qt. This is
    necessary to typeopgraphy and for supporting non-Latin fonts.

    Another pet peeve: can I PLEAD with you to support UTF-8 (and ONLY
    UTF-8) encoding! This is a standard to translate 8-bit bytes into
    Unicode indicies. I don't care if you draw a box for every Unicode
    character not in the font, just support the $#$%@ encoding! I believe
    there is NO need to support plain 8-bit or "wide" characters, but I
    know others disagree. Illegal UTF-8 sequences (including characters
    encoded longer than needed) should be represented by using the bytes
    individually. Change Unicode by replacing 0x80-0xA0 with the
    MicroSoft character set, because we must face the fact that they have
    taken control of this standard.

    Measuring text for layout is a problem. Any kind of character
    metricies system prevents the server from doing intelligent kerning or
    overprinting, it also requires the application to understand UTF-8,
    which eliminates the whole point of UTF-8! Any other solution would
    look like HTML, greately limit the amount of formatting control the
    program has and being very complex. I think we have to give up on
    eliminating the round trip and recommend instead that the gc have a
    "current string". The program sets the string to an array of bytes
    and then can request the metricies of how that string would be
    formatted (ie the bounding box, etc). The program can then tell the
    server to draw the string, or it can change the string by either
    replacing it or truncating it to a substring. This at least
    eliminates the need to send the string twice and lets the server cache
    info it got when it measured the string.

    IMAGES:

    Again, I STRONGLY disagree with the conventional wisdom that the only
    fast way to do images is to have the program know the details of the
    hardware. Though true in theory, the pratical solution is to have an
    ENORMOUS library that can translate all possible pixel formats the
    program has to all possible ones that any server has. Doing this in
    the server is MUCH simpler, since it only has one target format,
    reducing the complexity from N^2 to N.

    I would greatly limit the number of source formats to ones that are
    needed by modern programs. This means ONLY these:

    "native" : a single format the server likes, much like X is now.
    1-bit black & white
    8-bit gray level
    8,8,8 full color RGB
    8,8,8 full color BGR
    8,8,8,8 full color with alpha non-premultiplied RGBA
    8,8,8,8 full color with alpha non-premultiplied ABGR
    8,8,8,8 full color with alpha premultiplied RGBA
    8,8,8,8 full color with alpha premultiplied ABGR

    Just so people won't scream about my color limitations, also support
    8*2^n bits per color, though this can be done by skipping the
    low-order bytes for now.

    The recommended call is this (or a seperate call for each format):

    draw_image(int format, const char* data, x,y,w,h,delta,linedelta)

    x,y define a position in the current coordinate system for the
    upper-left corner. w,h define the width & height of pixels to draw.
    Delta is the data increment between pixels (this allows other pixel
    data to be skipped, or the red channel to be drawn monochrome).
    Linedelta is the data increment between lines, this allows arbitrary
    subrectangles of an image to be drawn. Both delta and linedelta may
    be negative to flip or rotate the image.

    It may also be useful to send raw jpeg or png data to the server and
    let it be decoded there. This has obvious benefits for a network, and
    also eliminates another need for many programs to link in another
    library.

    OTHER FIXES TO X:

    Make a new type of "gc" that includes the damn window! It is
    ridiculous that we have to send both the window and gc to all the
    calls. Deletion of the window id would also shorten the protocol (it
    is vital that the window be changable with a setWindow call, the lack
    of this makes the Win32 gc's nearly useless).

    Add a call that can define a huge array of atoms with a single
    protocol request and a single round trip. This along with the
    elimination of colormaps would get rid of most of the startup delay of
    X programs.

    Fix the X protocol so there is a symbol sent when an application is
    waiting for events (actually it would be sent by XFlush if the buffer
    is not empty). This would allow servers to synchronize updates with
    vertical retrace, do double buffering, and consolidate mouse events.
    It would also allow synchonrization with the X window managers: one
    real annoyance with X is that you cannot map a window and immediately
    draw into it, this looks horrible to programmers used to Windoze and
    almost certainly needs to be fixed before they will be willing to work
    on X.

  110. Re:This is not science fiction by Kenelson · · Score: 2
    Why not just make OpenGL (GLX) the new standard for X graphics primatives? It contains virtually all of the required elements including subpixel accuracy, antialiasing, and alpha channel. Thus why reinvent the wheel with a very good one already exists? Additional things like font model would be added as extensions is needed assuming they don't already exist. Simply slip Xlib into window handling and old primatives and switch to GL as the primative routines.

    --Karl

  111. Re:What about Quartz/Aqua? by SamHill · · Score: 2
    NeXT used display postscript I believe

    Yes, NEXTSTEP and OPENSTEP use Display PostScript. So does Mac OS X Server.

    Also what is the network capablitly of the old NeXT display system?

    NEXTSTEP and OPENSTEP (hereafter NEXTSTEP) work much like X does: you can display applications running remotely on your screen. But both ends have to be running NEXTSTEP, and the applications have to be native NEXTSTEP applications. That is, you can't display a NEXTSTEP application on your Linux box running X, nor can you display an X client application on your NEXTSTEP machine (unless you're running an X server on that machine, of course).

    Quartz no longer uses Display PostScript, as Adobe isn't interested in licensing it (at least not for a low enough price). Quartz is more like ``Display PDF'', and it incorporates much of the font and text support from the orphaned QuickDraw GX.

    Also, Quartz is the imaging model; Aqua is the interface. Aqua needs Quartz, but Quartz doesn't need Aqua.

  112. Re:in other words by kzinti · · Score: 2

    In other words, if you want to scroll down you have to keep the pointer within a few tens of pixels of the scroll bar in the X direction, or the thumb pops back up to where you started scrolling!

    I hate that too, and I've sometimes wondered whether it was a side effect of the Apple UI lawsuit... Microsoft would be seeking to distinguish its UI from Apple's to thrawt the copyright claim. Surely not even Microsoft's UI designers would intentionally design in such an annoying and distracting feature.

    BTW, Apple's UI is also sensitive to the pointer's X location, but if the pointer wanders outside its "slop" zone, the scroll thumb simply freezes in place -- much friendlier that jumping back to the top of the scrollbar.

    But simply tracking the Y position would seem to be both the simplest and most obvious thing to do.

    --Jim

  113. Re:NeWS windowing system by Deven · · Score: 2

    There is a successor to NeWS, and it's called "Java": same PostScript imaging model, same stack oriented architecture, developed by the same person.

    Java is hardly a successor to NeWS. Yes, they have some similarities, and both represent attempts to move more application logic into the client machine. However, Java is a programming language, not a windowing system. Java depends on X11, NeWS was a competitor to X11. Calling Java a successor to NeWS is a fairly imaginative stretch.

    --

    Deven

    "Simple things should be simple, and complex things should be possible." - Alan Kay

  114. Re:NeWS windowing system by Deven · · Score: 2

    It's easy to look back on NeWS and only remember the good things about it. I remember the NeWS server crashing all the time because of postscript bugs when some app tried to do tricky things with popup menus.

    That's true, but don't you think those bugs would have been fixed years ago if NeWS won in the marketplace instead of X11? (Early versions of X11 weren't bug-free either...)

    --

    Deven

    "Simple things should be simple, and complex things should be possible." - Alan Kay

  115. great idea! by jetson123 · · Score: 2
    I think this is a great idea, and SuSE is to be commended for supporting this effort. X11 has a lot going for it in the areas of network transparency, pixel-accurate rendering, and integration of disparate applications into a single desktop. It's complex, but no other system has ever even come close to providing that level of functionality as robustly as X11. X11 has fallen behind when it comes to high quality, scalable, and anti-aliased graphics, and such an extension would address that.

    One thing I'm wondering about is whether this X11 extension could not be based very directly on a 2D OpenGL subset--it's an API that a lot of people have experience with, that is well documented, and that's already part of many X servers. It's just a suggestion, and it might end up being somewhat of a compromise, but it might also help with the widespread acceptance of such an extension, because it would be really easy for many toolkits and applications to start supporting much of it immediately.

  116. Re:NeWS windowing system by jetson123 · · Score: 2
    There is a successor to NeWS, and it's called "Java": same PostScript imaging model, same stack oriented architecture, developed by the same person.

    I used NeWS for a while and found it has some serious problems when it came to reliability, isolation of different applications from one another, etc. Java addresses these issues.

    The only thing that is really missing is network transparent C++ bindings to the Java toolkit. With SOAP, XML-RPC, or CORBA, that wouldn't be too hard.

  117. Re:Why X needs the boot... by jetson123 · · Score: 2

    I don't think there is a conflict: pixel accurate rendering and "photographic" rendering (color models, antialiasing, etc.) are two different imaging models. X11 with the proposed extensions will support both, and that's good.

  118. Re:Why X needs the boot... by jetson123 · · Score: 2
    You are not alone, and there are several efforts building new window systems for Linux from the ground up, including Berlin.

    I think that's throwing out the baby with the bathwater. A lot of the stuff that makes X11 complex (pixel accurate rendering, pixel value manipulation, network transparency, properties, security, etc.) is intrinsically complex. Most other systems don't even bother offering a similarly complete package. BeOS, MS Windows, MacOS, and NeXT Step all address some aspects of it, but they also cut a lot of corners so that they can be targetted well to their market niche. That makes them a lot simpler and easier to deal with, but it also means they are not as general. I like X11 because it covers so much ground.

    As I understand the proposal, it would not replace the old imaging model. In fact, I think it shouldn't. Pixel accurate rendering and bitwise blit operations are still important today. The requirement for the new, additional imaging model has come about because of new uses, and the logical way is to address it with an X11 protocol extension.

  119. Re:in other words by mcc · · Score: 2

    It's a shame that X didn't provide an attractive widget set in the first place (or, alternatively, that Motif was, and is, so expensive). Motif, with its rich configuratbility via resources seems cleaner to me in many ways thatn GTK. I presume this will be fixed in later GTK releases, and I hope to see support for X resources at some point...

    I've begun to ramble now, so I'll stop, but I'll just round off by saying that vanilla X is almost certainly more configurable than you're giving it credit for.


    It probably is, but still:
    I'm not saying that X, by itself, should have had a widget set. X's modularity is one of it's few truly good points. But what they should have thought to do is provide some kind of place to call the widgets-- i.e. a standard set of stub libraries or somesuch, where the application simply requests a widget of a certain abstract type, and whichever widget system is installed on the computer at the time handles the request. (i guess today we'd do that with some kind of XML, dunno how they'd have done it then..) I believe doing a similar thing to the open/save dialog boxes would seriously improve the *n?x experience.

    The scroll bars were not meant as an example of something fundamentally wrong with X, just as an example of something that X users put up with for no apparent reason. Because even if it is somewhat configurable, you have to admit that the widgets in your average linux install are something of a mess, and certainly no better than mediocre. And yes, scrollbar appearance is a nitpick, but it's a pretty damn huge nitpick.

    "configurability" isn't the issue-- just that the X people should have thought ahead enough to realize, y'know, at some point people are going to be designing widget systems. If they had thought to provide a nice little place for widgets to plug in we wouldn't have the problem now of having to totally recode everything in order to switch between Motif/Athena/GTK/Qt. Even if it wasn't their responsibility to have solved the problem ahead of time, the problem should have occurred to them.

    I, too, am now rambling, so i shall stop.

  120. Re: How would this work by DGolden · · Score: 2

    Actually, the Amiga was clever about scrolling - the scanlines didn't have to be contiguous in memory, every line (in fact, every group of 8 or 16 horizontal pixels) could come from a different memory location. That's because it had a 3-instruction (MOVE, WAIT, SKIP) beam-synchronised co-processor called the Copper.

    Thus, to implement scrolling, rather than copying memory, you just said "change the bitplane pointers to display one line further down at this display coordinate (in fact AGA amigas also had 1/4 pixel positioning for sub-pixel super smooth scrolling.)

    It's a quite different programming paradigm, and it's why the Amiga versions of all those old 2D games like Sensible soccer, lemmings, etc, all scroll much better on a 7MHz A500 than a 200Mhz Pentium, and it's why the Amiga, rebadged as the NewTek Video Toaster was king of the mid-range video and animation world for years.

    At one stage , a company called Phase 5 produced a Vaporware plan to produce an Amiga successor, in which every pixel could come from an arbitrary memory location.

    As an aside, the amiga also had another custom subsystem, the blitter (Block Image Transfer) which shovelled rectangular areas around memory, somewhat like the 2D-acceleration that PC cards came up with some time later, and it did hw-accelerated line drawing and flood fill operations too.

    The intersting thing was that the Copper, Blitter and CPU could all trigger CPU interrupts, the Copper could trigger the Blitter, the Blitter and CPU could operate on memory that stored CPU and Copper programs (the Amiga had a unified memory architecture). Thus, you could make really insane self-modifying programs, once you stepped outside the bounds of the operating system - which is why Amiga Demo coders came up with such wierd effects (well, that and the acid.)

    --
    Choice of masters is not freedom.
  121. Re:X is _THE_ whipping boy... by JohnZed · · Score: 2

    You like CDE on Sun? The $4000 UltraSparcs (266 mHz, I think) we have here on campus display graphics MUCH slower than my PII-350 with Linux, which was $1000 in the same era. CDE frequently locks up on its fancy splash screen (this is Solaris 8, too), so many of us just use failsafe logins now. The Display PostScript seems like such overkill for the graphics that these things display: mostly just windows/web pages or OpenGL graphics (which aren't exactly postscript material). I just don't see the benefit to relying on it (I've written plenty of postscript and I know how odd, but interesting it is).
    --JRZ

  122. Xng must allow *audio* redirection too! by dublin · · Score: 2

    I scanned the replies to this article, and although there was lots of heat and a little light about various display models and what should go into the "next X" from a graphics point of view (personally, I like a Java-based approach), I saw no one bring up the fact that any "Xng" that's going to serve us well needs to be able to be able to connect audio over the network as well as graphics and standard device inputs.

    This is really not an option in today's multimedia world. If this isn't built into Xng, then machines that rely on X will fall further and further behind the competition. Note that this would require at a minimum, CD-quality audio from X client to X server, and ISDN-quality from X server to X client.

    Real touchscreen support should also be in there - that means not just something that pretends to be a mouse, but something that provides the fundamentals required by gestural interfaces, perhaps with a set of gestural recognition primitives. (Which raises the question of whether or not X should include written character recognition as well - given Linux expected penetration into the embedded space, this can be done once well, or many times probably not so well.

    Remember, good programmers write good code, great programmers steal (leverage somebody else's) good code. Xng should have good stuff to steal.

    --
    "The future's good and the present is nothing to sneeze at." - Roblimo's last ./ post
  123. Re:Printing... by David+Roundy · · Score: 2
    This requires that an X server have knowledge of other output devices besides itself, but this is not so stupid an idea.

    Wouldn't this rather require a separate X server for printing? I don't see why the computer I'm typing at should do any processing of a print job. It seems to me that that should be between the computer I'm running on (the X client) and the computer the printer is on.

    It seems to me that this is the big advantage of the client server architecture of X. Why should every user have to upgrade the X server on their box just to use the printer?

    Personally I like the idea of X as a dumb display device. Although antialiasing and alpha would be nice.

  124. Re:This is not science fiction by Hard_Code · · Score: 2

    Isn't this what Berlin trying to do??

    --

    It's 10 PM. Do you know if you're un-American?
  125. Re:Yes yes yes... by Junks+Jerzey · · Score: 2

    Yes, I think I'll run home now and code an alternative to a 100,000+ line windowing system. Good idea!

  126. Re:The Current State of X :) by Junks+Jerzey · · Score: 2

    These are only slightly exaggerated. The general trouble with most things X or Linux related is that any fool can see how messed up they are, but much effort is put into defending them. We put down Windows, yes, but we defend our mistakes forever. Remember, UNIX was heavily criticized and out of favor in the the late 1980s, even to the point where it looked like it be on the way out. And those same criticisms are still applicable today.

  127. Re:This is not science fiction by QuoteMstr · · Score: 2

    Because, generally, 2d OpenGL operations are *really* slow compard to equivalent ones on a direct framebuffer, or even through the framebuffer. OpenGL drivers/implementations are designed and optimized for 3d applications --- they simply include 2d functions for completeness. No one in his or her right mind uses glReadPixels when performance is required --- instead, they use textured quads rendered in orthagonal mode, which is a nasty trick.

  128. ...and one more thing... by jimfrost · · Score: 2
    I have to agree with the author that X needs a serious rendering model refresh. I'm not all that willing to concede that X's rendering model is largely the result of hardware limitations at the time of its conception, though; a lot of its problems were really well known and correctable right from the start. There was, shall we say, resistance to those kinds of changes by some of the people involved.

    I'd like to add one additional request in the name of bandwidth reduction. Display lists. One of the more interesting things about NeWS (Sun's post-SunView windowing system based on PostScript) was its ability to be programmed. You could create a routine that could render a whole button with bevels and shading and whatnot as a single function call whereas in X it will typically take six or more protocol requests to get the same job done.

    While full programmability ala NeWS is rife with potential problems, given just the ability to record a sequence of parameterized protocol requests and request playback would drastically reduce the bandwidth requirements and boost the performance of a lot of applications while having very little impact on memory use. I believe display lists were considered and discarded originally due to the requirement that X11 run in a terminal with very little memory (too little to hold much in the way of display lists). I've never appreciated that since the client-side fallback technique was always a viable option, but given the opportunity to extend the protocol I think this would be something to consider.
    jim frost

    --
    jim frost
    jimf@frostbytes.com
  129. I'm so glad to hear this by wowbagger · · Score: 2

    I am so glad to hear that people are considering what to add to X to make it more competitive with that "other" window system. Most of the items listed are great, but I'd like to add one more item: the ability to change the color depth of the server dynamically. Granted, this may become unneeded as video cards get enough memory to run 32 bit color all the time, but until then I'd like to be able to run 1600x1200, but drop res and pick up colors if needed.

  130. Why X needs the boot... by WombatControl · · Score: 2

    Not to bash X, but I think it's time to seriously think about a better system. As in many projects, there's a lot of compromise involved in X. While it does a fairly good job, the fact is that it's rather crufty. Compare the relative sizes of the X codebase to the Kernel source and you'll see what I mean. Of course, in some ways, a graphic architecture is a more daunting piece of work than a kernel, but it still seems like X is rapidly showing its age.

    If we want to have all the spiffy extras like anti-aliasing and alpha-blended transparency, X is going to have to be adapted. In the long run, it may be better and more efficient to build a new architecture from the ground up to meet the need of things like advanced OpenGL and user interfaces. One of the things I admire about the BeOS team (OK, the *only* thing I really admire about BeOS) is their dedication to ending cruft. Eliminating the crufty X Windowing System would greatly aid the stability of Linux and make it more competitive against that other little OS from that little concern in the Pacific Northwest.

    Now, having said that, I realize it's easier said than done. However, we have a clear roadmap of what this new system needs to do. This could be another way of showing how Open Source can meet technical challenges better than closed development methods. Yes, it's a daunting project, but one that could have some great benefits to the OSS community at large.

  131. X by Money__ · · Score: 2
    A quote from the talk:" Cast your mind back to 1987, and try to remember graphical workstations of that era. A 1- MIPS machine was the state of the art and one was lucky to have color on the desktop. Color, of course, was 8 bits with a palette. Those hotheads over at SGI were making noises about true color hardware, but for most that was not even a dream. Hardware acceleration was available, but frequently no faster than software, and a huge pain to code for.

    ahhh yes, those where the days. When 256 was "real color!"

    Frankly I think that most of Xs problems today is that it knows it's own history to well.
    ___

  132. What CDE doesn't seem to do by Greyfox · · Score: 2
    The foundations for CDE came about before threads really hit it big. CDE seems to do everything in one thread no matter how long it takes. I've seen various CDE operations lock everything up until they completed (Which sometimes takes quite a while.) Properly thread that thing and it wouldn't be nearly as horrible an environment.

    Of course the look and feel of the newer systems is still much nicer, and they're much more intuitive about various operations, so why bother?

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

  133. Re:4 biggest problems by puetzk · · Score: 2

    > Font support is nonexistent.
    Well it's not nonexistant, but it is quite a mess (at least for scaleable fonts). Point taken, but that is exactly what this article is talking about work on.

    > Cut and paste is a mess
    How so? I personally like hilite-middle-click copying. d&d is an incompatible mess that needs some help from the Xlib level so that different toolkits could get along, but the X11 cut-buffers work quite well I think.

    > On startup of FVWM, kde, whatever...
    You need to talk to fvwm/kde/whatever about this feature. X has nothing to say about virtual desktops, which are a window-manager creationand as such are managed by the windowmanager.

    > With the current X release, no way exists to specify the location of pop-up windows

    You mean the x,y,height, width, and Zorder (force to be on top) windowmanager hints? If your windowmanager doesn't respect them, I think that's it's problem. certainly X provides a way to tell the WM that this window should be here, this size, and always on top (thus avoiding the problem of being 'hidden under other windows'. In any case, a modal window should block only the one app it relates to, so killing the offender should be quite simple.

    > A global way of assigning keystrokes to all apps under X.

    There is one and only one X keymap (handled by Xkbd extension and tweaked by xmodmap). There are lots of ill-behaved apps that can't agree on what should be in it, but this is an issue exposed by the cross-platform heritage of these apps, not an inherent X11 problem. GTK and QT have gone a long way toward fixing this, it's just a matter of getting legacy apps tuned up.

    It sounds to me like you don't like your windowmanager, and are blaming X for it's problems (an easy enough confusion - most other platforms don't have the distinction between graphics API and window-policy that X does).

    --
    The Matrix is going down for reboot now! Stopping reality: OK. The system is halted.
  134. Ugly? Only if you use the default theme. by yerricde · · Score: 2

    Every single toolkit is too ugly, therefore X is too ugly.

    I'll give you that for Motif, but GTK and many WMs can be themed. If you don't like how your widgets look, go to themes.org and pick up a theme or two.

    --
    Will I retire or break 10K?
  135. Not if they use a wrapper server. by yerricde · · Score: 2

    If we move to a new X (as I think that we should) what are the odds that some programs depending on X will break?

    There will probably be a new X11 server running as an X12 client, that translates X11 calls into X12 calls.

    --
    Will I retire or break 10K?
  136. Doing the math... by pjrc · · Score: 2
    Something doesn't quite add up... maybe I'm not counting the bits correctly?

    One obvious coordinate representation is IEEE 32-bit floating point numbers. The 24 bit mantissa specified by IEEE would provide at least 8 bits of sub-pixel position within the 16-bit X coordinate space, and would be easy for applications to manage.

    Ok, using floats sounds a little strange, but maybe everyone's FPU are fast now-a-days, and who cares about ever running on hand held devices for the forseeable future, as the protcol itself will require a FPU to run well.

    However, it is desirable for objects to be translationally invariant. As objects move to larger coordinates, IEEE floats will slowly drop bits of sub-pixel position information.

    This is true, but you'll have quite a large number of pixels until the 23 bits bits of the mantissa (the 24'th bit is always one) aren't representing much sub-pixel positioning info.

    The next question is how many bits of fraction to use. Four is enough for most applications, but eight will suffice for all but the most particular uses.

    If 4 bits will do, I'd think that 2^19 pixels is a lot more than will be needed for some time. Even if 300 dpi flat panels come about in several years, and you must have 8 bits for subpixel location, 2^15 pixels at 300 dpi is still 109 inches!!

    Well, that's enough nit-picking for one posting.

  137. Re:Yes yes yes... by pjc50 · · Score: 2

    What, without stopping to design it or anything? You'd end up with something that noone would use, or even worse, get entrenched with major design flaws...

    Good engineering (albeit for an outdated requirement spec) is one of X's strong points.

  138. X is _THE_ whipping boy... by redragon · · Score: 2
    So what the hell went wrong with X on linux boxes? XFree86 can bring just about any machine from powerhouse to little-red-wagon...

    I mean...motif on an older SGI is pretty fly. CDE on SUN boxes runs great...and those machines are using Display PostScript, which is slower than other models.

    I want my windowing environment to respond NOW, when I press the mouse key...not after I do it...

    Cheers,
    C

    --
    - Sighuh?
  139. For people who complain about X11... by NRAdude · · Score: 2
    I use XFree86-3.3.3 the same way that I used MS Windows95. I simply use it for its multitasking strength. I don't see any weaknesses. Sure, it needs more and better automation in setting it up. I compared X11R6 with Windows95 on my 486 DX4 100MHz(32MB RAM) booger diald/NFS 'n' SMB file/quake2/freeciv/http server system and found that it ran KDE-1.1 ontop of XF86-3.3.3 about 1/3 slower than MS Windows95 when crunching itself hard. I have found it more stable than MS Windows and that is what I think counts. That is why I choose Linux as the future: it is stable. Sure, Linux can use a better commercial webbrowser other than Netscape. Sure, it requires more skill to setup Linux than an MS machine. Look beyond its current limitations and realize that as long as it is open source, there is competition for producing better software. I like the bragging rights that Linux offers already! We need more secretaries using the Linux operating system and I think it is A-ok that they know nothing about computers and how many bytes it will take to flush the DSP on my monitor's doohingy.err.whatever. Isn't that how MS is trying to build its software? Sure, it crashes a few times if your system is not PeRfEcT, but people somehow find MS Windoze easy to use. They say, "wow! my mouse is another color!", and "I drawed a perty picture for you granny." Maybe I am wrong and they just decide to use MS Windoze because all their games run on it and they can simply type and print.

    Frankly, I think that MS is far behind Linux because they don't implement technology good enough. MS Windows users are where they get their money from, right? They deprived their userbase of certain technologies and implement them separately in each version of their operating system without spoiling the user with new features. That way, MS can brag about their product's new features! I've coutlessly heard already, "Pah! Pah! Look Pah! MS Windoze too-hundred-tousand had implmended synedric multie processin! waphooooo!" Along with, "eeeewwwww1!, phree hotmail 'n outook excess! 'cant wait to wun it!" I mean to say that MS is behind in the race, not Linux, not BSD, not Unix as a hole. Goodbye.(I am sniping a Micronics motherboard/w snd on eBay, using Lynx in about 5 xterms :o)

    --
    without prejudice
  140. X is good, but its time for a revamp. by chompz · · Score: 2
    In light that video cards have undergone a greater revolution in power and performance in the past two years than they did in the 15 before that, its good to see someone steping up and taking advantage of advances in hardware.

    Nothing pisses me off more to see a windowing system highly dependent upon old school hardware techniques, when the majority of people are running something slightly more powerfull than my 2meg ATI mach64 I had until I bought a V3. (damn good card!)

    I would compare it to software being written with 386 optimizations (or MMX) and completely ignoring all the new CPU instructions that would improve the speed of the software greatly.

    There are always going to be a few people laging behind the crowd with thier hardware, they are called those with limited funds. But, why optimize everything to run well on thier machines and not take advantage of better hw if available.

    I am convinced that the software development cycle is usually not taught correctly. Not nearly enough importance is placed on the idea of throwing what you have away when your feature set far excedes the features of the system it was engineered for. There is no reason to completely scratch everything, but much needs to be completely redesigned with the "new shit" (tm) that has come to light.

    If we don't do that now, we'll be stuck with the same historic problems microsoft and others suffer from by having too much hacked together code to start over, yet too much hacked together code to continue adding features.

    Slashdot needs to allow me to use ispell on my comments...

    --
    Spring is here. Don't believe me, look outside!
  141. Re:X is my favorite whipping boy.. by Anonymous Coward · · Score: 3

    X is not *ugly* per se. Some of the window managers and themes are debatable.

    However, the lack of anti-aliased fonts IS ugly. I know most programmers/sysadmins/"hackers" don't care, but too many web pages and word processing documents look like Commodore 64 screen captures.

    I've never experienced "slowness" in X that couldn't be corrected by switching to a different window manager. Do KDE or GNOME run well on my 486? No. Should they? Perhaps. Does WinNT run on them? Absolutely not. In general, I think GUIs have gotten way too "heavy" these days. It's funny -- I hear more and more people wishing their desktops could be more like their Palm, not the other way around. We've had a lot of "do-everything-but-brush-your-teeth" GUIs, maybe minimalist interfaces are the wave of the future.

    All the other gripes are, as you implied, pretty lame.

  142. Re:This is not science fiction by Matts · · Score: 3

    I'm guessing you're an ex (or current) Amiga user. This is how for so many years, despite inferior hardware, the Amiga managed to pull of some amazing graphics feats.

    I seriously hope that the X team take your post _very_ seriously indeed.

    --

    Matt. Want XML + Apache + Stylesheets? Get AxKit.
  143. Re:in other words by kzinti · · Score: 3

    Like, the scrollbars. Linux scrollbars are almost invariably hideous, probably as a result of the motif disease which infects everything. That's a tiny thing, but pervasive, and nobody ever bothers doing anything about it. And yes, i realize the scrollbars aren't handled by X or the WM. I don't care. Would it be that difficult to go and _make_ it so they are?

    That would be a mistake. The designers of X wisely adopted a philosophy of "presentation, not policy" which meant basically that you could draw your scrollbars any way you wanted to, and X would allow it. Policy was layered on top of the window system in the window manager and in toolkits -- of which there are many today, including Athena, Motif, Qt, and GTK.

    If the X designers had chosen to make policy part of the windowing system, then the only scrollbar today would be the Athena scrollbar. You think Motif scrollbars are bad? Have you tried an Athena scrollbar? Run an xterm. Not one of those new xterm-like programs but a real vintage xterm. Turn on the scrollbar. Run 'ls -lR /' to get some text in your window. Now play with the scrollbar. See what I mean? The buttons have their own logic, but it's highly conterintuitive, and they can't even agree with the rest of the world as to which side of the window it belongs on! Aren't you glad every scrollbar doesn't work that way?

    Some people have said that separating presentation from policy has led to mass confusion as the many different window managers and toolkits have tried to compete for acceptance with users and developers. Personally, I think that the abundance of WMs and toolkits have been a good thing, because it's meant choice for us, the users of X. Why should I have to use mwm or olwm when I much prefer Window Maker? Dictating policy and taking away choice is a hallmark of proprietary systems like Windows; X shouldn't try the same thing.

    --Jim

  144. Re: How would this work by SurfsUp · · Score: 3

    Do you have a more detailed description on how you want this to work?

    A good place to start is Newman & Sproul, Principals of Interactive Graphics - check out the section on scanline rendering. The Quake articles written by Michael Abrash are an excellent source, and they go into a lot of useful detail (some but not all of which is only relevant to 3D) To answer somebody else's question, no I'm not an Amiga user but this is just the obvious way to do it. And the corollary is, check out exactly how it was done on the Amiga (I haven't, I'm curious). If the shoe fits, wear it.

    Does it increase the amount of memory needed by the server?

    No. One of the nice things about scanline renderers is how little memory they use. Of course you can add buffering as an accelerator depending on how much memory happens to be available.

    Does it increase the amount of network traffic needed?

    It would have no impact on that: exactly the same render commands are sent by the applications. The only extra traffic would be for animation programs synchronizing with the refresh, and that would be miniscule.

    How would it cope with for example a Netscape window that was 500 pixels by 100 thousand, which you wanted to scroll smoothly through?

    The same way it does now: send a command to scroll the part that doesn't change, clear and redraw the part that does, run the part that goes off the screen into a memory buffer as memory permits. The thing is, all of the transfers to the screen actions would be delayed until the Netscape program says "go ahead and do it". Then all the renders are done, optionally deffering rendering for regions that are not visible, but retaining the commands in case they become visible, (so you don't have to ask the app to regen the region). When it's time to update the screen, you do one of two things depending on whether you have hardware accel or not. With hardware the renderer does a scroll blit and a put blit for the browser window, or multiple scrolls and blits if the window is broken up, but only for the regions actually visible. Without hardware you work your way down the region a line at a time doing the minimal thing to each line, which may be copying it from another part of the screen (slow) copying it from previously buffered data, or putting it from the new render region.

    It's also nice to be able to work in an unbuffered mode where all drawing is direct to the screen and the renderer clips each primitive as it's drawn. Needless to say this is much slower and you get flickering, and implementing such clipping primitives efficiently and accurately is hard. But it's very helpful so you can see exactly what your program was doing when it crashed, or exactly why you're getting a messy blob when you should be getting a nice web page. Running the render in slo-mo gives you a graphics debugger.

    I've never actually done all this (except in 3D rendering code) so I probably missed a few important points, but I think this is the general idea.

    To put all this in perspective, run xpenguins or xroach and notice how much the rendering sucks, and think about what you could do about that.
    --

    --
    Life's a bitch but somebody's gotta do it.
  145. Now there's an idea . . . by Greg+Merchan · · Score: 3

    Why doesn't someone write X extensions for anti-aliasing and alpha? This sounds like an admirable short-term fix. Let XFree86 5.0 be a new system, until then lets have the modules. Anyone want to start some projects at sourceforge? (If I see no action on this I'll register one and provide links and what information I can; but I have to learn it first!)

  146. Printing... by John+Allsup · · Score: 4

    Look at both Windows (GDI) and the old Postscript based systems. In fact look at the new system deployed in MacOS X.

    What you notice is that the screen rendering system is integrated with the printing system so that, at least in Windows langauge, the printer is 'simply another device context to write to'.

    It is crucial that the printing of documents, image, etc. to a hardcopy device is not left as an afterthought as it was with X. It should be simple for an application to say `print these to such-and-such a printer'. This requires that an X server have knowledge of other output devices besides itself, but this is not so stupid an idea. (The idea of X as a dumb display device should be consigned to its rightful place in the nearest dustbin).
    John

    --
    John_Chalisque
  147. NeWS windowing system by Deven · · Score: 4

    I used NeWS when it was first released. It was a wonderful windowing system, very flexible and powerful. I saw at the time (1988?) that Sun was making an enormous mistake in withholding the source code to NeWS when X11 was freely available. Couple that with the fact that Sun did a lousy job of supporting their own product (they didn't release applications for NeWS, for example), it's no surprise that X11 clobbered NeWS in the marketplace.

    I think I still have my treasured copy of the NeWS reference manual buried in a box someplace. Even now, over a decade later, X11 lacks features NeWS had, as documented by the article referenced from this Slashdot story. NeWS isn't commercially viable and hasn't been for many years; I wonder if Sun could be convinced to release the source code to it and see what could be done with in the Open Source world? (Nah, they'd insist on that abominable SCSL license...)

    --

    Deven

    "Simple things should be simple, and complex things should be possible." - Alan Kay

  148. in other words by mcc · · Score: 4

    X has a level of "acceptable mediocrity".

    now where have i heard that before.

    (note to people about to flame me: not that X is _bad_, just that it's one of the few things i'm aware of in the linux/unix world where something is in hugely wide use because of inertia and no other reason without any serious attempts at alternatives. (yeh, yeh, berlin, whatever) Yes, X is good enough, and the idea is nifty, but i have no idea why people put up with the fundamental shortcomings X does have so easily when these tend to be the people who in other circumstances demand the best they can get, and if they can't get it, write an alternative. Like, the scrollbars. Linux scrollbars are almost invariably hideous, probably as a result of the motif disease which infects everything. That's a tiny thing, but pervasive, and nobody ever bothers doing anything about it. And yes, i realize the scrollbars aren't handled by X or the WM. I don't care. Would it be that difficult to go and _make_ it so they are? would it be that difficult to make a concerted effort to go look at all the standard X progs you're likely to use and jam in GTK scrollbars? Why does nobody bother caring about these things in X? I'm too tired to explain these comments in detail or give examples, so i'm going to get flamed to hell and back. But i could go into greater detail and explain such things if i felt like it. And the article gives a great deal of examples of things in X-- fundamental things-- which are clearly no better than barely acceptable but nobody cares about. So go read that. And i'd add some to the list, such as having a "move this rectangle on the screen over ten pixels" type function that worked, preferably in the xserver's processing, but i dont feel like looking up and checking to make sure x doesn't do such things acceptably already.

    The point is, X works, but you could have something so much better if "the community" just tried. But it won't. Well, let's hope Berlin actually gets somewhere. whatever, i'm going to bed. What was NeWS?)

  149. Re:This is not science fiction by Emil+Brink · · Score: 4
    I would like to object to that, if I may... Noone uses ReadPixels(), because it is typically not accelerated well on consumer hardware. Observations:
    • The performance on typical hardware can often be improved by giving it more attention in the driver. However, there is a fundamental problem here: the framebuffer resides across a slow bus (PCI or AGP), so you really don't want to push pixels one by one across it.
    • Using e.g. textured quads and OpenGL's wonderful blending, alpha testing, and stenciling modes to express operations is not a nasty trick. If you want to blend two images together, being able to express that at polygon level rather than through tight CPU loops is elegant, not nasty! Also, it conserves bus traffic like crazy, and makes better use of the hardware on your graphics card.
    • Doing graphics operations pixel-by-pixel using the host CPU is simply not what today's graphics boards (and machines) are optimized for. This might change in the future, but currently you have tens of millions of transistors in your graphic card's "GPU", so why not use them?
    The last point above, that graphics operations today are best performed in very close vicinity to the actual graphics board, is basically what the linked article was about: moving functionality into the X display server makes it possible to execute it on the display hardware directly. This, in my opinion, is a very good thing.
    --
    main(O){10<putchar(4^--O?77-(15&5128 >>4*O):10)&&main(2+O);}
  150. X is the biggest problem for Linux by linuxonceleron · · Score: 4
    I feel that X is the biggest problem for Linux users these days. The protocol is slow and outdated and it makes tons of problems for newbies. Despite its problems, X with its excellent networking capabilities is a good choice due to its wide software base. Other graphics system for linux such as berlin aren't going to become the future due to their lack of software. However, Things like DRI are improving X's 3d capabilities, so I'm sure new technologies will improve its 2d rendering speed as well.

    --

    Shine on, you crazy diamond.
  151. Yes yes yes... by Greyfox · · Score: 4
    X needs this or that or doesn't handle this or that well.

    So go code a solution. All I've been hearing is talk.

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

  152. The Current State of X :) by trurl3 · · Score: 4

    I believe this site summarizes the complaints against X (and a few other things) fairly well. There's a chapter on the X-windows disaster available in full-text. Even if some of it's claims are overexaggerated, it is still extremely amusing reading.

  153. What about Quartz/Aqua? by Dominic_Mazzoni · · Score: 4

    It's true that X is way out of date and needs to be improved. However, why should we settle for a few small additions (like cubic splines and transparency) to barely catch us up to today's technology? We discussed Aqua/Quartz, the new graphics technology developed by Apple (if you haven't read about it already, it's radically different than any existing system) and maybe we should all be moving towards something more like that.

    Someone posted a concern that a new system would break existing X programs - but I doubt that would be a problem - if we switch to something new (and more powerful) we would just need wrappers that support the X11 API. I'm all for it.

  154. Something I always thought would be interesting... by Reality+Master+101 · · Score: 4

    Back in the days when I did a lot of Motif development, I always thought that the biggest flaw in X was how simple type-in fields worked. It seemed like such a waste of network traffic and server (or client in X11 lingo) processing when all you were doing was typing in a field. This is primarily what makes X11 unsuitable over the Internet.

    What I was thinking would be really cool is to embed a Java engine in X terminals, and allow Java-based widgets to be downloaded. Imagine if this was in the core X11 protocol, and it was a very general object interface. You do all sorts of very cool -- very network efficient -- things.

    Note that this doesn't break the X11 concept of "presentation, not policy". Policy would still come from the client program. The Java widgets would still be tied to the client program.

    Java is not everyone's favorite language, but I think this is exactly the sort of thing that Java would be perfect for, particularly the platform-independent nature.


    --

    --
    Sometimes it's best to just let stupid people be stupid.
  155. Berlin by Uruk · · Score: 5

    AFAIK, this is one of the reasons Berlin started in the first place.

    I'd love to see X speed up and keep up with the times, but I'm kinda afraid that the code may be too entrenched to make any serious structural modifications to this. I'm not an XFree hacker, so I don't know how much code modification what this guy is proposing would *really* take.

    I do know that X works pretty well right now, and in the past, X people haven't been too willing to break the thousands of applications that are out there, even if it was The Right Thing To Do as far as architecture is concerned.

    --
    -- Truth goes out the door when rumor comes innuendo. -- Groucho Marx
  156. Re:This is not science fiction by SurfsUp · · Score: 5

    I made a quick scan through your paper and it all looks right on the money. We need alpha; we need rotation; we needed zoomable/scalable/rotatable everthing.

    I'd like to add a suggestion. 2D rendering is best done much like 3D software rendering: with something like a scanline renderer that makes one pass from top to bottom to render each frame, rendering exactly what needs to be rendered and no more. Instead of depth you have window priorities. Unlike a 3D animation renderer, you optimize for the fact that most of the screen doesn't change at all (so, to respond to another poster's remark - OpenGL isn't the way to go for 2D rendering - it carries too much overhead with it.)

    Applications can know or not know about this frame-oriented rendering. If they know about it then can do really smooth animation by synching their erase/redraw cycle with the rendering cycle.

    Advantages to be gained are: Software cursors that don't flicker; animation that doesn't flicker; video windows that don't exhibit strange behavior when you drag other windows across them; Scrolling windows that don't have little flickery blank spots at the top/bottom. And you get way, way more possibilities for optimization.

    And don't forget this principal: when it's all done it should be smaller and tighter than X is now, even while doing 5 times as much. Because we had time to think about it and factor it correctly.
    --

    --
    Life's a bitch but somebody's gotta do it.
  157. Re:X is my favorite whipping boy.. by lubricated · · Score: 5

    'X is too ugly.'

    X can be made to look any way you want it too look
    It's not X its the toolkit

    X is too slow.

    Not over a network.
    Its not slow, if you have good drivers for the
    card locally. Especially XFree86 4.0
    More than adequate to get work done

    X is too old.

    Unix is older. 1970.

    X is bloated.

    Name another protocol that works localy and over
    a network, that takes less ram.

    X is dumb.

    that's a very personal opinion

    X is stupid.

    The proper response is no, you're stupid
    what's so stupid about x

    X isn't GPLed.

    I'm going to assume you mean XFree
    neither is sendmail or mozilla. there are alot of good non gpled projects. get your head out of your ass.

    X has a difficult user interface.

    X has no user interface. X enables you to build whatever user interface your want on top of it.

    --
    It has been statistically shown that helmets increase the risk of head injury.
  158. This is not science fiction by keithp · · Score: 5
    A couple of comments:

    SuSE is paying me to specify and implement this stuff. I'll have some demonstrations to show soon.

    Nothing in this proposal will affect the way existing applications operate; X provides an extension mechanism which will be used for new functionality. Yes, this means that apps will need to change to get new functionality. Compatability bites.

    This paper is being published as a part of the proceedings for this summers Usenix conference where I'll present a nice talk on the subject. They've requested that I make sure you all know who's publishing this.

    Keith Packard
    XFree86 Core Team, SuSE Inc.
    keithp@xfree86.org