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.
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 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.
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.
...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)
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.
"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
Uhm, it's hardware vendors who are paying for the work on Wayland, and the Linux graphics stack generally. Most notably Intel.
I use Friend/Foe + mod-point modifiers as a karma/reputation system.
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
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.