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.

24 of 438 comments (clear)

  1. suggested X changes by Partisan01 · · Score: 2, Insightful

    Congrats to X on it's birthday. I've noticed in the past on /. that everyone has opinions on what should be changed in X. I havn't had any problems with it and I'm quite pleased with it's performance. But i'm wondering what do you guys thing should be changed/added/taken out etc?

    --
    ahh, the egg in the basket..
    1. Re:suggested X changes by Khazunga · · Score: 3, Insightful
      You are half-right. A standard widget, and component library are needed, but I disagree with the need to integrate it with X.

      X is a network protocol. If you look at network protocol stacks you see layered design patterns everywhere. That's the beauty of X. It is confined to a layer, and performs that layer service extremely well. I know it has drawbacks and inefficiencies, but it is the best protocol so far.

      Including widgets and component architectures is stepping on the upper layer. It violates layer independency, and introduces unneeded complexity. X is a large enough behemoth as it is.

      Leave widgets separate, as they are now. It works, and it is elegant.

      BTW, this is also why I disagree with the various alternatives to X that discard the network protocol, and go for direct hardware communication. It is a decision that mixes the graphical communication layer with the layer beneath it -- you gain some speed and loose lots of flexibility.

      --
      If at first you don't succeed, skydiving is not for you
    2. Re:suggested X changes by psamuels · · Score: 2, Insightful
      WHY is it this way? From a bandwidth point-of-view, this is a horrible solution for a network independent protocol. Instead of saying "draw a button at this position, caption 'OK'" you send several kilobytes of pixel information.

      What you describe is DPS, Display PostScript. The display server can run and even store code snippets sent by the client. Thus you get a completely generic environment that can still draw you exact style of buttons on demand. Think of PostScript as the pre-web-browser equivalent of Java. (:

      DPS never did have a free implementation (though Display Ghostscript is around nowadays - but I have no idea how complete / usable it is) but it or similar technology appears/appeared in NeWS, NeXTStep and now MacOS X.

      --
      "How can you claim that you are anti-crack, while still writing a window manager?" — Metacity README
  2. Seems a bit... odd by AaronStJ · · Score: 2, Insightful
    Ten years and still binary compatible. Very cool.
    I hate to be a boor, but isn't this the sort of thing Windows get's criticized for all the time, having "broken" backwards compatibility? It seems like if Microsoft is going to get flamed for retaining (somewhat kludgy, perhaps) backwards compatibility, the same standards should be applied to X windows...
    --
    Stupid like a fox!
    1. Re:Seems a bit... odd by JLTech · · Score: 2, Insightful

      The problem is the "somewhat kludgy" part. The idea here is that X has efficiently managed to maintain full backwards compatibility efficiently. Windows, however, has many issues with their backwards compatibility. I feel that complaining about actually letting you use your old software is foolish. Complaining about not being able to use it WELL...now that's something I would listen to.

    2. 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.

  3. color depth by Anonymous Coward · · Score: 1, Insightful

    It should be possible to change colordepth in runtime!

  4. binary compatibility by GutBomb · · Score: 0, Insightful

    MS windows retains compatibility with 20 year old DOS programs and they are considered behind the times, but XFree86 retains compatibility for 10 years and it is "impressive"?

    1. Re:binary compatibility by k98sven · · Score: 2, Insightful

      MS windows retains compatibility with 20 year old DOS programs and they are considered behind the times,
      but XFree86 retains compatibility for 10 years and it is "impressive"?


      Apples and oranges..
      DOS is a 16-bit operating system for 16-bit processors,
      the argument against DOS compatibility was that
      to do this, Windows had to include a lot of 16-bit
      code, instead of being fully 32-bit.

      This caused windows to be notoriously unstable,
      (WinNT on the other hand, is fully 32 bit, which
      is one of the reasons 2000/XP are more stable
      than the old 95,98,Me branch)

      X never had any such problems.

      Retained backward compatibility is impressive, because it is an indicator of a good original design. (in the X case)
      But backward compatibility that serves to retain a flawed design is bad. (the windows case)

  5. Lets party by Anonymous Coward · · Score: 0, Insightful

    I mean we really should celebrate ten years of a system that by design is a bad solution for todays desktop, but which everone sticks by "for backward compatibility", f*#% backward compatibility and go with somthing that does what BeOS does (I had to change did to does there :-( ) "responsive gui first, then let the application do their jobs". Directfb is an atempt in the right direction. For a modern (alpha blending, antialiased) desktop you need to be the most efficient comunication between the hardware acceleration of the graphics chip and the application that uses it and the x-protocol just is not that.

    Don`t get me wrong, having remote x terminals is a realy boutifull thing, but *not* at the cost of a single machine desktop speed, I am back getting the leaked BeOS dano to work to celebrate this birthday ;-)

  6. interesting by Trepidity · · Score: 0, Insightful

    Last time I tried Linux (Slackware, sometime around 1996) I gave up trying to get X work, because it wanted all sorts of arcane details about my video card and monitor and kept warning me that it could permanently damage my hardware if I guessed wrong. So I went back to Windows, which auto-detected the information correctly.

    But if XFree can auto-detect now, perhaps I should give it another try...

  7. Re:Much more importantly by Anonymous Coward · · Score: 1, Insightful
    It'll be interesting to see if X has enough momentum (I think it does) that Berin [berlin-consortium.org] will die too, a footnote because not mainstream enough. just like NeWS.
    I've been thinking more about Berlin and it's not really necessary. Software evolution tends to work better, and Berlin is unnecessary right now. KDE and Gnome will become resolution independant if given enough time, and because they'll step there slowly like evolution they'll bring many more developers with them than if it were a revolution. I mean when you've got all letters in vectors, and all icons in SVG, then you've got very little left that needs to be resolution dependant. Bitmap images can be scaled - they are already in Opera. The placement onscreen is currently pixel based but there's no real need for that and given time that could be changed. I used to hope for Berlin but it's just too slow moving, and there are other ways there. KDE and Gnome will get there first.
  8. Yay for the BSD license by Anonymous Coward · · Score: 1, Insightful

    X is a model showcase for the popularity of the BSD license. It triumphs in both commercial and academic settings, just like BSD itself.

  9. Binary compatible? by Adnans · · Score: 2, Insightful

    Only if your Linux system supports the old a.out exec format and the ancient libc installed, no?!
    Go ahead, grab XF86-2.1-bin.tar.gz and see if any of the binaries run :-)

    /tmp/bin$ file xload
    xload: Linux/i386 demand-paged executable ZMAGIC), stripped

    -adnans

    --
    "In short: just say NO TO DRUGS, and maybe you won't end up like the Hurd people." --Linus Torvalds
  10. Re:X kicks ass, XFree86 doubly so. by aulendil · · Score: 3, Insightful

    But first, someone has to implement even rudimentary hardware acceleration into the framebuffer.

    Then someone would start to complain about lackine network transparency.

    Come on, X is here now, and it works beautifully! Nor is it slow, as seen by the mailer Sylpheed, or Dillo. Or Qt Designer. It's obvious that the perceived slowness of X lies neither in the toolkits or the windowing system, but somewhere else.

    For KDE and GNOME that slowness rather stems from the kparts/bonobo component architectures

  11. Replacing X... by NeoOokami · · Score: 1, Insightful

    I've seen many flame wars over how X sucks and it needs to die, and all the counters, the primary being X works here and now why change? I personally don't care for using X much, but I don't advocate it's death. My question is why others are so hostile towards projects that seek to try to make something better. ANYTHING can be done better, especially after ten years. And I'm not saying people should abandon X at all, but I don't see the point in harassing the projects that seek to make their own windowing environment. I keep seeing people complain about lack of support and such and they need to remember that when XFree86 was younger it didn't have much support either. Why are so many people opposed to giving new ideas a chance? I thought the entire point of a GPL community was so that new ideas can grow in the first place?

  12. 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
  13. Re:X kicks ass, XFree86 doubly so. by Centove · · Score: 2, Insightful

    Can u give me a URL for full accelerated driver for my Geforce 2 card? how about some fast 3D graphics please? good XvMC support? umm, perhaps XFT-2 support please?

    http://www.nvidia.com/

  14. Re:X kicks ass, XFree86 doubly so. by aulendil · · Score: 2, Insightful

    So? The point remains that it's significantly slower than other windowing systems that aren't network transparant.

    Well, no ;-). As I said the slowness seem to be in the component-libraries of the major desktop environment. This has nothing to do with X. X apps which do not use these services run fine and fast. Even though they use Qt or GTK+. As I said, the slowness isn't on part of X or the toolkit.

    Actually KDE and GNOME would surely suffer from the same slowness in startup times even if implented (sp?) on Windows (the horror).

    Then, of course, there's the utter lack of standardized widgets for doing just about anything. Which is where kparts, gtk, etc. come in.

    GTK+ and Qt provides widgets, neither of these are slow if used as widgetlibrary, on the contrary, especially GTK is plenty fast. Qt suffer some from the gcc C++ linker.

    But it's a sad statement that a GUI that is WELL over 10 years old (X11 predates XFree86) is just starting to get some decent standardized widgets (sorry, no, CDE, OpenWindows, Motif, etc. didn't cut the mustard even when they were new).

    If only you weren't right...

    Seriously what the various _UNIX_ desktop environments lack compared to Windows is a speedy component architecture. This is as stated above and in previous post not dependant on X. X handles the display and only the display. What the applications actually do behind the scenes are of no interest for X. Only what they display.

    And with a well setup accelerated display, you shouldn't be suffering from artifacts or flickering.

    On the problem of server for X, why do many seem to think the framebuffer would be better supported? I have no experience coding X-servers, nor any experience coding framebuffer support, so I ask: why should any one of those be easier? Enlighten me!

  15. Re:X kicks ass, XFree86 doubly so. by Pope+Slackman · · Score: 3, Insightful

    All "mother" needs is a sufficient good frontend. Those infact exist for X.

    I've never seen one on linux[1] that I'd want to use everyday.
    Sure KDE and GNOME et. al. are interesting toys, but their numerous kludges, bugs, inconsistencies, slowdowns, crashes, and poor GUI design annoy the hell out of me.

    C-X C-S
    [1] SGI's desktop wasn't bad, for a UNIX/X desktop.
    Bit on the ugly, CDE-ish side, but at least everything seemed to work "right".

  16. Backward Compatability of X by lostchicken · · Score: 2, Insightful

    Will we be able to say the same about Perl in a few years?

    If I understand the idea behind Perl 6 right, it won't quite run Perl 5 unless you compile the P5 code and decompile it to P6. If this happened to XFree86, wouldn't we see it as a stain on its history?

    Let's try to make sure we can run this announcement (backward compat for 10 years) for all our projects.

    --
    -twb
  17. Re:Why is it that... by Anonymous Coward · · Score: 1, Insightful

    Fuck you! X can't just take out everything, because if it did, it wouldn't be X. X is a standard protocol, and as such, The XFree86 Team has a standard to conform to.

    You say the old code is for legacy's sake, and want to take it out for newness sake. Code before 1995 can't POSSIBLY be good, can it?

    You want an X server re-org? You want it to be more modular? Sorry, we already did that. It's called XFree86 4.0.

  18. Re:X kicks ass, XFree86 doubly so. by bonch · · Score: 2, Insightful

    PII266mhz with 96MB. XP runs faster than Win98 did on this same hardware. No smoking, seriously. The only slowdown I have is with the transparent selection box in Explorer, which I disabled anyway.

    I'm also on a 33.6 modem. I guess I'm "old school."

  19. Re:X kicks ass, XFree86 doubly so. by bonch · · Score: 2, Insightful

    "And the opposite attidute--'we don't need to stinkin' manuals'--is why the number solution to any Windows problem is to reinstall."

    I'm not afraid to say it--the fact that to use Windows requires little to no reading of HOW-TOs and thick manuals is a point in its favor.

    "Yeah, but I bet you didn't pass your driver's test without reading the manual."

    Read no manual, I learned from my dad.

    "You don't need to be an auto mechanic to know how to drive, but you should at least know how to change a tire."

    What would be the Windows equivalent to that? Adding/removing a program? These are simple operations compared to what I was referring to, things like making the GUI preemptive by using some command at the bash prompt. And such knowledge may be trivial to you and me, but to someone inexperienced with Linux, they'll just say "Well, that's stupid," and move on to to something that works for them outright. Why shouldn't they?

    "The common Windows perception is that you don't need to know how to maintain your car."

    Ideally, a computer should be able to maintain itself. And people don't credit Windows enough for how well it works. I'm not talking about the 9x line, either--I know how bad it was.

    We have the ability to make things easier on the user. You seem to be suggesting that it doesn't matter, and that the user *should* be forced to manually maintain their computers on principle. That seems a step backwards, like a halt on progress. Should we get rid of automatic transmissions, power steering, and more, because drivers *should* drive it raw just to know how and what it's like? Why should computers be complex? Most other industries consider it a good thing to simplify and make their products more efficient.

    "If you get a blowout you'll just call up your neighbor Marge who knows even less about computers than you do. Unfortunately that doesn't work when your blowout occurs on I15 in the middle of the Mojave Desert."

    So I guess users should be forced to memorize refresh rates and command-line parameters to launch their GUIs as preemptive in high resolutions, simply because elitists feel they should take time out of their lives to learn such things as the format of a xf86config file or the correct timings for their monitor or which version of XFree86 uses their video card without crashing. Never mind that there is an equivalent car that takes care of most of that automatically.

    Most developers, including in other industries, take the time to make their products user-friendly. Only in the Linux community have I encountered people who tell me it is good to keep things complex and time-consuming because it's supposed to be better that way. This is why I personally consider Linux to still be just a server OS, although KDE is really starting to look good.

    This is all my opinion, of course. :-) I used to be a complete Slackware devotee and despised Windows on principle. Then I got into the real world and saw how silly and hindering such polarized viewpoints can be. Linux has its place, but not on the desktop. Not just yet.