X11 Window System Turns 25 Years Old
An anonymous reader writes "The widely used X11 Window System has turned 25 years old today. Version 11 of the X Window System is likely to remain in use for many years to come for backwards compatibility with the many legacy applications, BSD/Solaris systems, and Enterprise Linux distributions. Meanwhile, Wayland is still working to unseat the X Server for the common Linux desktop."
Potential protocol changes were noted in the documents of version 11, such as the ICCCM which notes that the FocusIn event should have a timestamp and a previous-focus field. Has anyone out there considered just taking X11, making changes known to be needed, and dropping the protocol support for what's rarely or not needed anymore?
Posting AC cuz I'm not a karma whore
https://wiki.ubuntu.com/Wayland
I can remember back in the 'old days' running X over a 28K dialup. But now, with 100 Mbit and up LANs and decent broadband, I can run most apps without being able to differentiate between local and remote clients.
It still just works.
Have gnu, will travel.
Solaris is based on System V, The rebranding from SunOS to Solaris (back in 1991!) coincides with the move away from a BSD-based OS.
I only met you 12 years ago, but I've been obsessed with you ever since. Its been so long, that I just had to say something now.. Please please don't jump the shark like so many others these days... I just love you the way you are!
Bye!
Surprisingly level-header article, given the source (Phoronix).
I really do hope Wayland sorts out a good scheme for remote access. At the moment it seems to be just ignored.
I wish people who set out to *replace* an existing piece of software would endeavor to replace it in its entirety, not just the subset of features that they happen to be interested in.
One thing I love about X has always been the ability to run gui apps remotely via ssh using your local X via X11 forwarding. For those who haven't tried (or haven't tried lately) it's even pretty easy to get a shell running within X in Cygwin and run remote gui 'nix applications under Windows...too cool.
It only took three years to go from X1 to X11
Of course. First X1, then X10, then X11 (to be followed by X100, then X101, then X110, then X111, then X1000, etc.)
You must be new here.
You have no clue what X11 is all about, and are a fool.
---- Booth was a patriot ----
The first time I used it was in 1993 when NCSA Mosaic came out. There was a copy on the university Sun box, my office boasted a spare 286 running DOS - some packet drivers and Vista-eXceed for DOS and I was away!
I do have a clue, and I still want it to die.
I still have my original copies of the beta 8.5x11 in spiral bound O'Reilly X11 manuals. My wife was going to thrown them out last year but I saved them.
Undetectable Steganography? Yep, there's an app fo
I remember the first vendor demo workstation arriving with X running on it. I remember GraphOn X terminals, and NCD X terminals. I remember rewriting the Keck CCD image display program not to send each image 3 times and getting live readouts over 28k modem to my living room.
Any speculations on the future of windowing systems?
Personally, I wonder when we'll get the first windowing system based entirely on HTML5.
If Pandora's box is destined to be opened, *I* want to be the one to open it.
Everyone has their own reasons for liking "the old things". When snot nosed kids come along repeating 15 year old propaganda from guys that can't even do their own interfaces right, they get all excited and want to tear everything down. New is good and old is bad as an article of faith.
They're full of themselves and think they're smarter than everyone else and thus don't bother to actually consider the end user and what people's requirements might be.
You end up with something that's shiny and new and worthless.
This kind of drama plays out in corporate environments all the time.
A Pirate and a Puritan look the same on a balance sheet.
well until one of you LN's can give me a reason TO change other than its here, it does stuff, you cant really tell the difference, use it you Luddite! I am really indifferent to wayland.
Something like X-windows could have allowed for desktop-like GUI's over HTTP, but it doesn't handle latency well because it micromanages individual keystrokes and characters. Contrast with an HMTL text-box.
We wouldn't have to fart around with DOM and JS and Microsoft IE unstandards if they did it right.
Table-ized A.I.
The first use of the name X was for X1 in June 1984. It originated at MIT. The name X was used to distinguish it from the earlier and rather different W (now you know why a Window system was abbreviate as "X": it was basically "W" mark 2). The obvious follow up question is when was W released? I cannot remember (perhaps never knew) and am too lazy to search the Internet to find out.
...is just a "reference implementation". It is NOT the be-all and end-all.
If someone were to produce a wholly new windowing system that had a compatibility layer for the standard X11 API, support for the X11 configuration files, and the option of sending X11 packets over a network, you would have something that was compliant with the reference implementation. It would be a superset, but the reference specification would be 100% implemented according to the standard, agreed?
Indeed, since the current reference implementation is highly modular, you could replace one module at a time with something that solved the problems inherent in X but which remained 100% backwards compatible.
Let us call this new implementation X12, since it's a stepwise upgrade, similar to (but less crippling than) the upgrade from X10 to X11.
What would I imagine this X12 to look like?
Well, X is still horrible for games, so sprites and shaders make sense. (Nothing stops environments like Gnome or KDE from implementing their own, but to make games viable, you've got to have one API that always works even if you have other APIs for each desktop environment.)
Also on games, but also for multimedia, sound would be good. The challenge is that you want a universal "front end" API where you can switch between engines (such as PulseAudio or Jack) without having to change the code. You'd simply get the characteristics you want. The reasoning there is that different sound systems do have different characteristics and you want a different set for different circumstances. But, again, manufacturers don't care about your freedom to choose, they care about being able to sell to the most people with the least variation in the codebase. No problem. If there's a single universal API that forwards what applies, translates those things that are translatable, and ignores the rest, then the manufacturers are happy and the freedom people are happy. Everyone is happy. That's good.
For scientific and engineering work, you get the best results by converting from vectors to pixels at the last possible moment. Metafont/metapost have a good way to describe shapes (though you'd want to "compile" these descriptions into bytecode for efficiency), and transformation matrices aren't complicated. It would take a bit of work to get the system to work efficiently in 4D, but it would make life a lot easier.
The legacy X11 protocols aren't very efficient OR secure. They're needed because there's so many X11 terminals out there, but X12 should only use X11 to talk to X11 systems. X12 to X12 should be designed from the start to be secure, compact and extensible. It should also be transport-independent. Why should X care if it using TCP, UDP, DCCP, SCTP or something yet to be developed? Or what version of the IP protocol is involved? (If it IS involved! What's wrong with X over Infiniband?) So long as both sides of the connection know what to use, and things that have to be reliable are kept reliable, it's just a port as far as 99% of the code is concerned. Only when it comes to building it in the first place will there be any difference and that can all be hidden in an abstraction library.
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
And why on Earth was I modded troll?
While posting your ~400 comments, have you never noticed how modders tend to mod pro-Linux/Android/GPL and anti-MS/Apple comments up, and anti-Linux/Android/GPL and pro-MS/Apple down?
And why was i modded funny? I was serous. Anyone that is against X11 doesn't fully understand it and only thinks about 'the local desktop' and not the bigger picture.
Sure, it can be improved there is no doubt, but tossing out what it is and what it does is just plain stupid.
---- Booth was a patriot ----
It's like X10 only better... Or like the volume control that goes to 11.
Every time you call tech support, a little kitten dies.
I have a clue. The fool is you. X11 is an antiquated piece of shit.
What else IS there besides "the local desktop"? X11 is next to useless over any kind of restricted bandwidth connection, and not really any more useful over a LAN connection. What good does it provide in today's world?
Why in the world would I ever do that?
Um, you (they) have a right to spout stupid statements but i don't have the right to call you on it? Really?
I suggest you go look up the definition of a hypocrite. Sounds like your picture will be there in all its glory.
---- Booth was a patriot ----
But not to have it not modded troll.
Dilbert RSS feed
Plenty useful for me over a LAN .. what do you base this off of?
Oh right - it was useful over 10Mbit lans, but not now with GigE ???
Yes, some applications (which require heavy LOCAL graphics processing) will work better DUH LOCALLY
but this has always been the case.
The difference is, if you tried doing it with a 32-bit alpha-blended desktop, VNC would have to shovel raw bitmaps over the network when you moved that semi-translucent terminal window that's partially-obscuring kEdit. RDP would just say, "move window XXX to a new origin of (x,y)", and all the alpha-blending window-translucency magic (and dropshadows, and everything else) would be rendered locally.
RDP between two computers running Windows works decently well over slow network connections, even with large displays and 32-bit alpha-blended eye candy. The same can't be said for VNC.
It needs APIs the hardware people are unwilling/unable to provide and it wants capabilities for the hardware that are out of the hobbyist (used computer) range.
It doesn't address the major EXPORT_SYMBOL_GPL problem that is intended to (unsuccessfully) blackmail the video card vendors into exposing their patent and copyright violations (not the stated intent, but certainly the effect).
And it fails to address the "look and feel is in the app not the window manager" problem.
Bases covered?
"Unseating X" is not what Wayland will do, at least not anytime soon. Even X's developers realize that X's architecture has gone a little stale given the current desktop use cases, so they are working to make X a Wayland client. X is likely not going to go away for another 10+ years at least, provided every X app ever developed gets converted into a native Wayland app... And that's a LONG time off on the horizon.
Wayland NAILED it where every attempt to replace X outright prior to it, failed miserably. Wayland is the future only because it allows X programs to run -unmodified-, while at the same time providing a new, more performant window server.
Wayland is the bridge to the future, along with X.
'A lie if repeated often enough, becomes the truth.' - Goebbels
GP was talking about networked X11 though, not VNC.
Though, as I understand, networked X11 with modern widget toolkits also involves a lot of bitmaps copied around.
Whenever I see "X11 Window System" I think of the UNIX Haters handbook. A bit dated but well worth a read - even if you like UNIX/linux - http://m.simson.net/ugh.pdf
Your original post was void of any substance, and now you aren't doing your argument any good at all.
I am being a stickler I know, but can we please call it properly the X Window System, X or X11. Conflating the X Window System and X11 into the X11 Window System just sounds silly. Much like X Windows. That is all.
It is a big deal - Red Hat essentially defines the Linux standard for the corporate world - so what they do the app vendors support.
I'm starting to think GNU is the problem with "GNU/Linux" these days.
I don't know what an LN is. But the main feature would be things like video integrated throughout the OS, like it is on OSX. That sort of high speed system with dozens of complex animations of videos is impossible under X11.
I'm using Firefox over ssh -X on my gigabit LAN right now. It's perfectly functional, and makes my desktop substantially more responsive by freeing up a gig of ram (out of 4) for disk cache, as well as offloading some CPU time.
If Wayland is to X11 as Unity is to Gnome 2 or KDE 3, it doesn't look like X11 has anything to worry about.
Replacing a mature, working system based on some vague idea of how to do things better rarely works.
X11 can run over dial-in speed (28K and even less) in a useful way (e.g. rendering an editor app). Show me how to do that with your Redmondian shite.
Why in the world would I ever do that?
Now, you wouldn't but back in the '90s when that's the best dialup POTS would do, you'd be happy with it. I was impressed with 9660 at that time. It worked admirably. I worked from home over it, and people were pissed to find I wasn't even in the office doing that work. They thought I was. Ha haaaaa!
"Tongue tied and twisted, just an Earth bound misfit
You've been bullshited.
X works on a per application basis and if the application can put stuff on a local window it can just as easily put stuff on a remote screen and it doesn't care what is managing the windows at the other end. I've got half a dozen people at work with MS Windows7 and Xwin32 running stuff that is on linux and solaris nodes with no problems, and before that it was XP or win2k and hummingbird exceed or cygwin.
All the X windows software on the MS Windows end has to understand is how to do X. Gnome, KDE, whatever all gets handled if needed by the thing at the other end that is actually running the application in the window you see on the screen.
Back in 2001 I was even running the enlightenment window manager from a linux box and displaying it on a win2k box using cygwin. That was overkill, but it's an example of having something you can use to launch linux applications from your MS Windows box and have it work as if they are all local, while still having the START menu and all your MS Windows applications. Now things like Xwin32 let you seamlessly cut and paste between local and remote applications as if even the non-X applications were X.
Anybody know why Apple didn't use the X11 GUI in Mac OS X?
LN = linux nerd
and care to explain why any of that matters? complex animations sounds like fluff that eats system power to present a box with items in it, and the last OSX I used was 10.2 and I wasnt taken back by its abilities in the mouse + desktop arena, there was a mouse pointer and a desktop, should I read more into that simple idea?
again why? whats the benefit for me to hose everything thats been working fine? toys? animations? I dont want my desktop to get in the way of applications.
uh why the hell would you try to stream raw hd video with a tool meant for remote desktop management? Your argument doesn't hold. and you are very right about one thing you would use a file or streaming media server for serving up video, but you would mange it with X
---Saying gnome 3 is better than windows 8 not so much a compliment as it is damning with light praise.
Freetard fail.
I hadn't realized Wayland was proprietary software.
One question - if a system has Wayland, and also has X11 services, how does it know to allow the Wayland compositing and disallow X11? In other words, how does it prioritize some parts of X11, but not the others?
FreeBSD currently has no plans to move to Wayland, and I suspect the same is true about the other BSDs. Since most of the BSDs target the server, there is nothing wrong w/ that approach. I do hope that PC-BSD, which normally derives everything from its parent project FreeBSD, makes this one of the exceptions (like it's done for a few others, like PBI) and implements Wayland on PC-BSD. On top of that, they can have Qt5 or GTK+ or whatever else there is. I don't blame the BSD guys for not being interested, but this could be a PC-BSD only thing, fwiw.
I had no idea that Wayland is from x.org
Isn't KDE 5 supposed to support Wayland? But I doubt they'll be Wayland only anytime soon, since there will be Unixes that may still use X11 (such as OpenBSD)
Speaking of which, I wish that Wayland would work on the sound problem just like it does on the compositing problem, and just take it away from ALSA/PulseAudio and whatever else there is. On the Linux side, as is.
The NeXT boxes were always based on a Motorola 68040 - that was the problem. By the time NEXTSTEP was ported to both the PA-RISC and the SPARC, it was somewhat late - not long after that, NEXT got acquired by Apple. B'cos otherwise NEXTSTEP on PA-RISC, or OpenStep on Solaris would have been a great OS. Instead, Solaris took on GNOME and let go an opportunity.
One thing I've wondered - when SunOS was around and included NeWS, did it include X Windows? I thought that NeWS and Display Postscript were alternatives to X.
This was from the Unix Haters' Handbook. I loved that book - bought a hardcopy when it was out, and now have a softcopy.
The bigger picture is that the non-local desktop should not be achieved at the foundational level of the windowing system, but as an application layer. Not all applications are feasible over a network, so network transparency should only be used for those applications that need it and, more importantly, the architecture of the desktop should not be compromised in the name of network-transparency.
John_Chalisque
Not a troll, just being honest. When i see stupidity i point it out. With luck they realize they are stupid and go back and learn something. Stupidity can be cured.
---- Booth was a patriot ----
The why is making video as smooth as text leads you to use video like you use text. Prior to the early 2000s I never cut and paste video or images, today I do very casually. I do that because of tremendous work to make it seamless enough. Those animations on my desktop allow my desktop to expand or contract things based on what I want to do. So scrollbars don't take up room on my windows until I want to scroll. The dock is invisible until I'm pulling stuff from it and then the icons expand so I can easily click them. etc...
But ultimately if you want 1990s capabilities Wayland offers you nothing. X11 works great for simple desktops and simple applications. The problems with X, like any system only become apparent if you are going to push it. The question is not how a system works at 1% utilization but at 30,50,70,90%.
Not all change is good. If I come down with the flu, my health will have changed.
The problem with Wayland is that it is far too willing to throw away capabilities of X11 that people actually use frequently. If the new system wants to gain traction, it needs to be at least as capable as the old one.
It doesn't have to be all-or-nothing. A given textbox could be set to "immediate mode" or "delayed mode" or perhaps both (sending but not acting) depending on designer choice, for example. Most of the event activities we use JavaScript for could be declarative; that is, built into the GUI language.
For example, expandable trees/menus have been a staple of desktop GUI's for years and are pretty much standard and expected (tree and slide-down mode), but are not built into HTML, requiring JavaScript.
Table-ized A.I.
Is the code still the mess it always was?
Sam Flint flintfam.org/~swflint