The implementation of Scheifler' X window system for IBM/Intel was called X386, which eventually was forked and freed. It was renamed XFree86, as a pun. Then was renamed Xorg.
There were a few implementations of X for different unixes. Mostly closed source. It was very buggy, and patches were posted online, under the form a LD_PRELOAD-ed libraries. iirc, I had to preload a few libraries to work around the HPUX X implementation to be capable of running Mozilla Suite.
Fun times :)
> It was renamed XFree86, as a pun. Then was renamed Xorg.
It wasn't simply renamed Xorg, that's yet another fork after XFree86 development became stagnant and the license changed to something GPL-incompatible.
> XFree86, as a pun
I have been using it (and its derivatives) for more than 20 years and only got the pun now!
Whooaaaaa, like replacing the "3" in X386 with "Free"? Uhh, today I learned! I can't believe I've gone this long without knowing this haha
It is mentioned in the Wikipedia page, unfortunately no citation to validate the story. Though I found it talked about in Linux Magazine's "The History of XFree86" article (under "The Rebirth" section)
Ha! It's fascinating when revelations like this happen. I used it for all those years with absolutely no idea of the pun in the title.
One issue is that while some vendors went out of their way to update and modernize the internals of their X11 implementations (most famously Xsgi, which afaik ripped out all graphic driver code due to being unsuitable), Xfree86 in many ways stuck to original code, even if certain advances were made (pluggability, loadable drivers, etc.). Which unfortunately led to more and more problems that were papered over with XShm and drawing on client side, finally leading to Wayland...
> Which unfortunately led to more and more problems that were papered over with XShm and drawing on client side, finally leading to Wayland...
But that ship hasn't totally sailed right? It's not as if Wayland was the amazing tech everybody hoped for and jumped to. Wayland is old by now, it's only half a success and many of us are still using Xorg.
I'm not saying that in two decades Xorg may not be gone for good but at the moment Wayland and Xorg still coexist.
There was additional fun when XFree86 started showing up in that new Linux thing around 97, roughly around Bo in Debian. Around that time you needed to do some math to figure out the dot clock rate for your CRT. If you got it a little wrong, you'd need to Ctrl-Alt-F1 into a text terminal to try again; more wrong and the deflection coils would buzz louder; really wrong (allegedly) you could burn them out.
uh, xfree86 was in linux in '93 (yes I edited dot clocks to get 1024x768 x 16 bit color)
I can't recall where, however I remember reading a super-interesting blog post of an old-time linux user complaining about his video card not being able to drive his displays.
He "solved" the issue by lowering the video card refresh rate (60hz -> 30hz) -- iirc.
Can't find that post anymore, but I always wondered if that approach would have allowed me to dive more displays with my integrated intel gpu. I was unable to go further than three 1920x1200 external displays (I had to sacrifice the fourth display, the laptop's built-in display)
Later xvidtune was added to easy the process of monitor destruction :)
I remember setting it up on a 386SX laptop with 3 megs RAM, back in late 93 or so. I could barely get X to load. Massive amounts of swapping. Fortunately I got a 486 a few months later.
Fellow dotclock editor checking in.
Anybody here remember https://en.wikipedia.org/wiki/ManaGeR ? That was what I used on Unix before I got my grubby little hands on an X Windows source distribution.
It was quite elegant and super lightweight compared to X but at the same time it was somewhat limited. Monochrome only (for me, at least) and a bit sparse it got the job done with a minimum of fuss.
I saw Stephen Uhler give a demo of it as Usenix. Yes it was quite elegant! Worked via in-band escape codes so you could transparently use it remotely with rlogin or telnet.
On his web site, he says "it was (and probably still is) the largest post ever made on comp.sources.unix".
I never forgot and in most respects it was far more elegant than X which always seemed a very poor design.
What I especially liked about MGR was that remoting was dead simple; it worked as long as your terminal worked so ssh somewhere and start an app - it just worked (AFAIR).
X had remoting is a primary feature, but it's hackish and awkward and filled with issues (you really don't want to know what happens under the hood of 'ssh -Y').
However, neither really works for application that needs massive updates at a fast framerate, so hopefully Wayland will work better.
SSH was introduced in 1995, so back in the 80's you just used good old insecure unencrypted rlogin or telnet, and maybe Rick Adam's SLIP over a modem in the late 80's.
Or maybe Slirp:
Sure ssh didn’t exist, but as best I recall rsh did at the time I used MGR and worked much the same way sans the security.
if the sysadmin were any good, at least there might be s/keys for initial authentication.
No, you can just tell X clients (applications) to present themselves on a remote X server, either with no security or with an access key. It’s an unencrypted connection managed by the application itself and the X server. Sounds like a helpful feature until you realize that any X client can act as a keylogger for the whole session.
If you use SSH, it presents a fake X server local to the client that works as a proxy and tunnels the communication through the SSH connection. But as far as the client sees, it’s connected to a local server.
ssh -Y came late. For a long time as I recall you just let your X windows server listen on the network and any other machine could just send it windows to draw. You could just manually set the environment variable on the remote machine. That was still how stuff worked at some banks in 2004, because they were slow to adopt ssh. Wide open connections to X servers enabled both impressive hacks and impressive trolling.
I remember one troll-your-friends app that would (at random intervals) watch as the mouse pointer approached a window, and then warp it into a random spot.
ssh didn't exist when either X or MGR were created.
Yes! I compiled it a few years ago for Xenix and had it running quite happily on a 386
"Anyone who wants the code can come by with a tape."
80s was the golden era of hackers.
how many did go and got the code on tape?
Since I was at Stanford then, I downloaded it on sunet.
Oh, look at this guy everyone, with his fancy "downloading".
My current (air gapped) development environment includes CDE 1.6.2 on Solaris 10. At some point some devs found this to be a bit... dated, and decided to roll WM flavour of the day: Fluxbox. Sadly, one of the X components was missing from Solaris. No problem! One dev hacked together his own version in Perl based on the spec. There's something both beautiful and insane about the situation, which persists to this day.
It is interesting that something 'not the ultimate window system' can last almost 40 years already, though it also seems like Wayland is getting close to critical mass of adoption?
Wayland is getting close, and is very good indeed, but X is still the default window system. I feel like there are a lot of technologies that are this way. They were not designed to be the best, but good enough, and they have passed the test of time.
i have a hard time liking wayland because they're taking away remoting, which was one of my favorite parts of x.
That's not where it stops... wayland was designed without giving any thought to color management at all. Beware, long read ahead, not happy ending: https://discuss.pixls.us/t/wayland-color-management/10804
I will abandon Linux on desktop after ~20 years if that happens. Once upon a time we had a browser with real color management (firefox)... and lost it. Now it seems that time has come to other things as well.
Personally I like the modularity of X11 because it has a lot of standardized interfaces. For example, you can exchange the window manager and the compositing manager at runtime without affecting any running programs.
In my opinion X12 should be even more modular and should have even more standardized interfaces. E.g. window decorations should not be tied to a window manager. There should be a standardized way to do toolkits/widgets where the backend and rendering can be swapped at runtime. It should be possible to run headless GUI programs that can be attached and reattached to any running instance of a display server.
So kind of the opposite of what Wayland is doing.
waypipe is one solution in that realm (i haven't used it myself though). but it's not like x servers and clients will stop working.
Debian uses Wayland by default these days.
"As [GNOME] is the default Debian desktop environment, Wayland is used by default in Debian 10 and newer, older versions use Xorg by default." -- https://wiki.debian.org/Wayland
I personally use Arch and GNOME seemed to use Wayland by default without any intervention from me.
Gnome still doesn't support adaptive sync in the Wayland session? KDE does, but last time I tried the Wayland session it had a major bug with display sleep, so I'm waiting for Plasma 5.24 to try it again since it should have some fixes for that.
What's pretty wild is it took 3 years to reach X11, and that's where we're at, although there have been a bunch of revisions.
I invite anyone interested by the subject to watch Keith Packard's amazing presentation on this at LCA 2020:
A Political History of X - https://www.youtube.com/watch?v=cj02_UeUnGQ
(can be listened without the video if you want to do other things while listening to it)
I wonder how those email addresses worked. Who or what is window@athena? Project Athena is from MIT, so maybe window is a shared account for the group or window is a proto newgroup?
Also its so odd to think that the code couldn't be emailed because of size limitations of the time and you'd have to bring a tape. Weird that he didn't ask for a floppy because floppies were common by then too. Lets remember in 1984 you had the original Mac and a year out from the Amiga so not exactly ancient history and both those devices supported the newer 3.5" disks with 5.25" disks being very common by then. I'm guessing the unix big iron culture of the time was primarily tape based.
Also talk about a missed opportunity. I'd love to see a screenshot of this email on the original x. I'm guessing there was no email client for x back then but it could at least be read in a terminal window. I'm assuming x supported a terminal window this early if it had a working windows manager, but maybe vt100 emulation wasn't in the cards just yet. Still, what a neat piece of computer history. Stuff like this always gives me warm feelings, like in a past life I was somehow active in the culture then and feel nostalgia for it.
> I wonder how those email addresses worked. Who or what is window@athena? Project Athena is from MIT, so maybe window is a shared account for the group or window is a proto newgroup?
The history of email standards is interesting, to say the least!
The source wouldn't fit on a single floppy disk.
It doesn't mention which kind of tape. I'd be interested to know what they used.
Also it looks like they're referring to the VS100.
I never had access to those but I'd conjecture from the post they might've used tape. There at least.
Interesting to see the origins of X. Were there really 10 versions before it got to X11 and why did the version stop there?
Yes. There were a number of rapidly developed versions up to X10 in 1986, which was the first one released under a free license (and thus the first one widely adopted). X11 was an overhaul of X10 intended to increase portability/compatibility, and also the first version developed as a community open source project rather than internally to MIT. That came out in 1987.
As for why X11 was the last major version: the protocol has remained backwards compatible since then. Clients created decades ago can still operate with modern X servers. It's pretty cool!
It happened really fast. X1 happened in may 1984, x6 in 1985
Yes. 11 is the version of the protocol, which didn’t change fundamentally after X11, so they moved to X11R2, R3, etc., and adding extensions.
11 is the protocol version. With multiple implementations.
I think once extensions were introduced, they probably didn't need to extend the protocol.
Get a daily email with the the top stories from Hacker News. No spam, unsubscribe at any time.