Slashdot Mirror


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.

16 of 438 comments (clear)

  1. Much more importantly by rcs1000 · · Score: 4, Interesting

    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
    1. Re:Much more importantly by aussersterne · · Score: 4, Interesting

      Yes! Those were the days.

      My first Linux box monitor (a 14" Emerson) blew its top after only a few weeks use (I had been running the monitor at 65Hz when it only supported 60Hz), so I got ahold of a 19" fixed-frequency Tektronix sync-on-green monitor and built a sync-converter circuit with a little resistor coming out the top pot to help align the signal. I still have the schematic filed away somewhere...

      Then I spent the afternoon trying to see what I could get out of the monitor, finally settling on 1088x702 or something like that at about 58Hz (ugh, flicker!) with of course no hardware text mode or CTRL-ALT-PLUSMINUS magic, just that one mode. When I booted the machine, I saw nothing at all until the magic 'X' cursor in the middle of the stipple pattern would appear. Beautiful. I probably still have the XF86Config file on a DC6150 tape somewhere. ;)

      Damn fun. These days it's all about water cooling and big CPU fans and neon lights in case holes, but it's somehow less entertaining...

      --
      STOP . AMERICA . NOW
    2. Re:Much more importantly by Paul+Komarek · · Score: 4, Funny

      I remember. A friend had a blazing fast (and rare) 486 DX50, and I convinced him (which wasn't hard) to try linux with X on it. My 386 SX20 was too slow, and probably too incompatible since it was from Packard Bell. There was an application called Xroach which put lots of beetles on your screen that scurried for the shelter of your windows. When you closed a window, they'd scurry somewhere else. We were really impressed at the number of small but nifty apps available. As computers got faster, the beetles of Xroach turned into blurry streaks of black; I don't think anyone ever bothered slowing it down, and I haven't seen it since.

      I have an Infomagic CD collection with a 1995 copyright which contains a very small leaflet outlining slackware installation. Section 9 is titled

      X11 Configuration Cookbook -- How to Get X
      Running Under Linux (without calling the fire
      department)

      Later they go on to say "Thus it is possible to overdrive the horizontal synch. of most monitors and cause *damage* or even *fire*. (Yes, they WILL burst into flames...it has happened!)".

      I was truly and eternally impressed. =-)

      -Paul Komarek

    3. Re:Much more importantly by ArsonSmith · · Score: 4, Interesting

      # apt-cache search xroach
      xroach - infests X with disgusting cockroaches
      You have new mail in /var/mail/wwarner
      wwarner:/home/wwarner# apt-cache show xroach
      Package: xroach
      Priority: optional
      Section: games
      Installed-Size: 96
      Maintainer: Joey Hess
      Architecture: i386
      Version: 4.0-8
      Depends: libc6 (>= 2.2.4-4), xlibs (>> 4.1.0)
      Filename: pool/main/x/xroach/xroach_4.0-8_i386.deb
      Size: 13414
      MD5sum: dfd42a1b3861765ad2af5eb9e8aced64
      Description: infests X with disgusting cockroaches
      Xroach displays disgusting cockroaches on your root window. These creepy
      crawlies scamper around until they find a window to hide under. Whenever
      you move or iconify a window, the exposed orthoptera again scamper for
      cover.

      Still there in debian. We use it here in the office to find out who leaves there DISPLAY wide open. It is fun to launch xroach onto someone elses display.

      --
      Paying taxes to buy civilization is like paying a hooker to buy love.
  2. "X"Free86 by popeyethesailor · · Score: 4, Funny

    Now the X has another meaning :)

  3. X kicks ass, XFree86 doubly so. by aussersterne · · Score: 4, Interesting

    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
    1. Re:X kicks ass, XFree86 doubly so. by psamuels · · Score: 5, Insightful
      Linux needs to consider running X on top of the desktop rather than underneath it. Implement versions of GTK/QT that talk to the framebuffer directly and run KDE/GNOME on top of that. I bet the performance increase would be astounding.

      So, you run Gtk+ right on the bare metal. Well, that's fine as long as you don't mind running full-screen. If you want to have more than one application running at once, someone has to arbitrate. That means you need a window manager. Then someone has to keep track of the mouse pointer - individual applications would otherwise fight over it. That includes drawing it, moving it around, changing it to the right sizes, shapes and colors on demand. I guess that would go into the window manager as well. Same goes for keyboard focus - applications can't all think they have the keyboard at the same time, now, can they? What the hey, throw that into the window manager too.

      Cut 'n' paste between applications? Need some sort of message passing server. Throw that into the window manager as well, why don't we. Drag 'n' drop? More messages - have to support that in the new window manager. Session management (i.e. login, logout, and which applications to start up when you re-log-in)? Need something for that too. 3D calls to the graphics card? Someone had better arbitrate - you only want one application doing that sort of thing at a time. I guess the kernel could probably handle that, since it is already arbitrating the frame buffer.

      By now you have a new "window manager" which has subsumed a lot of the complexity of the X server. Sure, you are no longer passing messages between two processes just to display 2D graphics, but I'm not really sure how much of a speedup you get just from that. As Jim Gettys (you're posting technical comments about X11, so I hope you know that name!) is fond of pointing out, lots of people think X is old, clunky and bloated, but nobody seems to be able to produce an alternative windowing system with equivalent (or even adequate) feature set but without comparable complexity.

      --
      "How can you claim that you are anti-crack, while still writing a window manager?" — Metacity README
  4. Re:Seems a bit... odd by Baki · · Score: 5, Insightful

    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.

  5. Re:suggested X changes by Anonymous Coward · · Score: 5, Informative

    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.

  6. Relevant quote by halk · · Score: 5, Funny

    "Mach is the biggest intellectual fraud of the last decade."
    "Really, not X-Windows?"
    "I said 'intellectual'."
    -- overheard in Silicon Valley

  7. "Me too" by MarkusQ · · Score: 4, Funny

    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.

  8. Re:X sucks :) by Bazman · · Score: 5, Funny

    You dont have to deal with several hundred students using Xterminals...

    - it's flexible, meaning each of our lecturers wants the students to use a different window manager, and the students edit their .xsession and window manager configs until I haven't a clue what does what and can't help them sort out problems.

    - 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

  9. Re:You're right... by psamuels · · Score: 5, Interesting
    X is the best thing around that meets the exact specifications that X does.

    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
  10. Re:Nothing compared to mother nature by kzinti · · Score: 5, Funny

    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

  11. What's in it for me? by Jupiter9 · · Score: 4, Funny

    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 /\/\/\?
  12. Re:suggested X changes by ajs · · Score: 5, Interesting
    X standardised Xt,And UNIX standardized dd, but we don't use it for backups anymore do we?
    a standard for toolkit interoperability at the component level (it is possible to embedd an Xaw component in a Motif application, for example).
    And Xt is about 60% of the reason that Motif blows chunks. There are several serious, objective reasons for this:
    • The resource database was difficult to manage because it required encoding large amounts of inherently non-string oriented data into strings
    • It was an early attempt to develop an OO model in C. The inheritance model was cumbersome and required far more code to manage than the application itself in almost all cases
    • Xt attempted to manipulate events in ways that were terribly inefficient. Especially high on this list of problems were the atificial events created by the widget heirarchy. This above all else made Xt (and thus Xaw and Motif) a painful user experience, and an endless optimization quest for the programmer.

    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.
    Unfortunately, neither Gtk nor Qt honour Xt, nor X's excellent "resource database" generalised configuration and theming (yes, theming!) system.
    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.