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?"

60 of 439 comments (clear)

  1. That depends... by Motherfucking+Shit · · Score: 3, Funny
    Could this get rid of the speed problems of XFree86 while still retaining Xlib compatibility?
    If you're talking about my Pentium 75 firewall with 40 megs of RAM, I'd say that the answer is probably "no." Then again, I think I saw a pig flying on the way home from work today ;)
    --
    "BSD: Free as in speech. Linux: Free as in beer. Windows 10: Free as in herpes." --Man On Pink Corner in #52607549.
    1. 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.

  2. bah. by Anonymous Coward · · Score: 3, Interesting

    This will be SLOWER than X, for god's sake, at least locally. Unix domain sockets are zero-copy on Linux! XML requires full-blown parsing, X messages are fixed binary format.

    1. Re:bah. by Westley · · Score: 2, Informative

      The messages aren't in textual XML format, they're in WBXML, which isn't going to require nearly as much work in parsing etc. (Whether you consider WBXML messages to be "fixed binary format" or not is up to you.)

      Jon

    2. 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.
  3. 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 ComaVN · · Score: 2, Funny

      emacs vs vi and gnome vs kde flamewars are getting old, we NEED a new one.

      --
      Be wary of any facts that confirm your opinion.
    2. 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.
    3. Re:Hrmm by Stiletto · · Score: 2, Informative

      NOT TRUE AT ALL.

      OpenGL is just an API. If your app sticks with 2D calls, you should be fine even on graphics chips that only support 2D. Simply implement a basic 2D path in your OpenGL driver and punt the rest to software. My hourly rate is reasonable if you're interested ;-)

  4. 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.

  5. 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.

    1. Re:XML by hummassa · · Score: 4, Informative

      a binary protocol should be used.
      A binary protocol is being used: it's WBXML over HyperQueue. RTFA. :-)

      --
      It's better to be the foot on the boot than the face on the pavement. ~~ tkx Kadin2048
    2. Re:XML by leandrod · · Score: 2, 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.

      No, this would be the relational model for database management -- not SQL. XML fails due to its hierarchical nature and complexity.

      --
      Leandro Guimarães Faria Corcete DUTRA
      DA, DBA, SysAdmin, Data Modeller
      GNU Project, Debian GNU/Lin
  6. 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.

    1. Re:could it be... by absurd · · Score: 2, Funny

      Actually it goes like this:

      Everybody has got to invent their own wheel once, and when they realize how big amount of work is needed,
      they never finish it. This is when they might join some existing wheel-building-project.

    2. Re:could it be... by 10Ghz · · Score: 2, Interesting

      From what I have gathered, 2.6 is better than 2.4 in the desktop. And I say it's about time! fact is that desktop-esperience has been smoother in Windows than in Linux. Yes, I still prefer Linux, but the desktop-experience could be alot better.

      Modding me troll doesn't change that fact. 2.6 might

      --
      Lesbian Nazi Hookers Abducted by UFOs and Forced Into Weight Loss Programs - -all next week on Town Talk.
    3. Re:could it be... by Znork · · Score: 2, Insightful

      Improving the wheel is not the same as reinventing the wheel. Reinventing the wheel means someone has already invented the wheel, but still you try to reinvent the same wheel because it's not _your_ wheel/you've misunderstood why the wheel is round/etc.

      The X wheel is already round. Going through the phases of making triangular wheels, square wheels and octagonal wheels until arriving at the round wheel, again, seems redundant.

      I have yet to see a let's-replace-X proposal that has succeeded in making a convincing case it would end up in any way better. This one doesnt either.

    4. Re:could it be... by NickFortune · · Score: 2, Insightful
      I do think you're trolling, but I'll byte anyway...
      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.
      That's not the failure of the open source model - that is its strength.

      Something like windows is very limited in how it can evolve for two reasons. On the one hand there is the development history which can make it very expensive to make certain changes, if they would affect a lot of code, and then there is the corporate culture behind the project that has a certain way of doing things. Both these factors tend to enforce a somewhat linear style of evolution for a system. Windows evolves, yes, but only along certain lines in one general direction. Some of the projects I've worked on - if they'd invented the wheel it'd have been triangular. "It works if you put enough power behind it. If it ain't broke, don't fix it"

      The first problem is lessened with open source, A project can split in several directions at once and the most useful results will eventually be the ones to predominate. This is only possible beause there are (in general) no dealines; no financial risk involved and no one is required to use the new packages generated by this divergence.

      The second probles does affect open source, but far less so. There is pressure from the community to use established methodologies and packages, but this cannot be enforced.

      The upshot is that a lot of coding gets done in the open source world that would be politically impossible in a corporate environment. Which means that we see a lot of creativity. Sure a lot of that is misguided, and a lot of these divergent projects fail. Then again, a lot of corporate projects fail too - we just don't hear so much about those ones:) Meanwhile the successful ones can lead developemnt in unexpected directions, interact with other new ideas to produce even stranger offspring, or diverge into something else entirely

      The thing that stops everything from diverginf completely is that there is a nequal pressure to standardise and unify packages. That's factor two again.

      It's an unstable equilibrium. Divergence and convergence, Ying and Yang. Because square wheels need reinventing.

      --
      Don't let THEM immanentize the Eschaton!
    5. Re:could it be... by Stiletto · · Score: 2, Insightful

      The Windows GUI is anything but full-featured. Uninstall your MS-Blinders2000 for a second and actually compare Windows feature-for-feature with even the most stripped down X toolkits. The only thing you'll probably find missing in the X toolkit is the ability to drag a word document to an excel spreadsheet, and we all know how useful that is...

  7. 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!

    2. Re:Didn't Apple teach us anything? by esme · · Score: 2, Insightful

      I think what you're looking for is MacOSX.

      Existing OS, rewritten GUI, standard installer, one decent app for each task -- this sounds like MacOSX to the letter. Some of the config stuff is in a directory server (NetInfo) -- like the users, lookup, etc. The vast majority of config stuff is in XML files though.

      In the end, I don't think Linux is ever going to get there -- there are too many people who are independent and have no real motivation for coming together. Your best hope is one of the major distributions spending a lot of time on usability and polishing up the applications.

      Personally, I got tired of waiting for a decent distro where everything just worked. I bought a PowerBook with MacOSX and haven't regretted it once. I've still got my old Linux box chugging away as a NAT/file server, though. Linux has already made great inroads for servers (especially at the low end) and I expect it'll keep doing well in that space. In the desktop market, unless you're an extreme free-software advocate, I think MacOSX is a much better choice.

      -Esme

  8. My prediction by mst76 · · Score: 2, Insightful

    Yawn, yet another X alternative/replacement. My prediction is that 15 years from now we'll still be using X11. Probably still XFree86, even.

    1. Re:My prediction by twistedcubic · · Score: 2, Insightful

      I second that. I think the only people who think xfree is "slow" are the kids who like to play those video games.

    2. Re:My prediction by mbyte · · Score: 2, Insightful

      No. I think people who actually want to do *work* with linux think xfree is slow.

      Try win2k/ultraedit/mozilla vs. linux/(kde or gnome editor)/mozilla. The win2k machine is *way* faster.

      xfree as it is is slow. the culprit can be the drivers inside xfree (the nvidia driver *suck* for 2D performance !), it could be the broken toolkits (gtk2, qt), it could be something else.

      I find it strange that some nvidia guys are re-inventing XAA in their latest drivers to work around some XAA speed problems ...

  9. Slashcode lookalikes by Pflipp · · Score: 2, Insightful

    How I hate Slashcode lookalikes as frontends for project homepages. You're spending hours looking to find a simple project introduction, FAQ or screenshots...

    --
    "We can confirm that Debian does *not* ship the version with the trojan horse. Our version predates it." [CA-2002-28]
  10. 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.
    1. Re:Oh. my. god. by vidarh · · Score: 4, Interesting
      The X protocol IS extensible. Exactly what do you think the shared memory extension uses? Or Xv? Or DRI? Or XRender? The X protocol was designed specifically with extension in mind. Now, I can think of quite a few thing in the X protocol that sucks, but lack of extensibility is not one of them.

      The "slowdown" of optimizations for X is not a result of the protocol, but of the complexity of the task. Look at all the alternative GUI's available for Linux, and take a look at the number of drivers they support and the feature set - most of them are highly specialized because the amount of work that needs to go into a general purpose GUI system to make it useful is simply staggering, and few people have the skills to do it well.

      Extending the X protocol is the easy, almost trivial, bit.

  11. total vaporware by rmm4pi8 · · Score: 5, Informative

    nobody seems to have read the project page yet, or you'd note that the 'journeyOS people' are exactly one, the 'founder', and that so far the product is a conceptual description of an OS and another of a GUI. yep, that's it, no programmers, no code.

    not that i think noble adventures dont start small, but if the tons of smart people working on wine cant keep full compatibility, and the xfree86 team is having trouble getting substantial performance improvements....well, i wish this guy luck.

    sure sometimes we need a fresh start, but it seems as though journeyOS has perhaps a little more ambition than is healthy (posix and win32 compatibility, in full, and with good performance), and little in the way of resources. perhaps he could ask hans reiser about just how hard it is to design a good FS?

    seems to have bitten off more than he could chew, and as another poster has already noted, may have made some bad strategic choices at the same time. why xml for screen drawing when metadata is so often repeated? why design the GUI for the libOS that doesnt have any programs supported, rather than those that do (ie, POSIX, win32)?

    perhaps all in all 'dream big' would be a better motto for them...

    --
    U.S. War Crimes blog. Email for free Mandriva support.
  12. X using sockets.. by Chris_Jefferson · · Score: 4, Informative

    OK, repeat after me... X is NOT SLOW BECAUSE IT USES SOCKETS!!! Please understand this! When you are on a local machine it uses optimised sockets, which are the fastest way of streaming information between programs, and were designed into linux for that specific purpose. Also.. you say "Speed up".. and they are going to use XML?? Sending information via a bloated ASCII (or even unicode)-based protocol? Yep, that will be fast won't it.. espically if they parse all the XML they recieve to make sure it is correct.. *sigh*

    --
    Combination - fun iPhone puzzling
    1. Re:X using sockets.. by countach · · Score: 3, Interesting

      I agree. I'm far from convinced that sockets have anything to do with X being slow. In any case, doesn't X have a shared memory option?

      The point is, let's see some benchmarks PROVING that sockets slow things up before going off at some tangent to replace them.

    2. Re:X using sockets.. by walter. · · Score: 2, Interesting
      No doubt you can explain the flaw in their benchmarking process that gave them a factor of 2 speed over sockets. Sockets are not slow. When people have gone away, produced something faster, and have figures to back it up, though, they gain some bragging rights.

      There are no details about the benchmark on their page. A typical error is that the data isn't actually accessed on the receiving side. This may sound harmless, but it actually turns the results upside down due to cache issues.

  13. 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 10Ghz · · Score: 2, Insightful
      I seriously suggest that if you think X is slow you check out a more lightweight window manager and apps.


      You are then comparing apples to oranges. You are comparing stripped-down WM to a fully featured GUI (in this case. Windows-GUI). In order to have a GUI with similar functionality, you need to run something like KDE or Gnome. And those certainly feel more sluggish than Win-GUI does.
      --
      Lesbian Nazi Hookers Abducted by UFOs and Forced Into Weight Loss Programs - -all next week on Town Talk.
    2. 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
    3. 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.
    4. Re:ARGGH! X isn't where the slowdown is! by jandrese · · Score: 2, Interesting

      Don't you think that's a little disingenuous? When I'm writing reports, I frequently switch out to Excel to generate a chart which I then copy and paste into the Word document. Sometimes I'll copy over the cells instead, or I'll grab a drawing off of the Gimp. The copy and paste is very useful in these cases.

      I wish X was just a _little_ bit smarter with the copy and paste support and included a mimetype tag with the data in the cut buffer. That way your program could examine the mimetype to figure out how to handle the data. It would even be possible to transition by just adding a new function that specifies the mimetype in the cut buffer functions, if not specified (old application) assume text/plain. The X consortium moves soo slow though that I doubt I'll see anything like that anytime soon.

      --

      I read the internet for the articles.
    5. Re:ARGGH! X isn't where the slowdown is! by Patoski · · Score: 2, Interesting

      There are two possibilities:
      - either KDE and Gnome are both slow
      - or X itself is not well adaptated to modern needs, so we could say that X is slow.


      Check out XFce and you'll see that both KDE and Gnome are the bottleneck. It is definately possible to have a modern, sharp looking desktop that's easy on the memory and XFce provides this for me. It's very snappy on my p233 96 MB RAM laptop and uses GTK2 (the same toolkit Gnome uses). I've heard people with far slower boxes than mine say that XFce is snappy on their machines too.

      --
      G. Washington on Government "it is force. Like fire, it is a dangerous servant and a fearful master."
    6. Re:ARGGH! X isn't where the slowdown is! by irc.goatse.cx+troll · · Score: 3, Interesting

      Why is it doubtful that the kernel comes into play?
      You have no idea how much of a difference it makes (I'm not saying this to be derogatory, just expressing a point).
      A well configured kernel provides so much more usability, some examples of things to look into:
      - Anticapritory I/O Schedualer. -- Some disk read operations actually take multiple reads which get schedualed in a weird way when theres currently something being written to disk. The reads get schedualed in a way that the writes are between reads, causing the original read operation to take a lot longer due to the added latency. This patch will anticipate such situations, and cause each read to pause for a few msecs so that the next read can be schedualed instantly.
      - Interactive patches (preempt, ll, et al) -- Guess if an application is interactive based on how long it sleeps between reads. An app that constantly reads is probably not interactive, so it should have less priority. You know what they say, the slowest part of a program is the user, and that is kind of how this works. When a program sleeps for input between read its marked as interactive. This way bash responds with quickness, but gcc can wait for your interactive procceses.
      - IP QoS -- Not really X related, but really makes a huge performance diference. With QoS enabled, You can set it up so that small packets (500), then limit your outstream to a little less than your max so that SYN|ACKS can still get out. The result is that you can max your upload/download to your hearts content, but your latency NEVER takes a hit. I can even scp to my server while sshed in (both using the same sshd, which is why packet size comes in) and my ssh session still remains responsive.
      There are more, But these are just a few examples. I'm debating writing a paper on properly setting up a modern Linux system for maximum usability, as theres a huge difference and a lot of it is in the kernel.
      Sorry for any bad formatting, ironicly enough I typed this in lynx due to a few bad apps(python + wxwindows is the kiss of death, both soulseek and bittorrent tend to trash my usability). Still need to address that, heh.

      --
      Pain lasts, kid. Its how you know you're alive. Sometimes I think this growing up thing is just pain management-TheMaxx
    7. Re:ARGGH! X isn't where the slowdown is! by 4of12 · · Score: 2, Interesting

      If you have issues with the performance of your linux desktop you should be looking at the applications, desktop environments, and toolkits...

      Indirectly, though, isnt' that what these guys are proposing to do? Redesigning the lowest layer so that the upper layers don't have to be the way that they are now?

      Cheap graphics cards are so much more capable these days than what they were back when X was designed. OpenGL support (or DirectX, whatever you want to call your hardware acceleration) is more common and less expensive than in the mid 1980's. Getting graphics cards to handle more sophisticated 2D vector operations, if it's possible, should permit the lowest level of the API to be properly designed for it. Maybe then we wouldn't suffer all these layers of abstraction and interfaces that cause people to complain of sloth and bloat.

      I've used X for a long time and really like its stability and that it's a standard.

      The network client-server model is a nice idea, but could use a redesign to make it more useful for higher level operations (old X terminals didn't do OpenGL) and the idea of a secure, standardized kvm services over IP is still a great idea, especially if the underlying protocol makes better use of modern graphics hardware.

      I applaud the JourneyOS folks for daring to rethink the low layers of graphics. At the same time, I'd be scared that sloppy design and programming of a more complicated lower leel graphics model (especially with kernel interfaces) could lead to greater instability than I see with X (look at what happens to other OS).

      And I have doubts as to how the latency and bandwidth of WXML will scale.

      Until it is known whether these fears are founded or not, I still have standard X.

      There's room for improvement in X. Now if only Quartz were opened up...

      --
      "Provided by the management for your protection."
    8. Re:ARGGH! X isn't where the slowdown is! by renoX · · Score: 2, Funny

      >Why is it doubtful that the kernel comes into play?

      Because BeOs proponents usually talked about their GUI subsystem, or the multithreaded design of their apps, not of their kernel, that's why I don't think that the kernel

      >- Interactive patches (preempt, ll, et al)
      I installed the intertactive patches on the 2.4 kernel and I didn't see any difference in the responsiveness of the applications.

      >- IP QoS
      Uh? We're talking about the responsiveness of X locally..
      So IP has nothing to do with it..
      Beside as we're talking about X, X is not ideal for remote connections, I believe that a higher level protocol with more things done in the server would be more responsive and use less bandwith..

  14. try Quake3 over X- THEN tell me X sucks. by SlightOverdose · · Score: 5, Interesting

    Yeah sure. in THEORY, the server-client overhead of X slows it down. I have, however, yet to notice it. Hell, I get a Higher framerate with Quake3 in Linux than in win32.

    To take the quake3 thing a bit further- one day I was setting up a quake3 server on a remote machine. However instead of running q3ded (the server), I ran quake3.x86 (the client) by mistake.

    Imagine my horror when the screen goes blank and I realise what I have done, and SURELY, this would fsck both boxes. Theres no way quake3 can X over a 100mbit network link (with the overhead of SSH thrown in). Or can it?

    A few seconds later up pops the menu. It ran fine. As a quick experiment, I loaded q3dm17. It worked, and I was getting a good 15fps- quite playable.

    Dont believe me? try it for yourself.

    I think that little demo alone is enough of a demonstration. X my have it's flaws- namely bloatedness, but it CERTAINLY doesn't seem slow to me.

    1. Re:try Quake3 over X- THEN tell me X sucks. by Ari+Rahikkala · · Score: 5, Informative
      X is not concerned with 3D stuffs except for the initialisation of the GL context.

      As soon as the app has its own GL context, it directly talks to the hardware. X has nothing to do with this business except in the forwarding of events (mouse, keyboard). Only the driver, the app and the 3D card play a role in this case.

      The parent was running Quake3 remotely over X. This means that the client talks to the server in GLX (OpenGL encoded in X11 packets). What you're describing is DRI, which can be used only locally.

      Now, Quake3 can be expected to have a rather advanced renderer that pushes as little stuff as possible to the graphics card, so it's not such a big surprise that it can do with one hundred megabits. The bandwidth of AGP 1x is 266 megabytes per second, which does put the network one magnitude lower, but then again if you can get 10fps over the network where you can get 100fps locally, the values are in the ballpark.

      I've sort-of tried this with Half-life, but the client side ran Wine between HL itself and the network (which might cause a lot of overhead outside - or then not, I can't tell) and the server side had an old ISA network card, so I got at best something like one frame per second in the hazard course. 15 fps on much better hardware is, IMO, conceivable and credible.

  15. Hold on cowboy! by palad1 · · Score: 3, Informative

    Before everybody and their mothers starts flaming them because they use XML as their protocol, I would like to point out that they are using WBXML to send their messages.
    WBXML is a packed encoding for XML, thus saving space and all those that can be highly compressed. Just have a look at the specs, it's not because it has WAP tagged to it that it's a load of crap.
    And then, to those saying that the parser will kill the perfs, I'd like to point out that this protocol doesn't rely on string parsing but _byte_ parsing..

  16. Uh oh.. by joib · · Score: 2, Insightful


    Can we expect another alternative out there soon?


    Judging from the success of all the other zillion "I'm gonna create something new which will replace X"-projects, I suspect not.

  17. Re:Why ask ? by hummassa · · Score: 2, Funny

    I suppose a gimp can run faster than Carl Lewis, but it'll take an awful lot to train him...
    To train Carl Lewis?

    --
    It's better to be the foot on the boot than the face on the pavement. ~~ tkx Kadin2048
  18. Competing wheels make better cars by MarcQuadra · · Score: 2, Insightful

    At least if an OSS project fails the code is available for other projects to scavenge and incorporate. Where's all that closed-source code written for the dot.coms now? It's GONE or in the hands of lawyers, it will do no good for anyone.

    OSS is great because it can pull in a thousand directions at once and still end up at the destination.

    Mozilla is a great example, the core application has been extended to include a bazillion features, but its actually a kickass suite. And now there's a layout engine (gecko) that can be used in other applications to provide kickass HTML support.

    GNOME and KDE are another great example, the rivalry has done more to further the project than anything else. Windows has come a LOT less far in the same time that KDE and GNOME have been around.

    Could we move faster if there weren't competition, sure, but we'd need a lot of MONEY and MANAGERS to keep everyone in line and on-task. Luckily we don't have the burden of pandering for money or slaving under managers to get what we want.

    --
    "Sometimes, I think Trent just needs a cup of hot chocolate and a blankie." -Tori Amos on Nine Inch Nails
  19. WBXML by DrXym · · Score: 5, Interesting
    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.


    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.


    Besides which the transport is probably not as important as the data you are send. 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.

    1. 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.

    2. Re:WBXML by luisdom · · Score: 5, Informative

      Do you ever read sources?

      That might help, but you're still shipping a lot of redundant metadata around.
      From the WBXML specification abstract: ... Meta-information, including the document type definition and conditional sections, is removed when the document is converted to the binary format.

      Not if you want to remain fully compatible with existing XLib code.
      What? They provide a library that is xlib compatible and then extend it with more drawing primitives. What it makes xlib-incompatible is applications that use that specific primitives with plain X. xlib applications are not affected.

      It seems you dismissed the whole thing just after reading the post and you are just justifying that without checking other's arguments...

  20. 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?

    1. Re:How about speeding up the GUI, like KDE? by Elbelow · · Score: 2, Informative

      KDE takes 20 seconds to start up and each application takes a couple of seconds to load.

      Prelinking the libraries and applications is supposed to help in this area. See the Gentoo guide to prelinking for more details.

  21. Wasn't there just a /. article on XML... by Qbertino · · Score: 2, Insightful

    ...being one of the current software fashions? This would be a point in that case I guess.
    Mind you, XML is good. Especially because it's such an extremely picky data format. It's the only way to go for flexible document formats and all that, imho. But XML to shove grafics around a 2D space?
    Come on, give me a break.
    No, guys, nice try, but that guy with his XFree replacement called 'Y' a few days ago was much more promising.
    Next.

    --
    We suffer more in our imagination than in reality. - Seneca
  22. 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.
  23. right on! by SHEENmaster · · Score: 2, Interesting

    I use OpenBox, also a slimmed down GUI.

    One unexpected benifit of switching was the increase in the speed with which I can use it. I just spin my mouse wheel, and I'm on another desktop or a window has been (un)shaded. There is no slow config app, I can do everything from the menus.

    Getting people to switch from one windowing system to another is not easy. Apple accomplished it by providing usable, if lousy, backward compatibility and a complete OS change. Microsoft accomplished it by half-ass backward compatibility that was dropped within a few years. None of the window managers will take the lead if they don't provide network transparency(why X rules), virtual terminals(Aqua doesn't respect them), a wide variety of possible window managers (I'm not leaving OpenBox), and a healthy supply of visible advantages (more than just eyecandy) and new applications.

    I really think that X can be extended to what we want. Maybe someone should draft another revision of the protocol. There's no reason to start from scratch, and it's a waste to do so in the hopeless attempt to avoid bloated libraries and gain an alpha channel.

    --
    You can't judge a book by the way it wears its hair.
  24. That's the Beauty of OSS by gnuLNX · · Score: 2, Interesting

    You see some of us don't care about extending what's out there. Some of us do. The great thing is that we are all free to move and create as we please. Sometimes it is done for the greater good of the community sometimes it is for our own selfish reasons. Perhaps you should quit assuming that we sit up late hours pounding out code to fit in with some master plan you or others have.

    BTW I am glad there are people thinking about how to continually make the old better, maybe they will fail, but plenty will be learned.

    --
    what?
  25. XML is not a protocol! by asb · · Score: 2, Insightful

    What kind of dumbasses submit these articles?

    XML is not a protocol! XML is a method of formatting structured text data. In this case the protocol seems to be HyperQueue (whetever that is) and the payload is formatted in XML (and compressed).

    Using XML instead of a streamlined binary format and then compressing it to save bandwidth is double stupid.

    --
    Antti S. Brax - Old school - http://www.iki.fi/asb/
  26. Re:Microsoft owns all patents for OpenGL by Assmasher · · Score: 2, Interesting

    I'm pretty sure that all SGI sold them were patents covering IP discovered while SGI worked with Nintendo and MS bought them just prior to the release of the XBox. AFAIK OpenGL still belongs to SGI and the ARB.

    --
    Loading...
  27. 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...
  28. Re:Why I am tired of this "let's replace X" s& by benjamindees · · Score: 3, Interesting

    Many functions run unaccelerated on cards that have all kinds of cool acceleration features... Are you aware that gtk pushes everything as a bitmap through the X protocol for each expose event?

    Thank You. No one knows that; or seems to care. I'm currently playing around with a P200 with an S3 Trio64 that gives better (single pixel) Xperf results with the VESA driver than with the (accelerated?) S3 driver. KDE seems to run faster with the unaccelerated driver, which is completely unexpected.

    XFree has little to no information on problems like this because they discourage discussion of performance to avoid playing favorites among video card manufacturers. There needs to be someplace that Joe User can go to get realistic advice on graphics performance in Linux, something besides the usual "buy an ATI/nVidia" spiel.

    I think it's a good thing that these type of articles get posted once a week because someone needs to start talking about this; it is a serious problem that most noobs think graphics performance on Linux sucks and everyone just tells them that it doesn't or that they should use something other than KDE/Gnome. It seems that graphics and, by extension, gaming are the only areas left to hinder Linux from widespread desktop adoption by the average Windows user.

    --
    "I assumed blithely that there were no elves out there in the darkness"