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?"
"BSD: Free as in speech. Linux: Free as in beer. Windows 10: Free as in herpes." --Man On Pink Corner in #52607549.
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.
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!
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.
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.
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.
Please help metamoderate.
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.
Yawn, yet another X alternative/replacement. My prediction is that 15 years from now we'll still be using X11. Probably still XFree86, even.
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]
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.
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.
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
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
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.
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..
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.
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
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
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.
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?
...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
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
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.
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?
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/
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...
"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...
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"