XFree86 10 Years Old
ChazeFroy writes "XFree86 is now 10 years old. To quote from the page, 'What makes this particularly eventful is that it is fully backwards compatible; this is a true testament to the spirit of the original X protocol of which XFree86 is its finest implementation.'" Ten years and
still binary compatible. Very cool.
XFree86 is now easy to install. Does anyone remember, back in the early 1990s, going through the agony of trying to get XFree to run on a Linux box? Why it didn't have 'standard' 1024x800 screen mode, I'll never know.
So driver manuals were dug out, guesses made for my monitor maxmum horizontal something rate. Huge configuration files edited. Even though, as a complete newbie, I had no idea what the various things I was changing did.
But! When it worked... I never went back to Windows again...
--- My dad's political betting
Now the X has another meaning :)
For the inevitable "X sucks, I hate X, let's replace X, screw X" crowd: Suck eggs.
X works, works now, and has worked for over a decade. I can still run some very old, but very useful software, and I can do it in a network-transparent fashion. X is fast, elegant (not the code necessarily, the functionality), does 2D, 3D and applications wonderfully, and is free and fully multiplatform, across all *nixes, Linux, MacOS and Windows.
Come back when you have something that works for real work that isn't just a theory, and if it's better than X without losing any of the benefits or extensibility, I'm suree the *nix community will thank you for it. Until then, X and XFree86 (the gold standard) are here to stay, and that's a good thing.
STOP . AMERICA . NOW
It is not really binary compatible, but protocol compatible. X11 is a (network) PROTOCOL that describes how to send drawing instructions from client to server and how the server should send events (mouse, key) back to the client.
And exactly that is the genius of X (in contrast with most other windowing systems that are based on API's). Therefore, it is easy to get network transparency, and backwards compatability does not confront you with the headaches that API binary compatability causes.
Maintaining compatability is just as simple (OK a bit less since it is a complex protocol, but the extention mechanism was very clever) as backwards compatability for ftp,nntp,dns etc.
X standardised Xt, a standard for toolkit interoperability at the component level (it is possible to embedd an Xaw component in a Motif application, for example).
Unfortunately, neither Gtk nor Qt honour Xt, nor X's excellent "resource database" generalised configuration and theming (yes, theming!) system.
Gtk because it was written by a bunch of people initially without the faintest clue how X actually works, and Qt because Qt is like "Swing for C++" - it's intended to be cross-platform, and thus handles most drawing "itself", merely requiring prettu much a dumb framebuffer underneath.
Thus, the two most popular toolkits on Linux are abysmal from an X standpoint.
"Mach is the biggest intellectual fraud of the last decade."
"Really, not X-Windows?"
"I said 'intellectual'."
-- overheard in Silicon Valley
Well done man, getting modded as insightful for admitting that you have been asleep for 6 years
Hey, I nodded off a lot. Can I have a point too?
-- MarkusQ
P.S. I'm shooting for Funny but I'll take Insightfull if that's all you've got.
You dont have to deal with several hundred students using Xterminals...
.xsession and window manager configs until I haven't a clue what does what and can't help them sort out problems.
- it's flexible, meaning each of our lecturers wants the students to use a different window manager, and the students edit their
- it's network portable, which means our students could be using machines on the other side of the world and running netscape on that and then complaining to me that it's running slowly and I cant tell they are running it on foo.bar.au
- it's cross platform, meaning whatever machine someone has on their desk, they want a copy of it installed! Grrr! There's nothing a BOFH hates more than having someone want some software!
- it allows you to run a screensaver as background, using up CPU cycles that the rest of our students would like to use for statistical analyses! killall -9 xscreensaver!
- it's free, which means I cant use our budget as an excuse to not get it so I dont have to install it, thus creating more work for me!
No, I love it really. X is fantastic. Here's to X more years!
Baz
Yes it is.
For most of us the killer feature is network transparency. There are many windowing systems out there which do a great job of running applications on a local CPU, rendering them to a local graphics card, and taking input from local keyboards and mice. This is, however, very limiting to those of us who have been accessing our machines over networks for the past 10 years. Only recently has the Windows world achieved remote access with decent usability / performance (and I'm still not sure if there's a Windows-based remote access solution that supports input devices other than keyboard + mouse), and most other non-X graphics platforms never even made the attempt.
It's not like we are asking for a bunch of esoteric features that only found in X11. We're asking for one basic feature, network transparency. Those who marginalise this feature probably don't understand what all it can be useful for.
"How can you claim that you are anti-crack, while still writing a window manager?" — Metacity README
Men and women have lived in millions of years and we're still compatible.
What the fsck are you talking about? Yes, we may be compatible at the lowest Physical layer, but for those same millions of years you speak of, we (men) have also been trying to reverse engineer their (women's) higher-level protocols. We've barely broken the Data-Link layer and even our understanding there is only minimal. Compatible? We can barely keep our sockets connected. Hell, the last time I tried to ping my wife she gave me a protocol mismatch error! My Session layer with my her has been working reasonably well for many years now, but you ought to see the Presentation layer break down, especially on birthdays and anniversaries! I'm afraid, my friend, that we've got a long way to go to achieve full compatibility.
--Jim
I want 3 of those 10 years back for wasting so much time trying to get my XF86Config file to work right.
--
Does anyone remember
I will not speak of Qt, because I have limited knowledge of it. However, Gtk+ and later GNOME addressed many of these shortcomings in ways that made a great deal of sense. It also did so in ways that were portable to Windowing systems that were either variants of The X-Window System or different altogether, but still provided the basiscs of display manipulation and event model.
The core X Protocol is a wonderful way for applicaiton and display server to talk. XLib is painful, but you can abstract it and still live with it reasonably. Xt was simply unworkable.
Of course, these points are moot. Gtk+ today along with GNOME do much more than Xt or Xaw or Motif ever did, and there's simply no going back. Color management, font management, internationalization, window manager interaction, system- and user-level configuration: These are all things that todays toolkits do far better than was ever available in the bad old days.
Of course the way your modern audience here on Slashdot thinks of theming, this is terribly misleading. You could build wildly complex resource configurations that would hand-tweek the widget heirarchy of a specific application. You could also set background colors and such, but since there were no solid conventions (not at all in Xt, and not enough in Motif and Xaw), these were of limited usefulness.