Slashdot Mirror


Frontiers: A New Xlib Compatible Window System

alucard writes "The JourneyOS people have published this overview of their upcoming window system. It looks like it is OpenGL based and uses XML as the communications protocol. The biggest news is that it is supposed to have Xlib compatibility, but uses HyperQueues instead of Unix domain sockets. Could this get rid of the speed problems of XFree86 while still retaining Xlib compatibility? I think this is something everyone wants, but projects to create alternative GUIs such as Fresco and PicoGUI have given up any hope of compatibility with X11 or Xlib. Can we expect another alternative out there soon?"

17 of 439 comments (clear)

  1. Hrmm by acehole · · Score: 3, Insightful

    I can't see how creating more X alternatives or derivatives are going to help linux become more mainstream on the desktop?

    Perhaps someone could explain that to me...

    --
    Be you Admins? nay, we are but lusers!
    1. Re:Hrmm by digitalunity · · Score: 5, Insightful

      The idea here isn't to create an X alternative, but an X replacement. Something modern, fast, light. I know everyone is going to chime in with 'XFree86 is good enough. And it isn't bloated or slow'. It is an excellent piece of software, but it isn't as fast as it could be. There are commercial X11 servers for Linux that really are as fast as advertised, I've seen it in person. Another of the 'problems' with XFree86, and even commercial X11 servers is that they don't take advantage of modern GPU's. Granted, OpenGL isn't an ideal method of rendering *everything*, but for some things, it would offload much of the graphics subsystem from the CPU. There are cases where OpenGL would be much slower, but with a little smart programming, this can be avoided. OpenGL also has the added benefit of adding some eye-candy features like transparency without taxing the CPU. Anti-aliased vector fonts are easy with OpenGL.

      The only problem I see here, besides the usage of XML(it's flexible and easy to program, but too large as a metadata medium), is that many have tried this before and failed. Only time will tell.

      I'll give it a week before declaring it 'YetAnotherDOA sourceforge project'.

      --
      You can't legislate goodness. Let each to his own destiny, by will of his freely made choices.
  2. When hell freezes over. by Anonymous Coward · · Score: 3, Insightful

    Replacement for X. Not bloody likely.

    No networking capability and difficult to port since it is tied into a x86-only features.

    Anyways, remember X only uses networking IF IT HAS TO. No TCP crap if your on the same computer as the X client, it all goes thru sockets, which are plenty fast.

    I wouldn't mind a replacement to X, but this isn't it.

  3. XML by sql*kitten · · Score: 4, Insightful

    XML is a good choice for storing data when you might want to extend the attributes of a record/properties of an object without breaking existing applications. That's inherent to the design of XML - so long as you query your documents in a structured way - say with a DOM parser and XPath - then "extra" tags don't make a blind bit of difference, except for taking up some memory and some processor time.

    But it's an extremely bad choice if you want to move lots of the same type of data around, when you know the format of the data in advance, and you do if what you're sending is drawing primitives, GUI widgets from a standard toolkit, etc etc. That is because of all the redundant metadata. If you are sending (for example) a CSV file the metadata comes once, in the header, and all the rest is pure data. An XML file stores the structure with the data - if you did this in a CSV file, it would mean repeating the header every other line, doubling the size if your file (or stream) for no advantage. It's worse with XML where you might have <somelongtagname>1</somelongtagname> - that is, your metada being far larger than your data. All compression does is add both processor and memory overhead at both ends, assuming the network isn't already saturated.

    I know that XML is "trendy" but it's the wrong tool here - a binary protocol should be used.

  4. could it be... by SuperBanana · · Score: 5, Insightful
    Could this get rid of the speed problems of XFree86 while still retaining Xlib compatibility?

    Could it be that the poster hasn't read more than 1 page into the comments on the last dozen times this X-is-slow BS has come up? I thought we all agreed on this one, but apparently not.

    This is very frustrating to see, because this makes for system #3, and things were already bad enough with 5 billion different window managers. Choice is great and all, but there's a reason some things are standardized, and "xlib compatibility" is not the same as "X"; I guarantee this new system will break all sorts of things in new and exciting ways.

    Perfect example of how open-source has failed us; EVERYBODY's gotta invent their own wheel instead of helping to make the existing wheel(s) better.

  5. Didn't Apple teach us anything? by daBass · · Score: 5, Insightful
    "This allows for one of the goals of JourneyOS, which is eventual Win32 compatibility"
    Oh no. Not just X, but also Win32 compatible.

    I doubt we'll ever see this project finish. When is anybody going to just start from scratch, like Apple did with OS X? Build it and they will come.

    1. Re:Didn't Apple teach us anything? by sql*kitten · · Score: 3, Insightful

      When is anybody going to just start from scratch, like Apple did with OS X?/i

      Umm, Apple didn't start from scratch. They bought an existing platform - OpenStep - and customized it. OpenStep and NeXTStep before it were both mature products in the MCCA space (mission critical custom app) for example financial applications, telecomms, etc.

      As an old NeXTStep user, in many ways OSX was a step backwards... still it is good to see that Apple are able to make a more of a mainstream success than NeXT did. NeXTStep was a great OS that should have owned the business desktop in the early 90s, if Jobs hadn't screwed up marketing it so badly. Businesses were banging on his door to buy it back then and he said no, we only sell to education, but he priced his machines at $10,000!

  6. Oh. my. god. by quigonn · · Score: 3, Insightful

    and uses XML as the communications protocol.

    Thanks, no, I never want to try this one. XML as communication protocol is a nice generalization on the paper, but in practice, it sucks. GUIs should be optimized for speed, and thus, the protocols should be specialized, too.

    --
    A monkey is doing the real work for me.
  7. Re:That depends... by Anonymous Coward · · Score: 5, Insightful
    Regardless of what computer you run it on, you had better count on the flying pigs being there before a window system based on OpenGL and XML beats X11. After all, despite all the slagging it gets on slashdot, X11 does have a reasonably sane binary wire protocol and XFree86 does utilize most of the 2D capabilities of your video card.


    Of course XFree86 depends on the card manufacturers giving them documentation for the hardware, but if the manufacturer doesn't see any advantage in helping Linux use their cards to their fullest, don't expect for a minute that they would help some unknown group like JourneyOS.

  8. ARGGH! X isn't where the slowdown is! by MarcQuadra · · Score: 5, Insightful

    Alright, people need to listen closely. XFree86 is NOT SLOW, the toolkits you lay on top of it are what bogs it down.

    I get full-window dragging and resizing in WindowMaker on my old 366MHz laptop, and it has an ATI Mach64 video chipset. Windows crawls when I do similar operations on the same hardware.

    I seriously suggest that if you think X is slow you check out a more lightweight window manager and apps. GNOME and KDE have a LOT of overhead because they run on top of an extra layer of abstraction (GTK+ and QT, respectively). WindowMaker is written in C to interface with X more directly and it shows.

    You can still use your GNOME/KDE apps under WindowMaker, I'm using konqueror as my file manager right now. Try it.

    As for this project, it sounds cool to me. I think X is plenty fast as it is, but that doesn't mean I think someone should take what we've learned over the last decade and apply it to a more modern 'ground-up' solution. It would be nice if there was an X replacement that had QT and/or GTK+ tied in more closely, or if we had a quartz-extreme-like OpenGL windowing system and font renderer with postscript-esque qualities (i.e. run my desktop at high resolution, but zoom everything appropriately for 'real-world' DPI).

    --
    "Sometimes, I think Trent just needs a cup of hot chocolate and a blankie." -Tori Amos on Nine Inch Nails
    1. Re:ARGGH! X isn't where the slowdown is! by MarcQuadra · · Score: 4, Insightful

      That still doesn't make X slow. If you insist on KDE and GNOME you should be complaining about KDE, GNOME, Qt, and GTK+. XFree86 and Windows have similar graphics throughput, the Windows UI is a LOT lighter than KDE or GNOME, and it runs partially in kernel mode.

      If you have issues with the performance of your linux desktop you should be looking at the applications, desktop environments, and toolkits, because XFree86 is definitely the wrong tree to bark up.

      One thing you learn with computers is that you can speed things up only as much as the smallest bottleneck will allow. X is not at all the bottleneck for graphics performance on Linux machines.

      --
      "Sometimes, I think Trent just needs a cup of hot chocolate and a blankie." -Tori Amos on Nine Inch Nails
    2. Re:ARGGH! X isn't where the slowdown is! by Arker · · Score: 3, Insightful

      What is 'desktop'? A mac metaphor, ripped off by windows, which has no place and is not needed in X.

      Quit trying to make your unix box act like a toy and start using it the way it was designed to work, and you'll quickly find out it's a lot better that way.

      --
      =-=-=-=-=-=-=-=-=-=-=-=-=-=-
      Friends don't let friends enable ecmascript.
  9. How about speeding up the GUI, like KDE? by mrb000gus · · Score: 3, Insightful

    My biggest speed problem on X at the moment is the startup times etc of applications. KDE takes 20 seconds to start up and each application takes a couple of seconds to load. Could this be sped up by a faster X server? Or is the problem there more likely Qt, KDE libs, etc?

  10. Re:WBXML by sql*kitten · · Score: 3, Insightful

    WBXML compresses XML down to bytecodes. It's used in WAP and other places. It works off the DTD, assigning bytes to represent the various tags and attributes

    That might help, but you're still shipping a lot of redundant metadata around.

    But even if it were plain old text XML, it still poses some real advantages, not least of which you could transport it over SSL, web proxies and other barriers that would stop an X-session cold.

    You can quite happily tunnel anything you want over HTTP, even X11.

    If the schema had sophisticated drawing primitives ala SVG you might find it is considerably faster than X which might be forced to move bitmap data around for similar operations.

    Not if you want to remain fully compatible with existing XLib code.

  11. X is fast enough by leoboiko · · Score: 4, Insightful

    I used to run ratpoison. As others have already pointed, X is actually very fast, the problem are the toolkits. It's nice to have alternatives, but IMHO toolkit optimization is much more urgent.

    Today I'm using Gnome. It's beautiful and useful, but the feature that hooked me was the superb i18n support (now I can finally do with X11 apps what I always did with Emacs: switch the input method! No more restarting apps to write multilingual Japanese/Portuguese texts!). But it is not fast, and that's in a Duron 800, 128Mb RAM. Gnome can be great for the third world, where we still have lots of Pentium 100s hanging around. Gnome and KDE are both excellent desktops, but they need speedups.

    The main problem with X is (still) video card support and configuration (ever played with Trident TGUIs 9680? I have an LTSP net full of them). There's a lot of work to do, but we have come very far in this aspect. I doubt a "modern window system" wannabe could easily offer similar support.

    --
    Prescriptive grammar:linguistics :: alchemy:chemistry. Stop being a nazi and learn some science.
  12. Re:bah. by Moraelin · · Score: 3, Insightful

    Bingo. It never ceases to amaze me through how many loops people will go, just to stay "fashionable". One of them being the retarded use of XML on an _internal_ data pipeline.

    Don't get me wrong. XML is great for its original purpose: a standard format for exchanging data with other programs. Programs not made by you, nor under your control.

    XML was not designed to be fast, nor to take up little memory. It was supposed to just be easy to parse, in a standard way.

    It's supposed to be used in situations like, "ok, we have this program, and have to import and use the data from 20 files from 20 other companies." (E.g., a travel agency wanting to be able to use data from completely unrelated companies, like hotels or airlines.) At which point, you don't care as much how fast it is to parse, you just consider yourself lucky to have only _one_ standard data format to parse. Even if it takes all night to get that data converted, you're still happy to have it in your computers at all.

    Open Office using XML to save the files makes perfect sense, for example. It's _external_ data, and it's supposed to be readable by other program. That's exactly the intended use for XML. Again, the keyword is: external data.

    But using XML _internally_? Gimme a break. If that's not a syndrom of being a SFV (Stupid Fashion Victim), I don't know what is.

    I thought it was bad enough to see programs where perfectly good relational data isn't just printed to the screen as such. No siree, bub. They first convert it to XML, then run through an XSLT transformation to get the same data back. _Then_ they print it.

    So I was thinking, "gee, surely nothing can be a more retarded waste of memory, CPU power and development funds." Well, now I'm proven wrong. There _are_ more retarded uses for it. This here X replacement has to take that crown.

    --
    A polar bear is a cartesian bear after a coordinate transform.
  13. Why I am tired of this "let's replace X" s&%@. by DrWhizBang · · Score: 3, Insightful

    "X is slow"
    "X is bloated"
    "X is old"
    "X needs to be rewritten"

    Blah, blah blah, blah, blah. Blah. I'm going to be honest here, workstation performance is abysmal on any of the recent flavours of Unix, expecially gnome/KDE, and expecially XF86. There are basically two reasons for this:
    1) XFree86 sucks
    2) and XF86 sucks
    (I am not being sarcastic - please hear me out...) Xfree86 sucks because it does not have good drivers. Many functions run unaccelerated on cards that have all kinds of cool acceleration features. It seems some of these features have been written, but not added to the tree ( or so I have been told.)
    XFree86 sucks because it has not been proactive in implementing the features/extensions required by the newer toolkits like gtk+/qt. Are you aware that gtk pushes everything as a bitmap through the X protocol for each expose event? XRender is probably the only instance where the toolkits waited for an X extension to be developed before added in a feature that required it - generally the toolkit authors, rather than wait for an X extension or piece of functionality, they will implement it in the toolkit so that the client just pushes the pixels dow to the X server.

    Do not look to discard X. X is in fact the one thing that we have that Windows and Mac do not have. It gives us years of backwards compatiblity, and an extensible, network transparent architecture. Instead, we should put our hopes in Xouvert and similar projects that are looking to give us a world-class X server, and the pieces that the toolkit authors need to optimize their toolkits for X.

    --
    Schrodinger's cat is either dead or really pissed off...