Slashdot Mirror


The XFree86 Fork() Saga Continues

Mortimer.CA writes "An article up on OSNews about the XFree story mentioned earlier. Included is: replacing fontconfig with Sun's stsf; XFree86 co-founder David Wexelblat saying that XFree is today obsolete and should be changed; Keith Packard replying, and more."

125 of 547 comments (clear)

  1. fork(), not Fork() by Anonymous Coward · · Score: 2, Funny

    fork(), you mean.

  2. The link's bad. by kwiqsilver · · Score: 2, Funny

    From the slashdot.org 'Post Comment' page:
    (Use the Preview Button! Check those URLs! Don't forget the http://!)

  3. Correct URL by TheRaven64 · · Score: 3, Informative
    --
    I am TheRaven on Soylent News
    1. Re:Correct URL by Anonymous Coward · · Score: 2, Insightful

      My Lord, X really needs to die.

      Every time its suckiness comes up, someone always tries to defend it by claiming that the network transparancy is a great feature. Dudes, hardly anyone uses that... and X is designed from the ground up for it. In other words, X is designed for the least used case -- other desktops have functioning fast local desktops, and add a few hacks in to allow remoting (in many cases, Windows for example, the hacks are faster and lower bandwidth than X's suck crap ancient attempt). The results is a revolting server/client idea that makes improvement difficult, programming complicated and any desktops running on top of X slow and bloaty.

      Please, please, pretty please... put X out of its misery now.

    2. Re:Correct URL by dougmc · · Score: 5, Insightful
      claiming that the network transparancy is a great feature. Dudes, hardly anyone uses that...
      Dude, all kinds of people use that.

      Just because YOU don't, that doesn't mean that OTHER PEOPLE don't.

    3. Re:Correct URL by Beowabbit · · Score: 5, Insightful

      Every time its suckiness comes up, someone always tries to defend it by claiming that the network transparancy is a great feature. Dudes, hardly anyone uses that...
      That's utterly silly. I use X11's network transparency all the time, every day. Probably more than half the windows I type and click at are local, but not much more than half. And lots of the users I support use network transparency as well. Of course, the ones I actually hear from are disproportionately likely to be power-users, so maybe they're not a representative sample, but still, A lot of people use this feature a lot, and some people really depend on it.

      There's certainly some cruft in X11. Hardware has progressed to the point that forcing applications to notice details of the graphics card's colour model no longer really makes sense. And I'll be happy when TrueType is ubiquitous in X apps (it's getting there). But you can have my network transparency when you pry it out of my cold, dead fingers.

    4. Re:Correct URL by mobiGeek · · Score: 5, Insightful
      other desktops have functioning fast local desktops
      As Alan Cox points out, I'd rather see someone prove that the wire protocol is the bottleneck in the desktop before we go off and rip it out (or start from scratch again).

      Everytime I hear someone say "X really needs to die", they blame the wire protocol. Well, the first step in optimization is to prove that the optimization you plan to do is actually necessary.

      I have seen a large number of projects where "blind optimization" involves reworking large chunks of code only to find out that they haven't really solved the real problem.

      As one doctor put it to us a few months ago: "If you think your baby is colicky, she isn't."

      --

      ...Beware the IDEs of Microsoft...

    5. Re:Correct URL by Bastian · · Score: 5, Insightful

      I use it extensively almost every day I sit down in front of a computer to do anything more than check my e-mail. I think most anyone who has to do a fair amount of work on multiple UNIX machines also uses it frequently.

      When I'm working remotely on Windows boxen using Terminal Services, I often find myself sighing wistfully and wishing Windows had a wire protocol. Terminal Services and similar solutions at their best are generally ill-concieved hacks and at their worst are just plain evil and rude.

    6. Re:Correct URL by Kong+the+Medium · · Score: 2, Informative

      Maybe it's just me, but the first time i wished for a real wire protocol for W2k was while installing a new Virusscanner on the file-server in another building on the other side of town. It wouldn't work, until the vendors helpline mentioned, that you couldn't use Terminal Service Client to install it. You had to use the Console and since i didn't know VNC existed, i had to drive around town. Thats what I like to call "Sneaker Administration".

      --
      ... whenever a text is transmitted, variation occurs. This is because human beings are careless, fallible, and occasiona
  4. Article... by jhunsake · · Score: 2, Informative
  5. I'm waiting for episode 2 by Anonymous Coward · · Score: 4, Funny

    Attack of the Spoons

  6. All I can say is..... by Luke · · Score: 4, Interesting

    Time for Fresco?

    1. Re:All I can say is..... by TheRaven64 · · Score: 4, Insightful

      No. Not time for Fresco. Time for Fresco is when Fresco is completed (or almost completed). Time for X now. Time for Fresco later. You'll never get anywhere if you release buggy incomplete software before it's ready for use. (Insert cheap shot at MS here).

      --
      I am TheRaven on Soylent News
    2. Re:All I can say is..... by critter_hunter · · Score: 2, Insightful

      It looks somewhat interesting - I personally think X11 sucks ass, so any alternative looks interesting - but something about the project really bothers me. I can't find their interface guidelines anywhere.

      Now see, the thing that annoys me the most with X11 is the disparate behaviors of common widgets and dialogs. Every toolkit and software author seems to have it's personal take on the matter, and it can become pretty confusing at times. And when I read that Fresco intends to be highly configurable, I hope as hell that they're not making the same damn mistake, and are leaving that kind of power solely in the hands of the user.

      --
      Karma: Could be worse (could be raining)
    3. Re:All I can say is..... by aussersterne · · Score: 5, Insightful

      Mechanism, not policy. Interface guidelines are the domain of toolkits and environments ala KDE, GNOME, not the domain of the low-level graphics subsystem like X or Fresco.

      --
      STOP . AMERICA . NOW
    4. Re:All I can say is..... by SN74S181 · · Score: 5, Interesting

      One of the problems with X11 is nobody is working on X12. Hell, nobody is working on anything better than X11R6 as far as I can tell. I remember an article in a UNIX magazine about five years ago talking about multimedia extensions, but that was right before the X consortium sorta went *boom* or whatever it is that made them completely invisible (do they still exist?) now.

      And Multimedia extensions would be nice. It'd be cool if there was a network transparent sound protocol that ran in parallel with X to deliver the sound portion of apps.

      Maybe I just haven't been following it much, but it seems like it just disappeared.

    5. Re:All I can say is..... by bonch · · Score: 3, Insightful

      I would like a low-level graphics subsystem that IS the toolkit/environment. I want things integrated, though customizable (i.e., skin it if you want, whatever).

      I'm just tired of all the layers, libraries, conflicting interfaces, and general slowness because of all the cruft that is supported for those few power users who always chime in on /. articles like this about how incredibly friggin' useful network transparency is to them. Fine, stick with X, but the standard desktop users, who comprise a MUCH MUCH LARGER majority, need something different.

    6. Re:All I can say is..... by acoopersmith · · Score: 4, Informative

      X.org is the replacement for the old X Consortium, and it is working on new technologies for X, including the Media Application Server (MAS), a "network transparent sound protocol that runs in parallel with X to deliver the sound portion of apps."

      Admittedly, it has been almost two years since X.org released X11R6.6, but work is in progress on X11R6.7.

      Nobody is working on X12, because X12 implies breaking compatibility with X11, and no one has yet come up with a compelling reason to do so that can't be handled via extensions to X11.

  7. Obligatory star wars post: (karma scharma!) by madmarcel · · Score: 5, Funny

    I can't help myself...

    "The saga continues..."

    "Use the fork() David"

    (BTW, expect to bring about introduction of new post-rating: +5 Lame! ;^)

  8. You know what? by inode_buddha · · Score: 5, Interesting

    I have a bad feling that this is goint to be one of those situations where *every* party involved is both right and wrong on some level. Even uglier is the possibility that this could occur on the *same* level. The fact that situations like this could arise in the first place tells me that maybe the architecture of XFree86 (the ideas underlying the code itself) is overly complex for today's needs.

    Or another possibility: maybe the way XFree86 is currently implemented by the major *nix vendors is overly complex by default.

    Either way, both the situation and the implementation are starting to look really messy.

    --
    C|N>K
    1. Re:You know what? by Anonymous Coward · · Score: 5, Funny

      Congratulations! You've just described every human undertaking ever!.

    2. Re:You know what? by Master+Bait · · Score: 4, Insightful
      I just think the architecture of the project is what's a mess. I compiled the new 4.3 on a Mac yesterday, and I find the project is stuck in an Imake Spin Cycle. Oh sure, somewhere in all that mess is a document that tells you how to compile 'just the servers' or maybe tells you how to build it without the fonts, or maybe even how to build it without those pathetic utilities, fonts and never-updated docs.

      If I was King of XFree86, I'd first open it up to more people, then I'd tear out the utilities and put them separate, put the fonts separate, throw away the /xc/config monstrousity and replace that with configure --prefix= etc. etc. Separate pswrap, mkshadow, xau, xnest, xext, all the gl's, xt, xv, xi, pex, speedo. The list is wildly bloated. Sure, maybe all that junk can be separate projects on the same Sourceforge page, but as it stands now, it is a whale.

      I've also downloaded and compiled Packard's stuff, and I think his is pretty messy, too.

      --
      "Only in their dreams can men truly be free 'twas always thus, and always thus will be."
      --Tom Schulman
    3. Re:You know what? by Master+Bait · · Score: 3, Interesting
      Just because you don't understand how to build XFree86, and think it takes a long time, you claim that XFree itself is flawed? Unfortunately, it is the blind eye/ear attitude that is at the core of the issues with XFree86. Yes, I know how to build Xfree and don't care how long it takes. And I never complained about how long it takes.

      Thankfully, I seek out documentation OUTSIDE the XFree source. The archaic imake system, the need for 121 files in xc/config/cf! What's up with that? How is that supposed to be better than configure --prefix etc.etc?

      I sure was lucky to find out about WORLDOPTS="", otherwise, if the compilation had hit a snag, I may have never known, because the XFree compile would happily chum along. Fine maybe for some systems. Maybe it is cool to grep an 11 megabyte &> log file. Maybe it is old school.

      Keith's code is nice, is creative and works well, it is just the XFree86 World system he's fitting into. Fontconfig package 2.1 took me a long time to get right.

      --
      "Only in their dreams can men truly be free 'twas always thus, and always thus will be."
      --Tom Schulman
    4. Re:You know what? by Anonymous Coward · · Score: 2, Interesting

      I agree. XFree86 should be broken into smaller packages (how about server, utilities, fonts?) and adopt a straightforward build system. As far as documentation goes I think it was the Xv man page that said, "Someone needs to document how this works. Maybe no one knows..." Right now my (4.3) XF86Config man page describes Option "NoPM" as, "Disables something to do with power management events."

  9. Here it is! by Gortbusters.org · · Score: 4, Insightful

    Now, that was an interesting reading in the XFree86 forum mailing list. We get individuals, companies like Sun, SciTechSoft, Red Hat etc. 'fighting' for issues varying from what XFree86 really needs, down to replacing fontconfig with Sun's stsf, XFree86 co-founder David Wexelblat saying that XFree is today obsolete and that needs to be replaced with a direct-rendered model (by retaining backwards compatibility), Keith Packard replying as to why a new organization to handle X is needed, and more.

    Our Take: One thing is clear after reading all these messages: a lot of people are not happy with what's happening with the development of XFree86. It is obvious that more discussion is needed to decide what's going to be implemented and what not, and from these emails there, it seems that there was no real/common direction discussed between the interested parties until yesterday. No real communication seemed to exist!

    Let's hope that this open forum list will show what people want and need and will 'open' the XFree86 organization in a way that will allow more CVS commits, as the project seems kind of stagnant and doesn't move as fast as it should have, as some Red Hat employees also noted (for example, direct changing of resolution was introduced just a few months ago with RandR extension, while Windows 95 could do that in 1995).

    The XFree86 project always looked a bit conservative to me while more development and openess is needed. There is no need for a "new XFree", but there is a need for more development and 'fixing' on the existing codebase.

    --
    --------
    Free your mind.
  10. fork() power by blitzoid · · Score: 3, Insightful

    If this leaves the XFree86 project as a more flexable, open, and more modular project, then so be it. I'm all for anything that can improve performance for *NIX GUIs.

    From everything I see, it's too late in the game to make a new graphical interface - unless it has a compatability layer to work with X apps. But even then, we'd need to develop it FAST to make sure *NIX doesn't fall behind in the OS game.

    --
    I am a filthy pirate.
    1. Re:fork() power by SN74S181 · · Score: 2, Funny

      ... to make sure *NIX doesn't fall behind in the OS game. ...tumbleweeds waft through the view. The lonely wail of a coyote is heard, off in the distance....

  11. Do you recall Armageddon ? by Anonymous Coward · · Score: 2, Interesting

    Do you people recall the Armageddon textfile that got post on /. several times ? Here a little quote from the text.

    well you could easily come up and tell me to simply not use GNOME and let them do whatever they like. Well, you are right with that but things are more complicated nowadays. GNOME is influencing a lot of third party projects such as XFree86 which recently added a lot of GNOME components into their CVS repository. Please know that with the next coming XFree86 version you get a lot of GNOME components without even knowing it. code like, GNOME-XML, pkgconfig, fontconfig, xcursor and xft2 were mainly written by people who're heavily involved into GNOME development. Also the GIMP is maturing more and more into getting the look and feel of a native GNOME application. The CVS version of the GIMP has a lot of GNOME pixmaps inside and they are heavily working on integrate the GIMP into GNOME. If not today but the direction is sure and i fear the day this gonna happen.

    And this will happen with an Forked XFREE. It matures more and more into a GNOME dependant piece of Software. Exactly that guy who's responsible adding all sorts of GNOME material to it will now make XFREE mature into some GNOME dependant component.

    Havoc Pennington (GNOME) works on XFREE,
    Owen Taylor (GTK+) works on XFREE,
    Jim Gettys (XFREE) and GNOME FOUNDATION president,
    Keith Packard (XFREE) and GNOME developer.

    1. Re:Do you recall Armageddon ? by dvdeug · · Score: 4, Insightful

      Please know that with the next coming XFree86 version you get a lot of GNOME components without even knowing it. code like, GNOME-XML, pkgconfig, fontconfig, xcursor and xft2 were mainly written by people who're heavily involved into GNOME development

      Oh, dear God! People who know what a modern desktop system needs are making XFree86 a better platform for such! They're even going so far as making it possible to use the X font system for something besides western European and east Asian languages!

      If KDE people want to work on XFree86, they should go for it. But don't bitch because desperately needed new features get implemented by Gnome people if you don't.

    2. Re:Do you recall Armageddon ? by po8 · · Score: 2, Insightful

      Code like GNOME-XML, pkgconfig, fontconfig, xcursor and xft2 were mainly written by people who're heavily involved into GNOME development.

      Heh. Fontconfig, XCursor, and Xft2 were written almost entirely by Keith Packard. My personal experience is that he is quite agnostic on the Gnome/KDE question. Further, there is nothing about the design of any of these three subsystems that favors any particular GUI environment.

  12. Re:XFree Obsolete? by Omega · · Score: 5, Funny
    its only using some network transparent model optimized for terminals on a mainframe....

    Psssshht! I mean really! Who wants to setup a thin-client model at their business anyway? I mean saving millions of dollars? What's up with that?!

    and it has ugly ass fonts....

    Damn straight! Anyone who has zero knowledge about X knows that the fonts are hard coded into the display manager. And that there's no way you can add new fonts to it.

    and it has shit write to hardware through TCP ports...

    Like, I'm saying, yo! There ain't no client/server interface. When you be sending them X packets to the other computer, you're talking directly to the hardware! That's why every X command is "add ax,bx" and sh*t like that! It's pure assembly, bro!

    Everyone knows that the only way to do it is to build a gigantic motherf*cking graphics subsystem into the kernel so that your system resources are halved and your OS crashes every week. Like, that's the ONLY way it should be.

  13. STSF Looks Pretty Cool by jmt9581 · · Score: 5, Informative

    I looked at some of the screenshots for stsf and I think that it's pretty sweet. The standard Motif font menu labels are hilarious though, the selectable fonts look awesome and the old motif fonts in the menus look terrible.

    Here's some links to the screenshots of stsf running on Solaris 9:

    xclock -digital -fg yellow -bgpixmap SolarisLogo.pm -fga 0.5


    LANG=zh_CN.UTF-8 xclock -digital -bgpixmap RicePaper.pm

    --

    My blog

    1. Re:STSF Looks Pretty Cool by be-fan · · Score: 3, Interesting

      My question: does stsf use it's own font renderer? I highly doubt they came up with something nicer than freetype without anybody really making a buzz about it.

      --
      A deep unwavering belief is a sure sign you're missing something...
    2. Re:STSF Looks Pretty Cool by Lu+Xun · · Score: 3, Funny

      Yes those are some damn fine clocks. Why bother with xfree at all?

      --
      That's not a soda... it's a caffeine delivery device!
    3. Re:STSF Looks Pretty Cool by pamri · · Score: 4, Insightful
      While the politics that is happening in the XFree86 team is somewhat disgusting, I am extremely happy that STST is integrated into the XFree86 core.

      Here's why:
      STSF has OpenType Font Support, which is accepted as a standard for rendering indic and other complex asian texts(arabic, urdu, etc) by the developer community. By having OTF support at the X-server level instead of the toolkit level(like pango for gtk), almost all GUI's if internationalized would render in all Asian Languages. This is a great step forward for spreading linux into asian countries, but it's unfortunate this politics has to happen. BTW, some of the STSF development was done here in Sun's Bangalore centre.

      Anyway, some related links:

      More about Opentype fonts:
      http://sourceforge.net/mailarchive/forum.php?thr ead_id=1856380&forum_id=12019

      Building OTF
      http://www.microsoft.com/typography/otfntdev/int ro.htm

      Unicode FAQ about Indic:
      http://www.unicode.org/faq/indic.html

      Links about fonts, otf,xserver,etc:
      http://indlinux.org/links.php

      The indic_computing mailing list - expect to see a lot of heat generated because of this announcement:
      http://sourceforge.net/mailarchive/forum.php?for um_id=2967

  14. Hmm. That's not right... by TheRaven64 · · Score: 4, Insightful
    Quoth David Wexelblat:

    The concept of the community voting for membership in the leadership of the project is an almost, if not totally, non-existant concept in the Open Source world (feel free to show me examples). I'm not talking about advocacy groups, like Linux International. I'm talking about development projects. XFree86 has no interest in this, as far as I can tell.

    I can think of one right now. So can he, since he mentions it a few paraghraphs later. The FreeBSD Core team is elected. To be core on FreeBSD you have to be an active developer, and have not pissed too many other developers off recently (or at least pissed them off less than most other people). Sounds like a good idea to me...

    Oh. Wait. Sorry, I forgot. FreeBSD is dead. I really should stop using it sometimes soon. Can't be using a dead OS on my desktop...

    --
    I am TheRaven on Soylent News
  15. Choice? by Fedhax · · Score: 5, Insightful

    Whatever happened to choice in this debate?

    We can choose between various window managers, various linux flavors, and even office suites. Why don't we have a choice with our window system?

    Why would it be any different for a fork of X for a choice between client/server and direct rendering, if backwards compatability was kept?
    Would that not help the the people who only use Linux on their desktop, while allowing people with networks to use the tool, as it is now, that works for them?

    1. Re:Choice? by Elentar · · Score: 4, Insightful

      At some point, creating choice for it's own sake becomes ludicrous. For example, you have a choice in the auto dealer you purchase from, the make of car you buy, what kind of fuel it uses, and so on. But you don't usually see two highways that follow the same route - you don't need a choice there, just one that can handle the traffic. Let the smaller roads get people where they want to be.

      A windowing subsystem needs to provide enough framework to make application development easy and enough flexibility to allow developers to do what they want to do. Windows software is not mainstream today because the developers had a choice of subsystems - it is mainstream because they wrote for the one that was biggest and trusted Microsoft to provide compatibility in future versions. Brilliant move, that.

      Unix has long been plagued with vendor-specific code that hinders broad development efforts. The **only** reason Linux is so popular today is because of the single windowing system. Average users don't care about how fast it can fork() or whether it's virtual memory management is superior - they want lots of apps, they want them to be pretty and they want them to all run on top of each other.

      Forking X is a terrible idea. Perhaps if they go for it, they'll choose an appropriate name... Y?

      -Elentar

      --
      The wheel it turns, around and around, with an ancient rumbling sound.
    2. Re:Choice? by Hard_Code · · Score: 4, Insightful

      "The **only** reason Linux is so popular today is because of the single windowing system."

      Actually that's way wrong, and if you notice Linux is so NOT popular today on the desktop. (it is popular on the server where graphics largely don't matter, or at *least* were not a convincing feature)

      --

      It's 10 PM. Do you know if you're un-American?
    3. Re:Choice? by Jeffrey+Baker · · Score: 4, Interesting
      • X has modular drivers.
      • X has very fast drawing.
      • GTK+ 2.2 already has the ability to detach from one X server and reattach to another. This is a tookit matter, not an X matter.
      • If your system's NIC is locking up regularly, you should contact your vendor.

      As usual, the people who bitch about X are going to have to find some new reason to bitch about X.

    4. Re:Choice? by flux · · Score: 2, Interesting

      So instead of one piece of software (XFree86) writing support for detaching and reattaching software, every toolkit should do it? (QT, Motif, Forms, Java, software based on libX11 - libX11 would be the key, I imagine most software uses that) Doesn't sound right to me! Reminds me of software rendering their aa-fonts themselves..
      They do say that RANDR-extension should finally give the potential for implementing this capability.

  16. Re:XFree Obsolete? by Shelrem · · Score: 5, Informative

    How this got modded up is beyond me. Not only is it not insightful, it's downright wrong!

    When communicating to local hardware, there is no TCP/IP anywhere. It communicates over a local socket. It has been implemented with shared memory, and guess what? It didn't perform any better than over a local socket! That's why you don't see shared memory in XFree today.

    And i dunno about you, but my fonts look just fine. They're probably the same TrueType fonts you've seen a million times on Windows.

    b.c

  17. Video-Card-Centric clearing houses by Devil's+Avocado · · Score: 5, Interesting

    I recently saw somebody try to contribute a new driver to XFree86. He was told that he was welcome to contribute the driver, but that he wouldn't be allowed write access to it once he had handed it over. What a ridiculous policy!

    The thing is, drivers can be released independently of X itself. For ATI Radeons, for example, there are at least 3 different drivers they can use. It would be nice if somebody set up a website with a page for each video card (or family of cards) that had links to all of the available video drivers for that card. Even better would be if such a website could act as a catalyst for uniting these independent driver developers so that, for example, the GATOS radeon driver developers and the DRI radeon driver developers could combine the best aspects of their drivers. This could possibly help route around the blockage that the XFree86 project too often represents.

    Actually, I think that such "hardware-centric clearing houses" would be useful for all kinds of hardware, not just video cards. Look at linuxprinting.org to see how well it can work.

    -DA

    1. Re:Video-Card-Centric clearing houses by Metrol · · Score: 5, Informative

      wouldn't be allowed write access to it once he had handed it over. What a ridiculous policy!

      Well, yes and no. For example, I occasionally work up a new port for FreeBSD, which then gets submitted via a problem report. Someone who has commit rights may, or may not, commit this to the official tree. I've not submitted nearly enough of a body of work into that tree to have anyone trust me to write directly to it. This means that if I need to edit what I've done, I once again have to submit another problem report.

      There's nothing at all wrong with this model. It insures that every aspect of what is being committed to the tree has had at least some review by those folks who have taken on the responsibility of the entire project. If that driver in question really is stable, and the author has more to contribute in the way of code to it, then eventually commit access very well may be granted. One lump of code does not automatically default into full trust.

      Another example relating to port submissions: I recently did up a port for an application I submitted via a PR. I felt I did a pretty good job on the various pieces that go into this. Turned out someone else did the same thing, but from a different platform. Apparently there were issues with what I did compiling on an Alpha that I couldn't have possibly known about. Both submissions were taken together to produce one correct version that worked across the board.

      The point of this is that the folks actively involved with the bigger picture of a project are going to be more aware as to how various pieces need to fit and work together. That's why there's a need for a hiearchy and commit control within any project. I would think this to be especially true for one as large and complex as XFree86.

      --
      The line must be drawn here. This far. No further.
    2. Re:Video-Card-Centric clearing houses by Devil's+Avocado · · Score: 2, Interesting

      """
      The point of this is that the folks actively involved with the bigger picture of a project are going to be more aware as to how various pieces need to fit and work together. That's why there's a need for a hiearchy and commit control within any project. I would think this to be especially true for one as large and complex as XFree86.
      """

      In many cases I would agree with your point, but in the case of a new driver it's essentially a distinct entity. The author is basically asking for the right to associate his work with the project, not change anybody else's work. If the developers trust him enough to accept his original work it seems silly not to let him make the changes that he feels are necessary after the driver is accepted.

      Will he break things with his commits? Maybe, but developers break things all the time, and his breakage will be isolated to his driver and will be his responsibility to fix. If he took the time to write a driver and is asking for commit priveledges then there's good evidence that he'll act in the interest of improving that driver.

      Still, I don't disagree with you entirely, which is one reason why I think the clearing-house approach would be valuable. It would allow drivers to be developed independently without forcing users to go scavenging for information all across the web. I suspect it would also encourage better unification for things like installing drivers. Again, see linuxprinting.org for an example of this.

      -DA

    3. Re:Video-Card-Centric clearing houses by Devil's+Avocado · · Score: 2, Insightful

      """
      It's no different to the Linux kernel. If your driver gets accepted into Linus's tree you don't automatically get BK write access to the tree. You have to submit patches through Linus (or another Core Member).
      """

      Many people don't think that the kernel's development model is much better than XFree86's. The kernel has the advantage of a more open process and (in my limited experience) being more vigorously developed, but there's no shortage of dropped patches. People just seem to care more about the kernel and work harder to make sure Linus eventually merges their work.

      Even the kernel is moving more and more towards using modules, and there's no reason all modules have to be distributed with the kernel. I sure wish I didn't have to download all of those SCSI RAID drivers every time I want to upgrade the kernel on my laptop.

      -DA

  18. Heh...nice title... by A_Non_Moose · · Score: 3, Funny

    all I could picture was "The Swedish (chef) Programmer" saying:

    Ya booor skay, ska boo ske-deeke-skeee Fork()!Fork()!Fork()!
    .

    --
    Have you read the moderator guidelines? Well, have you, PUNK? (and I want a Karma: Gnarly option)
  19. Obsolete? by drwhite · · Score: 2, Interesting

    X really needs to standardize itself. Copying and pasting is a bitch....X is heavy at times too and somewhat bloated. Change would be greatly welcomed...or a new X-Windows engine...

    1. Re:Obsolete? by sigwinch · · Score: 3, Insightful
      I've said it before and I'll say it again... I've never once seen an X program that couldn't copy with a left click and drag, then subsequently paste with a middle click.
      Here's how it usually goes:
      1. Find URL and highlight it.
      2. Find a handy browser. Realize it has a URL already. Highlight the URL and whack delete.
      3. Damn.
      4. Find the original app with the URL (hope the window wasn't closed!).
      5. Fucking highlight it again.
      6. Switch back to the fucking web browser.
      7. Finally paste in the fucking URL.

      The use of profanity in this algorithm is mandatory.

      --

      --
      Kuro5hin.org: where the good times never end. ;-)

  20. Origins of XFree86 - been there, done that! by Anonymous Coward · · Score: 5, Informative

    As David W points out, XFree86 is around 11 years old. I was around when the project was started and was a low-key member (my name was all over the documentation for many years afterwards and may still be, I haven't checked for a long time).

    Anyway, one thing that rarely gets mentioned is how XFree86 itself was a fork. A fork from a recalcitrant developer, namely Thomas Roell. Roell went on to be a principal (probably founding) engineer at Xinside, later renamed Xi Graphics. Roell was the primary author of X386 which was the only freely available X server for x86 systems (typically SVR3 and SVR4 unices from a handful of companies like AT&T and Dell - yes Dell actually had their own Unix distribution and it was pretty kickass too). X386 had limited chipset support (IRC, Tseng Labs ET4000 was the faster chipset it supported) and little if any support for hardware acceleration.

    Anyway, the story gets a little murky here, because I wasn't in on all the background machinations, but a couple of developers who are now in the core group (DavidW for one, and I'm thinking David Dawes and Tsilias, but don't quote me) got together and forked their version of X386 to add support for more chipsets and more OSes, kinda leaving Roell (unhappily) in the dust. It didn't help that Roell's got an ego (which he *mostly* deserves) and that DavidW had a kind of angry-young-man online persona at the time either.

    It appears that Roell eventually got over it, but never enough to join in the fun. Instead he went on to do commercial X server development, ultimately at XiG.

    But, the moral of the story here is that XFree86 itself (even before it had a name, I remember the vote on the mailing list, I didn't vote for it, thought it was kinda dorky, but I guess my own suggestion was even dorkier since it didn't win) is a fork of code that was floundering and not being developed fast enough for the tastes of some people. People who were willing to put their code where their mouthes were and to improve the situation, and who didn't really care too much who they pissed off in the process as long as the end result was a big improvement - and that it definitely was.

    I've been out of the loop on XFree86 for many years, but from the outside looking in, this current spat has the ring of history repeating itself to me. It is just more public since the userbase is a couple of orders of magntitude larger than it was the first time around, and there was no slashdot back then either...

    1. Re:Origins of XFree86 - been there, done that! by Jason+Earl · · Score: 5, Interesting

      Is it just me or is it a little bit cheeky that David W has a say in this at all. It's not like A) he is hacking Xfree anymore, or even using UNIX for that matter. He's been using Windows since Myst came out, for crying out loud. I read the emails, and when you have folks like Keith, Alan, Owen, and Havoc complaining about how XFree is run then isn't it likely that something is actually wrong?

  21. X is obviously turning obsolete by fjpereira · · Score: 5, Interesting
    I've been a user of the X Window System since the earlier X10 days.


    I still remember the transition from X10 to X11.
    However, version 11 is almost 15 years old and we
    never saw any version 12 (not that I beleive version numbering is any important).


    Although I saw some nice extensions being added to the X protocol, there are many parts of the X window system that are now obsolete.


    For instance the standard X11 font rendering system looks like it has been kept in the stone age (only recently the Xft extension solved part of the problem).


    I really like the network transparency of X and the client-server model, because of all it's advantages and, if you look at it in detail, you will be surprised that it doesn't impose any performance penalty: because of the way the X protocol is implemented, commands are queued by the client and are sent to the server in batches, in order to minimize client/server context switching.


    However, in the last 12 years we have seen the graphics hardware improove a lotm but the core X system didn't improove almost anything.

    Now we have hardware capable of displaying full motion video, hardware video decompressing, anti-aliasing, alhpa-blending and transparency, 3D, etc.

    Meanwhile, X got some extensions to support some of these features, but there are no "standard" APIs and the evolution has been very slow.


    X is great, and many of the complaints about X that I regularly read here in /. are completely wrong, but we have to change a lot of things in the way the X window system is being developed and coordinated, in order to adapt to the future.

  22. Maintaining XFree86 by AirLace · · Score: 4, Interesting

    I spent a brief time working as a contractor for a Linux distributor (now defunct). During that time, I was given the task of maintaining portions of XFree86's XInput and DRI code. What I saw, I didn't like.

    Efforts to extend XFree86 to support modern graphics capabilities (XRender, Xft, R&R) are floundering because the level of skill needed to develop and maintain them is simply too high. The XFree86 codebase reinvents many wheels, is difficult to maintain and really does carry a lot of legacy footwork that makes it difficult to work with.

    That said, XFree86 works amazingly well for what it is. I just don't think XFree86 development is sustainable. The same effects can be achieved with a thin layer like DirectFB without the overhead. You get the same functionality, usually better performant and with far less code necessary in the implementation. Network transparency can easily be provided by modern component object models like GNOME's Bonobo and KDE's Kparts, with the added bonus that clients are thin and so still usable over a high-latency network.

    I wouldn't go so far as to call XFree86 obsolete, but the technologies upon which it's based certainly are.

    1. Re:Maintaining XFree86 by Tailhook · · Score: 3, Interesting

      Network transparency can easily be provided by modern component object models like GNOME's Bonobo and KDE's Kparts, with the added bonus that clients are thin and so still usable over a high-latency network.

      Before anyone gets confused, lets be clear and point out that this is the IT equivalent of a theory. Basically, we are told the client should be just smart enough to render controls and pass input events back to the server. This is theory because there are no implementations of this in widespread use.

      The quote suggests that Bonobo or Kparts would implement the client side controls. These controls are then driven from the server via RPC or some other mechanism.

      Some argue that web browsers could do this. Perhaps. The inherent statelessness of web clients preclude large classes of GUI applications and makes others very difficult. Can you imagine a browser based implementation of, say, Paint? (activex/java doesn't count.) Lots of applications have grids with re-sizable columns, yet common browsers have never provided this without add-ons or substantial hackery.

      There have been and are real attempts to make this theory work, however. An excellent example is XWT. Check it out. There are others, but they're even more obscure and even less likely to ever actually matter.

      Why is this? Lots of people have this notion of half-smart clients that provide 99% of "direct" GUI fidelity by rendering controls on behalf of some server somewhere. There is nothing new under the sun. Yet it doesn't happen.

      Here is my contribution: Z Windows (I think there is a Y Windows out there,) an evolution of X Windows:

      - Separate the frame buffer from the window system. Graphics drivers would be "mini" drivers that abstract the hardware just enough and no more.

      - It's obvious audio must be integral. Integrate it.

      - TrueType won. Get over it. Integrate it. Anti-alias it out of the box. Provide a simple means to cope with font substitution just like Microsoft does. End of font problems.

      - Create a standard window manager. All others accept the consequences of being weird. Life is short.

      - Base the programmatic interface of the whole thing (API) on something worthwhile. Trolltech's QT would be a good place to start. Sharp did it and it works fine. Plus there is an entire suite of application software already written to it. Gnome would be fine too, I don't care.

      Now you have a clean, straightforward system that has a good API, sound, good fonts and drivers that are easy(er) to implement. Applications arrive shortly thereafter because your using a worthwhile API.

      What about network transparency? Well, in case you haven't noticed, the most widespread use of network transparent GUI is Citrix. It works well, thank you very much. It would work even better if it had been incorporated from the start by the underlying GUI. Citrix is nothing more than a highly optimized screen scraper, much like VNC. It turns out, despite the best thinking on the matter, that this is sufficient for 99.9999% of all remote GUI purposes, and the remaining 0.0001% (high performance graphics work) you want local anyhow.

      Congratulations. You now have a worthy GUI system for the next 15 years. Now wake up.

      --
      Maw! Fire up the karma burner!
    2. Re:Maintaining XFree86 by rsidd · · Score: 5, Insightful
      - Separate the frame buffer from the window system. Graphics drivers would be "mini" drivers that abstract the hardware just enough and no more.

      With the modularization of hardware drivers in XFree86 4.x, this is much less of an issue. You can drop in your own hardware driver into a stock XFree86 (in fact, a binary hardware driver written for linux will often work on FreeBSD, it's that good). What more are you looking for?

      - It's obvious audio must be integral. Integrate it.

      Why is that obvious? I, for one, don't see it at all. XFree86 sends stuff to your video card and your monitor, the audio drivers send stuff to your sound card and your speakers.

      - TrueType won. Get over it. Integrate it. Anti-alias it out of the box. Provide a simple means to cope with font substitution just like Microsoft does. End of font problems.

      Wake up. TrueType is supported; it's easy to anti-alias (not everyone wants antialiasing, even windows doesn't do it out of the box); and XFree86 actually ships with some TTF fonts (luxi mono/sans/serif, which look lousy in my opinion, but that's not their fault -- they're not font developers, they take what people donate them).

      - Create a standard window manager. All others accept the consequences of being weird. Life is short.

      XFree86 does ship with a WM -- twm. Like it? I didn't think so. So they should replace it with something like, sawfish? Metacity? KWin? WindowMaker? You have all those options already, why ask XFree86 to add another useless option? What we possibly need is a standard specification that allows one to replace one compliant window manager by another.

      - Base the programmatic interface of the whole thing (API) on something worthwhile. Trolltech's QT would be a good place to start. Sharp did it and it works fine. Plus there is an entire suite of application software already written to it. Gnome would be fine too, I don't care.

      Again, if you like Qt, use Qt. If you like Gnome, use Gnome. What's the point of XFree86 making those decisions for you? It's all about choice -- in fact it's good that Qt and GTK+ are abstracted (especially Qt), since they can be ported readily to other platforms like MacOS and Windows, which means your applications can be ported quickly too.

    3. Re:Maintaining XFree86 by Panaflex · · Score: 5, Interesting

      Well, I've been working on this exact problem for a long time now, as have numerous others. I am a (currently lurking) member of Xfree86 (back in the dark days when you had to sign non-disclosures). I've met and talked with a few of the core people even.

      Here are my suggestions for XFree86:
      1. Simplify the server.. let me guess that 90% of the code is redundent, out of date, etc. Really, a nice re-organization of the codebase would make it a lot more coherent. The framebuffer rewrite got me excited, but lets keep going. A basic tree might look like this: /include /server/lib /server/communication /server/protocol /server/modules /server/windowing /server/rendering/DRI /server/rendering/Mesa /server/rendering/XRender /server/font /server/drivers/xxxx /server/plugins/ /client/lib /client/blah blah

      You get the idea.

      2. Get rid of font servers. Seriously, integrate font management into X. I mean adding and removing fonts from the server at the user level too.

      3. Replace the base rendering model with XRender (or allow a mixture). It's time some of the extenstions moved into the core server (Shape anyone??)

      4. Let the server cache graphics list. This will help abstract gtk and qt toolkits from the rendering. That way, a server can be loaded with a description of a button, and take care of the drawing and refresh of that button. I'm _not_ talking NeWS here.. I'm talking "what graphic primitives redraw this component." These lists could be shared between KDE and GNOME. You could create them in SVG and they could be translated to X primitives by the toolkits. Then, toolkits only need to manage a single SVG file. Wanna new look for your desktop, just drop in a new SVG.

      5. Modularize the core. Ouch, that will hurt.. but sometimes people want to use X just for a device setup and a framebuffer. (Think embedded). Re-architect around the idea that X is an orchestrator of devices, inputs, and graphics primitives. That was the original spirit of X, and should carry on.

      6. With all that in mind, kill imake. Seriously, who uses imake besides X? Bueler? Bueler?

      7. Clean up Xlib. Merge the other libs into the library. We have smart linkers these days, ya know. Since we killed imake, we can use configure or something along those lines to fix this.

      8. Document it all. Document how a window is created, and what parts there are all the way down to the rectangle lists. How this list is translated into graphics onto a screen. XAA is fairly well documented. XVideo is a bit rough. XRender has somewhat real documentation, and you can read the thoughts of the designers on the public lists.

      Let me know when the revolution starts..

      Pan

      --
      I said no... but I missed and it came out yes.
    4. Re:Maintaining XFree86 by Forkenhoppen · · Score: 2, Interesting

      - It's obvious audio must be integral. Integrate it.

      Why is that obvious? I, for one, don't see it at all. XFree86 sends stuff to your video card and your monitor, the audio drivers send stuff to your sound card and your speakers.


      X is network transparency. It should not just be about graphics, it should be about providing a standard means by which the end-user experience can be piped to any display anywhere easily.

      This is not to say that X should give up speed for flexibility. Rather, I believe that X should continue to strive towards this goal. My concern is that we have a standard method of interleaving the audio with the video stream.

      This is, again, not to say that it should be required that the audio stream be always sent with the video. Rather, that there be a standard means by which this data can be transferred, and a central authority for routing this data.

      (GStream.)

      The problem I see, and the problem I'd like to see avoided, is wherein you need to forward a whole ream of ports back and forth all the way through in order to get a remote desktop running. I should be able to just forward one port, and have all of my X experience flow through that.

      Then I could pipe all of my data through encryption at once, instead of having to set it up for each individually.

      (Stop me if I'm talking out of my ass, here.)

    5. Re:Maintaining XFree86 by bgarcia · · Score: 3, Insightful
      - It's obvious audio must be integral. Integrate it.
      Why is that obvious? I, for one, don't see it at all. XFree86 sends stuff to your video card and your monitor, the audio drivers send stuff to your sound card and your speakers.
      No, X accepts input from your terminal (keyboard, mouse, etc.), and produces output to your terminal (video, and yes, audio *should* be included too). Why should audio be treated any differently? It's another common output mechanism for modern terminals. The fact that audio is not controlled just means that the current X server is really showing its age.
      --
      I'm a leaf on the wind. Watch how I soar.
    6. Re:Maintaining XFree86 by Fnkmaster · · Score: 2, Interesting
      Given that much of what you are suggesting sounds similar to what I think Keith wants to do, why not join forces with him? Either inside or outside the current XFree86 team, it matters not to me or to anyone else. If the current team won't adapt to the needs of the product going forward, then fuck em. I agree with most of your recommendations, by the way, and when I toyed with some of this stuff a while back my conclusion was it would be easier to make a windowing system from scratch, adding onto DirectFB as a base (a comprehensible, well-organized codebase) rather than trying to refactor and fix the XFree86 codebase (jumpin' jeeeeeebus, what a mess).


      Basically, X has become pretty irrelevant for Linux on the desktop. I mean, today, it's necessary, but in the future, anything that has a working backend for Qt and Gtk is a viable starting point, since it's source level compatible out of the box with the vast majority of modern Unix desktop apps. Whether it's a kludge or thunk layer doesn't matter to me, I just want those apps to work now, and a "one true way" to build apps for the future (a native toolkit integrated into the windowing system). The separation of policy from rendering and window management was a nice experiment, but it results in so much added complexity, with so few benefits. I think a reasonable skinning mechanism and the ability to create custom windows with custom features for "exception conditions" is really all you need to satisfy all the desktop apps requirements.

  23. Re:Bad Link by lastninja · · Score: 3, Funny

    as long as it isn't $EDITOR im fine. don't want to start any flamewars between Emacs and Vi.

    --
    John Carmack fan, browsing at +5 since 1999.
  24. Re:XFree Obsolete? by be-fan · · Score: 2, Insightful

    and it has ugly ass fonts
    >>>>>>>>>
    Check out this and this. The letter shapes, even on the complex Kaufmann font, are incredible. They'll probably look color fringed on a CRT, because I took these with subpixel AA enabled.

    hardware through TCP ports
    >>>>>>>>>>
    Um, XFree86 uses UNIX domain sockets (very fast on Linux) for local connections, not TCP sockets!

    --
    A deep unwavering belief is a sure sign you're missing something...
  25. Re:Could this be it? by be-fan · · Score: 4, Insightful

    you put the graphics close to the metal and then abstract that instead. That's why DirectX is the darling of game developers.
    >>>>>>>>>
    That's hilarious. Graphics hardware has gotten so advanced, that direct access actually *hinders* performance because it prevents the graphics card from optimizing things as well (a developer for the BeOS Radeon driver once told me this). DirectDraw has been getting significantly more abstracted, to the point where it was put on top of Direct3D which, like OpenGL, is a quite high-level abstraction. Look at the way current graphics cards are designed to run:

    Making individual calls to the graphics hardware (over the AGP bus) to draw each element is hideously slow. Instead, graphics hardware is designed to take a pointer to a memory region containing a big batch of drawing commands. The CPU fills the command buffer, sets up a DMA on the graphics card, and waits for an interrupt for the GPU to finish processing. As a result of this, OpenGL implementations work the following way: the OpenGL library (in userspace) creates a command buffer from the OpenGL calls the application makes. When the command buffer is large enough (or the application does a flush), it makes a (expensive) call into the kernel driver, which sets up the DMA and drawing operation and returns control back to the app. Notice, that because of the batch-orientation, the performance bottleneck is not in the communication between the application and the hardware. Even if having a client server model makes the flush stage 10 times slower (it's more like 2x or 3x in reality) there won't be a significant performance difference. Given that OpenGL libraries live entirely in userspace, with a small kernel driver responsible for setting up DMA operations and responding to interrupts, there is no reason to believe that putting things "close to the metal" will make things appreciably faster.

    --
    A deep unwavering belief is a sure sign you're missing something...
  26. The key issue by steveha · · Score: 4, Insightful

    The key issue here, as far as I can tell, is whether the XFree86 guys were correct to kick Keith Packard out.

    On the one hand, David Wexelblat has strong words about Keith Packard's actions:

    What Keith has done is among the most low-class, unprofessional, and tactless things I have ever experienced in my professional career.

    For Keith to blatantly lie to the Core Team about what he was doing is utterly unacceptable.

    But what Keith is doing, at least how he's handled it, is just flat out wrong. It's literally dishonest, and morally repugnant. Doesn't mean that there aren't some valid issues to work, or that there is no need for branching, but (a) it remains to be proven, and (b) I'll be damned if I'll quietly accept it being done by someone who is lying to my face.

    Whew. On the other hand, here's what Keith Packard has to say:

    Some have suggested that this was a secret attempt to undermine the XFree86 project: this was not my intent. I have tried as hard as I can to work within the existing XFree86 structure.

    It's hard to think that this is some kind of misunderstanding. Either Keith has been lying, or else he hasn't. It's impossible for us to really decide for ourselves, since the emails containing the alleged lying are not public.

    David Wexelblat said:

    There is an email thread documenting this. Some members of the BOD wanted to post the email, or quotes therefrom, with the announcement. I and some of the others were utterly uncomfortable doing that. I don't think anyone on the BOD or Core Team would have any issues with an independent audit of this email thread, if there are concerns about the veracity of what I say, but airing that in public isn't appropriate, IMHO.

    I'd like to see someone I trust given the job of auditing those emails, and judging whether Keith Packard has in fact been lying.

    P.S. A fork might be a good thing, in the end. Keith Packard says he believes his fork can attract more developers and improve more quickly than the status quo. If he can pull that off, we will all be better off. But unless he can clear his name, he may have trouble attracting developers.

    steveha

    --
    lf(1): it's like ls(1) but sorts filenames by extension, tersely
    1. Re:The key issue by RedWizzard · · Score: 3, Insightful
      One thing that struck me was the implication from the core team that they didn't know about the issues that Keith Packard is concerned about and that Keith never said anything. There are piles of people on the list and elsewhere with the same concerns, particularly the difficulty in getting code into the official tree. That leads me to conclude that the core team are hopelessly out of touch with the majority of their community, and the fact that no one has been added to core since 1999 (or perhaps this is out of date?) supports that conclusion.It's also interesting that the mailing list that these discussions are now happening on has been in existance since the 19th of March, some 3 days.

      Unfortunately we don't, and probably never will, know the exact circumstances behind this split in developer ranks. It mirrors Matt Dillon's recent dismissal from the FreeBSD project.

    2. Re:The key issue by jbolden · · Score: 2, Interesting

      Well it goes back even further than that. KeithP got his wings clipped for a patch he applied right before a feature fix. He may have choosen to "revolt" based on being insulted about being punished, over issues he'd been discussion for a long time. Like most of these splits there is probably a mixture of:

      -- genuine differences of opinion regarding direction
      -- unclear leadership
      -- poor interpersonal issue resolution

      In any case if you look at his resume this guy is the kind of guy who should be on an X core team.

      So I don't see whether Keith lied or not to be a key issue. His technical issues should stand on there own entirely seperate from whether his tecnique was driven more by anger/hurt or frustration.

  27. Maybe a stupid question... but: by glus · · Score: 2, Interesting

    As I can see, the "fight" is between having very flexible, transparently remote thin client GUI and localy optimized fast workstation GUI. First case is X11 and the second are a couple of new projects like SVGAlib, directfb, DDI, GGI etc... But with such a fragmentation or (calling it another way) variety of projects we are still in troubles missing good gfx card drivers (full MPEG-2D-3D acceleration, tv-ins/outs, for all new chipsets and a few or older ones)... So my question is if it's posible to separate X11 from it's drivers and having those as separate project... and then build on them whatever GUI API you want including development of X11... but having hardware driver building effort focused on one project... like you have only one kernel project that takes care of your hardware and many apps that may duplicate their functions...

    Just some thoughts anyway...

  28. X design decisions by camusatan · · Score: 4, Insightful
    In regards to all of the 'X is obsolete' arguing -

    There was a design decision made when creating X that displaying windows on a local workstation should be as easy as displaying windows on a remote workstation. This decision affected several things about X, and made the X API's extremely difficult to learn (pick up an X book, you'll see), but extremely powerful.

    Basically, what some people are saying is that that decision was wrong - that it's not correct to design an entire graphics API around the concept of displaying windows locally and remotely.

    Really, the most objective way to analyze that claim is to look at how many windows users open on their own workstation, versus how many remoted X applications they run. Compare that percentage. Then take a look at how much more complex X was made to handle the eventuality of having to handle remote windows, etc, etc. Is it worth it?

    Me personally, I don't think so. The only real use I've had for remote X applications was in terms of systems administration - but this is stuff I could have done as easily with something like ssh, or, if I needed some kind of graphics, PC Anywhere, or Timbuktu. And for applications to be faster, better behaved, and less bloatey, I'd be willing to install some PC anywhere-style application on the occasional remotely-controlled server. For the most part, people would be able to leave it out.

    That being said, I've never used X in a thin-client environment - it's possible that it could perform quite well - and I've heard that the X protocols are very good at keeping network use down. It still strikes me as not the right distribution of power between server and client, but what the hell do I know?

    1. Re:X design decisions by aussersterne · · Score: 3, Informative

      I manage several smallish lab networks on a volunteer basis that make heavy use of the 'thin-client' capabilities of X to offer a room full of computing services to users from a single SMP server machine. These capabilities have reduced cost by an order of magnitude and greatly simplified the administration that I have to do.

      X is essentially the number one reason to choose Linux/UNIX over Windows in multi-user computing environments, as far as I'm concerned. If X were ever discontinued, it's likely that in the next upgrade cycle I'd move my labs over to Windows, because without the cost-savings and administration features offered by X, there is no compelling reason to deal with the increased learning curve and driver issues in the Linux world.

      --
      STOP . AMERICA . NOW
    2. Re:X design decisions by LordMyren · · Score: 2, Insightful

      "Really, the most objective way to analyze that claim is to look at how many windows users open on their own workstation, versus how many remoted X applications they run. Compare that percentage. Then take a look at how much more complex X was made to handle the eventuality of having to handle remote windows, etc, etc. Is it worth it?"

      Lets see, oh, about 0:100%. Not a hard choice here, considering X is used as a complete multi-user environment for most of my projects. Most Xservers are Xwin32 or other windows servers. They couldnt run something locally if they tried.

      Thin clients are awsome. X was right, its the rest of the worlds fault for being too braindead to take advantage of it.

      Furthermore, most of the complexity of X is fairly well masked by modern distros. Although xf86config used to be one of the major linux headache/stumbling blocks/barrier to entries, with redhat and mandrake I seem to here a lot less bitching.

      I believe the issue is less x is too complicated and more that X was never geared towards n00bs up until recently (ie: redhat).

      Myren

    3. Re:X design decisions by Arandir · · Score: 5, Interesting

      That being said, I've never used X in a thin-client environment

      It doesn't have to be a "thin-client" environment. All you need is a networked environment. At my work we are split about 50/50% UNIX and Windows developers. Windows developers are almost literally tied down to their workstations. That's where their environment is so that's where they have to work. They don't even notice it, because it is so ingrained into their thinking.

      On the other hand, I have a Solaris and FreeBSD machine in my cubicle, and I can use them from *anywhere* in the company. In fact, I can use them anywhere in the *world* if I would ever bother signing up for remote access authorization. My cubicle is not my prison. I do a lot of work in the development lab, and it is extremely nice to be able to treat any random workstation there as my own personal environment. I can edit code in XEmacs, peruse its documentation in FrameMaker, check it in with ClearCase, and then move on to the next bug with ClearQuest, all while browing the web and checking my email with Mozilla. This is because of X11. My Windows coworkers can't do that. They're always running back to their cubicles to do their work.

      Here's another example. A lot of my coworkers use both UNIX and Windows. They all have KVM switches. I hear they're very popular. But since I don't use Windows, I've never seen the need for one. I can run multiple applications from multiple machines on whatever display I happen to be sitting in front of. Without having to beg IT for permission to buy to the software or hardware to do it.

      There are two paradigms at work here. One is the "single user on a single machine running locally." The other is "multiple users on multiple machines running anywhere they want." X11 supports both paradigms. Windows supports only the first. Please don't dumb down X11 to the Windows level.

      --
      A Government Is a Body of People, Usually Notably Ungoverned
    4. Re:X design decisions by jbolden · · Score: 4, Interesting

      I worked for years on dumb X terminals. The environment was

      a) tremendously reliable
      b) very easy to maintain
      c) offered users tons of freedom

      Contrast this with your typical Windows corporate setup. Anything other than total lockdown makes the system entirely unmaintainable. As a result user / desktop support ratios are very high and users and constantly frustrated by how little they can do. Virtually every corporation should be running dumb X terminals. It really would cut costs and empower employees.

      Take a simple example like software installation. On a Unix system I can safely let users install anything. The apps they install can't run with any more privs then they have and they can't hurt the system.

      On windows OTOH letting people use any printer in the building means they have to have permission to install drivers. Letting people install drivers is:

      a) hard because they are forced to understand details of printer models
      b) allows them to completely muck their system up

    5. Re:X design decisions by kmellis · · Score: 3, Interesting
      " Really, the most objective way to analyze that claim is to look at how many windows users open on their own workstation, versus how many remoted X applications they run. Compare that percentage. Then take a look at how much more complex X was made to handle the eventuality of having to handle remote windows, etc, etc. Is it worth it? Me personally, I don't think so."
      I think the people that disdain network transparency are being short-sighted. The reason that people don't run applications remotely is because a) they don't think they need to, and b) it takes a lot of effort. That's the average user.

      It's true that this (application) client/server paradigm is tilted heavily toward the idea of centralized servers accessed by smaller clients. And where this topology exists and is necessary, people use X this way and it matters. For average users, it doesn't.

      But that's the status quo, and it won't last.

      We're going to inevitably move to a distributed computing model, and it only makes sense to do this on a per-application basis as a first step. Almost all the pieces are there. The piece that isn't there is a mechanism that matches slack to need transparently.

      In my (years past, not current) daily use of UNIX workstations, I would manually spread my workload around to different boxes just because it made sense to do so. But it was a pain. Imagine if that were automatic and transparent.

      In my opinion, X's network transparency will once again become incredibly useful. It's utility just needs to be properly leveraged.

  29. Re:Could this be it? by g4dget · · Score: 5, Informative
    The recent Slashdot story about kernel tweaking (kernel tweaking!) to make X more responsive underscores this perfectly. First you start tweaking the kernel... and then you realize that you have to move the graphics subsystem closer to ring 0 to make the thing work at sufficient speed. The very thing that Windows has been criticized for since NT 3.51 came out.

    The reality of it is that NT's graphics system and X11 are not all that different. It's just that at a higher level, there is no support for remoting applications in NT.

    Yes, it is true that if people wanted to, we could move X11 into the kernel, in analogy to what NT did. We have moved the NFS server into the kernel for the same reason. X11 is probably leaner than the NT graphics subsystem that got moved into the kernel, so this wouldn't be a big deal. However, we really don't need the maintenance nightmare. Keeping X11 in user mode is a sensible choice, even if it costs some performance.

    Heck, most of the time even Terminal Services on Windows 2000 (running over a 10mbit network) is more responsive than my Linux box.

    There are many possible reasons for that. Maybe you are running Gnome or KDE, for example. But X11 isn't at fault.

    Get rid of X and you have a desktop OS that can actually compete. You DO NOT abstract the windowing system first and then tack stuff to it (say "OpenGL") - you put the graphics close to the metal and then abstract that instead.

    The graphics is close to the metal in X11: you send the server a bunch of high-level operations you want it to execute and it does it for you, using hardware acceleration and highly optimized drawing routines. X11 is really like Apple's Quartz in that regard, only that X11 uses a more efficient binary protocol (server-retained vector graphics is an extension for X11).

    By your argument, we should all be programming in framebuffer libraries running in user mode. We had that. It's slow, it's unsafe, and it's very inconvenient. Trust me, I have been there.

    That's why DirectX is the darling of game developers.

    And how many application developers do you know who program in DirectX? There is a reason why we have DirectX/DRI on the one hand and GDI+/X11 on the other.

  30. Re:my suggestion by CoolVibe · · Score: 4, Interesting
    ACK. And local sockets are very simple. Effectively slightly slower but almost as fast as direct memcpy calls to video memory. In fact, local sockets _are_ just all memcpy calls to some memory address :) Very fast under many unixen. Heck, we can have client-server and it costs virtually nothing. I say we keep it.

    I don't agree with Havoc Pennington on many things (like usability matters), but I do agree with this. Keep the client-server model, it's virtually free (wrt resource costs). The real performance sink is in the rendering of fonts, opengl, window managing, redrawing et al. X11 just needs to catch up with the capabilities of current graphics hardware. There's really not much wrong with it, besides that it lags behind somewhat.

    This fork might be just the kick in the arse XFree86 needs to get it up to speed again. Nothing like a little ruckus amongst the developers to get the creative blood flowing again. Go Keith!

  31. let me add to that... by g4dget · · Score: 5, Insightful
    Let me add to that Windows has had to add function calls that return "promises" in order to continue the illusion of being a frame buffer library when in reality, it's just a very messy and less functional implementation of an X11-like client-server architecture.

    The notion that there is anything "direct" about Windows GUI rendering is silly. And for the Mac, it's even sillier, given that it uses a PDF-based system derived from DisplayPostscript. The world has moved to an X11 model, it's just that most application programmers haven't figured out yet that the world has shifted under their feet.

    X11 needs major work, things like transparency, rendering, server-side vector graphics, etc.--and that is happening. But one thing it doesn't need is turn into a pretend-frame-buffer library. The other thing it doesn't need is to have a lot of junk and policy hard-coded into the server (widgets, window management, etc.), like some would-be competitors are trying to do.

    1. Re:let me add to that... by g4dget · · Score: 2, Insightful
      X needs to be replaced by a direct-rendered model, on which a backwards-compatible X server can be reasonably trivially implemented."

      But that statement doesn't even make any sense. X11 is a protocol: it's nothing more than a well-defined sequence of requests and responses between clients and servers. What does a "direct-rendered" implementation of that mean?

      NT has pretty much the same architecture: the display server lives in the kernel and applications live in user space. Requests and responses go through queues between the two. The only difference is that the NT protocol isn't documented and that it is rather ad-hoc.

      If you want to implement an X11 server, parts of which live in the same address space as the client, great, go right ahead. It's a SE nightmare and no other window system does that anymore, but, hey, maybe you can make it work. You don't need to change the protocol for that.

      And I tend to agree with him. Check out directfb to see a good example of how multiple applications can have "direct" access to the video card (not really "direct frame buffer").

      Well, gee, and that is just what XFree86 gives you. In fact, it is often handled completely transparently (read up on how OpenGL is implemented). But XFree86 also happens to give you the option of using non-local transport mechanisms, without imposing an additional cost for local communications.

      I envision a lowlevel graphics project that is only interested in bringing high performant graphics to linux.

      It's perfectly reasonable to divide an X11 implementation into a low-level graphics layer and a high-level windowing layer. It is also perfectly reasonable to give local applications controlled, direct access to the hardware. And it is perfectly reasonable to let applications communicate via shared memory. And, wouldn't you know it, that's just what XFree86 does. And even more nicely, it will transparently switch between local and remote implementations.

      But it is not reasonable to expose the low-level graphics layer to applications through a separate API, because then you lose network transparency. Putting up multiple DirectFB windows on a screen and remoting some of them through the X11 protocol does not give you network transparent windowing. What makes X11 network transparent is that it can manage both local and remote windows transparently through a unified API. That costs you nothing in performance, and it gives you a lot in terms of functionality.

      I have often thought that XFree86 project should be broken up into more reasonably sized pieces. I once tried to play around with the source, but it was just too dang large for me to get into on my spare time.

      Sure, the XFree86 server code is big and complex. But, so what? It conforms to well-defined standards and APIs and it's very efficient. It won't be any more efficient or featureful if you re-implement it. The reason to re-implement it would be if maintenance of it becomes too much of a problem. That may or may not be the case, but it's something for the maintainers to worry about, and addressing that problem doesn't require changing the protocol.

    2. Re:let me add to that... by sigwinch · · Score: 2, Interesting
      I've been working in the Windows world for years now, and client-server display systems are utterly irrelvent to the majority of real-world computer users.
      This assertion is falsified by the wild popularity of VNC, Windows Terminal Server, and similar packages for the Windows platform. The simple fact is that remote, network-transparent access is invaluable for IT maintenance. Any organization with more than a dozen users needs remote network access to the GUI.

      Incidentally, a colleague of mine has done work on VNC for Windows, and it is appallingly difficult. You either have to scrape the framebuffer continuously (kiss performance goodbye), or you have to hook GDI calls to figure out what regions of the screen were updated.

      --

      --
      Kuro5hin.org: where the good times never end. ;-)

  32. Re:Could this be it? by mav[LAG] · · Score: 2, Insightful

    X is the single biggest obstacle to Linux becoming a usable desktop OS. It's absolutely fantastic at doing what it was designed to do, but it has no place in a desktop environment.

    X does just fine in a desktop environment, despite being designed the way it is. It runs on a wide variety of hardware from Onyxs right down to my iPAQ, provides more than enough flexibility for window manager authors and works transparently over a network.

    Heck, most of the time even Terminal Services on Windows 2000 (running over a 10mbit network) is more responsive than my Linux box.

    Tsk Tsk :) Anecdotal evidence! The very thing that Linux users are always criticised for. What's your hardware? Video card? Kernel version? Distribution? Did you compile X for yourself? You mention "my Linux box" - so is it another box entirely? My anecdotal evidence: X has always outperformed Windows 2000 on the same hardware for me (easy to test since I dual-boot) - an entirely unfair comparison since I've always compiled it from source with lots of optimisations turned on.

    The recent Slashdot story about kernel tweaking (kernel tweaking!) to make X more responsive underscores this perfectly. First you start tweaking the kernel... and then you realize that you have to move the graphics subsystem closer to ring 0 to make the thing work at sufficient speed. The very thing that Windows has been criticized for since NT 3.51 came out.

    What's so surprising about kernel tweaking? Any large software layer that uses kernel functions is going to be helped by making those functions run faster. Linux treads a middle road by design here - it's impractical and stupid to move a graphics subsystem into the kernel - but graphics apps could use more speed so you use things like the DRI and kernel tweaks.

    You DO NOT abstract the windowing system first and then tack stuff to it (say "OpenGL") - you put the graphics close to the metal and then abstract that instead. That's why DirectX is the darling of game developers.

    Not quite sure what you mean here. X and GL are two different architectures with two vastly different requirements that have evolved independently and only fairly recently have worked nicely together. Not everyone who needs X needs 3d graphics - and the 2D accelerated functions of X are pretty close to the metal anyway. When the performance of GL became an issue that needed to be addressed, a solution was found (the DRI) that didn't need to move graphics into the kernel but still provided an acceptable enough solution for GL users. This is the real world: X is there, it works and it's not going away. GL is there and also immensely popular. Could both be better designed from the ground up to work better and work better together? Of course. But that's entirely impractical. And your comparison with DirectX conveniently forgets that DirectX was a crappy and unusable API for a long time - famously spurned by Carmack in his 1996 .plan as being a "waste of time." It's only recently that it's evolved and improved to what it is now.

    --
    --- Hot Shot City is particularly good.
  33. Hmm by Hard_Code · · Score: 4, Insightful

    Something that David Wexelblat posted bothers me. I'm sort of confused by his stance, because while he admittedly does not use X, he is at the same time airing his criticisms of it, yet refusing to let Keith Packard fork gracefully. Anyway the bit that bothers me:

    "- There is no reason for Core Team matters to be public. This is the
    leadership forum, not a public forum."

    What is the difference between Core Team members keeping their plans secret and not allowing the public to participate, and Keith Packard keeping *his* plans secret and not letting the Core Team know about them, which he is getting lambasted for? Sort of hypocritical. If the X license is an Open Source license, the Core Team doesn't have any special rights with regard to modification and distribution than Joe Hacker who wants to fork it does. X (X11R6) hasn't changed in a hell of a lot of time (relative to most opens source projects), so what is the purpose of shielding XFree from the public? Some panties need to be untied.

    --

    It's 10 PM. Do you know if you're un-American?
    1. Re:Hmm by sigwinch · · Score: 4, Insightful
      The difference is professionalism. The core team here is an organisation which Keith was a part of. It isn't professional to try to fork, solicit people to join and go behind your team's back, whilst still being a member of the team.
      I call bullshit. Utter total horseshit. Professionals *almost never* go straight to the big audience with their ideas. You go privately and discretely to various interested parties and see what they think. If they think the idea stinks, then you let it die quietly and no one is the worse for wear. If they come up with angles you missed or things that aren't optimal, you revise your ideas and go back for round two. Lather, rinse, repeat. The idea either dies, or becomes suitable for mass consumption. In addition, the process polishes the idea, and forces you to get all your ducks in a row so you can answer objections with facts.
      If Keith found his dissatisfactions with the core team irreconcilable, that's fine - it happens. He should resign from the team, and then fork and ask others if they'd like to join.
      Again, I call bullshit. It's way too easy to delude yourself into believing that your Wonderful New Idea is The Greatest Thing Since Sliced Bread and will Definitely Bring World Peace. It's an occupational hazard for engineers. The solution is to discretely bounce the Wonderful New Idea off other people, who should ideally be jaded, bitter, and hard-nosed. (When I was doing this once, a colleague responded "Are you smoking crack? Or do you take it rectally?" That's the kind of person you want.)

      If you don't take this approach, you run a terrible risk of proposing an awful idea to a large audience. The more audacious the idea, the more credibility you lose. Hell, even really good ideas are often hard to swallow if somebody just does a brain dump of their first draft.

      Either you're a member of the team or you want to strike out on your own.
      Again, bullshit. It is often impossible to know whether you want to strike out on your own without quietly discussing it with other people.

      You are essentially arguing that it is unprofessional to explore the job market without first quitting your job. Dumb, dumb, dumb.

      As far as I can tell, XFree86 Core are hugely insecure and neurotic. People with self confidence and competence would have simply made Keith a counteroffer. Happens all the time in the real world, which apparently is not where XFree86 lives. E.g., Senior Engineer at Small Turbine Corp. interviews at Pratt and Whitney. What STC execs should do when they find out is to shit themselves, clean up, and make a counter-offer. What they should not do (but alas sometimes do anyway) is fire Senior Engineer on the spot.

      The fact that XFree86 Core went apeshit demonstrates (1) they know what Keith was saying is true, and (2) they have a pretty fucking big chip of their collective shoulder. The fact that they went into a frenzy of mailing-list creation, Bugzilla installation, and project reorganization proves #1 beyond any doubt. Other evidence covered extensively elsewhere strongly supports #2.

      --

      --
      Kuro5hin.org: where the good times never end. ;-)

  34. Dear Keith... by Anthony+Boyd · · Score: 4, Interesting

    ...after reading your long message, and also reading David Wexelblat's message, and reading all the stuff that came before, it's pretty clear to me: the X Core Team doesn't want to talk. They don't want outside input, they've deluded themselves into thinking that other Open Source projects are just as closed as they are, and they really don't see where all these outsiders get the right to have an opinion. They ask why you (Keith) didn't open a discussion with them, but then act hostile to nearly everything that is discussed.

    I don't know how to write a driver for X, but I do know people. And you're banging your head against a wall as long as you try to work within their system. Good luck with whatever you decide.

    1. Re:Dear Keith... by xybe · · Score: 5, Insightful

      More to the point, the main criticisms against Keith Packard come from David Wexelblat, who while saying that he supports open source, in his own words:

      I personally don't have much interest left in hacking code; I don't code much at work any more, and not at all in my free time. If I ever do, I will do Open Source. Whether it will have anything to do with Linux or X, I don't know; I doubt it. It will probably have something to do with my other hobbies, and be Windows software.

      Also:

      Some of you may be too young to have any idea who I am. I, along with David Dawes, Jim Tsillas, and Glenn Lai, created XFree86 a little less than 11 years ago. I have been basically inactive with XFree86 for a goodly number of years now, but remain on the Board of Directors, and lurk on the Core Team. I care very much about this project and the people involved, and pop my head up once in a while to kibbitz when necessary. It's necessary now.

      So, on the one hand he is interested but at the same time he does not contribute to the project, he believes X is obsolete and admits to only using Windows OS. It begs the question, if he so much cares about the project, why not resign and let someone por involved take his place?

      I think we should take arguments from this discussion with a grain of salt.

  35. Re:Hmm. That's not right... by Anonymous Coward · · Score: 3, Insightful

    Hmmm. Someone should clue in the Debian project that they're somehow doing a nonexistent thing by holding regular elections for their leaders.

  36. Phooey on network transparency by jhantin · · Score: 5, Interesting
    Okay, admittedly the terminal link is likely not the best place to remote a GUI application, but there are other advantages to having (gasp!) a reasonably standardized wire protocol to talk to your display.
    • pluggable implementations (on Linux alone, there's XFree86, MetroX, Accelerated-X, ...)
    • better opportunity for security (though I grant it's not often taken)
    • cleaner interaction between applications displaying on the same desktop-- most of the "hacks" won't let applications running in different places share a desktop transparently
    For that matter, most desktops released within the last 8 years are so slow and bloaty themselves they can't afford a wire protocol abstraction layer between them and the display driver! Try something truly lightweight, like twm or one of the early incarnations of fvwm with something better than those miserable default configurations, and watch your desktop scream, even with X's supposed weight.
    --
    ...when you're writing a game...tweak the difficulty of "Easy" to something [your mother] can cope with. -- onion2k
    1. Re:Phooey on network transparency by Eravnrekaree · · Score: 5, Informative

      I really dont understand people who are complaining about network transparency and who wish to destroy one of Xs best features, and destroy Xfree86 as a X11-compliant implementation, by changing the X protocol. It seems to be working very well as it is. I use network transparency all the time to run applications running on a fast server across to several cheap, old PCs. It is a crucial feature, and provides much better performance than purely bitmap protocols. It has saved a lot of money, instead of having to buy a bunch of expensive workstations, you can simply use an application server, and some old ancient PCs as terminals which cost next to nothing, just try that with XP . To share applications on XP (a single application, not a display), you have to pay hundreds of dollars in licensing fees just for the products to do so. This feature has been avialable on X for 18 years, and freely avialable thanks to Xfree86.

      It is important as well to maintain standards compliance with X11, so you can use a particular application with any X server without having to be concerned without running into compatability issues. Frankly, I dont think the need to change X11 protocol is there, we have DRI (and similar things) for apps that truly need high bandwidth, but web browsers, office suites, drawing programs, even animations and video, all work well under X11., i use them all the time under X and dont see a problem.

      I really dont see this "bloat" or "cruft" people keep talking about in X11. X works fine for me, its great, its fast, and its small compared with XP! Its fast even with video applications. For those really demanding 3d or high bandwidth applications, we can have DRI and similar things which applications which truly need that kind of bandwidth can use. But most apps such as word processors, web browsers (animations and all), drawing programs, even realplayer, work excellent on top of X11 protocol.

      No, we dont need to change the X11 protocol, and even on old computers I have found X protocol is more than fast and adequate in its display speed and capabilities. It seems to be working just fine, X protocol does not need to be changed and we do not need to enter a new era of incompatability, inflexibility, lack of versatility in unix GUIs. Standards compliant X11 protocol provides an excellent, time tested platform which is working very well and will continue to do so far into the future.

      X11 itself is just fine and I see no need to change it, it is working great. Xfree86 as well actually has been doing a pretty good job I think of putting out a decent, stable, high quality, X11-compliant, versatile, flexible, system with many useful and beneficial features not removed. Perhaps it could do a little better yes, but it seems to be quite good already. One person commented on the size of a Xfree86 package being 70mb, however, the server itself is about 2 mb in size, most of the rest is drivers i am sure. Drivers should continue to be distributed with X, but it should now be very easy for OS distros (Redhat, etc) to offer drivers in seperate archives, so users can choose to install only the module they need. Of course, there can be seperate projects for video card drivers, especially with the new loadable module system, as those drivers become stable then they can always be included in the main Xfree86 distribution

    2. Re:Phooey on network transparency by Malc · · Score: 2, Insightful

      Personally I hate the X model. It's just not robust and reliable enough for me. Any connection interruptions cause all the apps to die, losing any state and any unsaved work. I much prefer the remote desktop sharing approach. If I get disconnected, I can re-connect and carry on from where I left off. Even better, I can reconnect to an existing session from a different location.

      You pointed out that this approach can be a performance problem. That's true if bitmaps are being sent. VNC is reasonable with a low latency connection (I use it daily on a 140ms connection from the east coast of N. America to the west coast). PCAnywhere works better, but has other problems, and RDP is the best, although apparently restricted to Windows only.

      The performance of Windows Terminal Services (and Win XP's remote desktop sharing) is fantastic, and very impressive. This, IMHO, is the alternative to X11 and it's network issues. Personally, I would like to see a hybrid of both: the ability to use high-performance remote desktop sharing over unreliable networks (e.g. the internet), coupled with the ability to seamlessly display UIs from apps running from different machines on the remote LAN (reliable network). This latter feature is more of a "nice to have" feature than a requirement though.

  37. Wake up! by Roadkills-R-Us · · Score: 5, Informative

    I was appalled at how many folks jumped on Keith after the initial /. article. I mean, they were basing their responses on a one-sided tale.

    I knew Keith back in the X Consortium days, before anyone was even attempting a serious port to X86 boxes - because they were just too pathetic. Keith has always had an excellent attitude, and cared deeply about the technology, the developers, and the user community.

    If Keith has problems with the way something is being handled, only a *fool* would refuse to listen. And that doesn't say much for the folks at Xfree86 who kicked him out, with essentially no notice.

    If you've paid any attention at all, XFree86 has been slowing down. Releases get slower and provide less. The driver issue is well documented already.

    The X Consortium did far more with far less than XFree86 has been doing the last couple of years, and (IMO) did it much better.

    I haven't been involved in XFree86 (I haven't even tried to for several years), so I don't know what the underlying problem is. But I would definitely listen to Keith, and to David Wexelblat, as well.

    Maybe, just maybe, we'll get something that works.

    [And for those who want to chuck X, well, go use Windows, or suggest a better alternative. To date, I haven't seen anything close. And if you didn't have to live in the pre-X11 world, you have *no* idea what you're proposing - unles syou have that alternative handy.]

  38. hmm by krilli · · Score: 5, Insightful

    i was optimizing my mandrake system for audio use, which meant installing a pre-emptible and low-latency patched kernel source package and recompiling it for my specific cpu / architecture

    and that meant X turned from snappy enough to blisteringly fast

    what is the problem with X then?

    the problem is that the linux kernel is optimized on most distibutions NOT for low latency but for high throughput, due to its being used mostly for server boxes.

    so if you actually take the time to either pick a kernel that is suitable for desktop use or compile one yourself (which I duly recommend, I learned a LOT from doing so) you have a high-latency/high-througput server kernel. X being slow has nothing to do with X itself, but on the kernel that is running underneath.

    your comment about kernel tweaking is sort of like playing quake 3 on a p66 and complaining that its slow and ID software told you to (gasp) TWEAK YOUR COMPUTER! Unthinkable!

    --
    Jag pratar lite svenska.
  39. Re:my suggestion by nathanh · · Score: 3, Interesting
    ACK. And local sockets are very simple. Effectively slightly slower but almost as fast as direct memcpy calls to video memory. In fact, local sockets _are_ just all memcpy calls to some memory address :) Very fast under many unixen. Heck, we can have client-server and it costs virtually nothing. I say we keep it.

    There are other costs. Encoding/Decoding are the big ones. Context switching is another.

    The real question is, if you removed these two sources of inefficiency, what would be the actual speedup in terms of graphics performance. For 3D it was lots, therefore the creation of the DRI to provide direct rendering. For 2D? Best guess is almost no improvement at all; the hardware is not capable of going faster. The only exceptions are bandwidth beasts like video that have been solved in other ways.

    If somebody wanted to prove the point they could write DRI/X11 as a complement to DRI/MESA.

  40. X needs a fork by Error27 · · Score: 3, Interesting

    I was initially skeptical of Keith Packard's fork but after reading his email, I support it. He addressed the issues that I have been complaining about for years.

    KeithP is one of the few people who could make a fork work.

    I have a hard time with David Wexelblat who doesn't work on XFree86 and doesn't even believe in it, insulting one of the key developers.

  41. Er, you do. by Doktor+Memory · · Score: 2, Informative

    Just as Linux, BSD, SCO and a few others all provide implementations of (more or less) the "UNIX" specification on i386 hardware, there are multiple implementations of the X11R6 standard on i386-based unixes.

    If you don't like XFree86, the folks at XiG would be happy to sell you a copy of AccelX. MetroLink systems still offers Metro-X (which was the bomb back in the RedHat 4 days...dunno about now), and if you don't have any money to spend, you can still download, compile and use the honest-to-god MIT/XConsortium X11R6.6 server.

    If you want a windowing system that's not based on X11, your options are a bit more slender, but they're there. The Fresco project (formerly "Berlin") looks promising, as does PicoGui.

    --

    News for Nerds. Stuff that Matters? Like hell.

  42. Re:Wexelblat is right, network transparency pointl by lobotomy · · Score: 2, Interesting

    99% is an absurdly high estimate. If you remove network transparency, you destroy X for hundreds of users here who use it every single day.

  43. Re:Wexelblat is right, network transparency pointl by Hard_Code · · Score: 2, Insightful

    At which point it would no longer be X, in which case you might as well just start a new project (or fork).

    --

    It's 10 PM. Do you know if you're un-American?
  44. The future of X by Netmonger · · Score: 3, Insightful

    Well - one thing for sure I think after reading the article..

    'Wexelblat shouldnt have anything to do with XFree86 or X anymore..

    He very obviously doesnt believe in it anymore - if he ever really did.

    This isnt the kind of attitude you want having ANY control over XFree86 or X.

    Ex:

    "client-server display systems are utterly irrelvent to the majority of real-world computer users.."

    are you kidding me?!?

    what a dick!

    Perhaps Keith Packard wasnt trying to 'subvert' anything..

    Perhaps he was trying to start a revolution - that looks like it might be needed.

    --
    -- NeTMoNGeR
  45. Re:Could this be it? by g4dget · · Score: 2, Interesting
    AFAIK, it is either mass bitmap-copy, or use a "special" local native API that circumvents the network transparency (really, what are you going to do send opengl commands over the wire to the client [i.e., window server]??).

    Well, what do you imagine would be the alternative to "sending commands over the wire"? X11 and NT do pretty much the same thing when you run them locally.

    Under NT, the window system lives in the kernel, and graphics is usually drawn by a co-processor. If you call that "local native API" on Windows, be it for 2D graphics or 3D graphics, it enqueues your request in some buffer somewhere, eventually it switches to the graphics subsystem, the graphics subsystem enqueues the request with the graphics co-processor, and eventually, it gets executed and you probably get an acknowledgement.

    Under X11, you call an Xlib function and it enqueues your request somewhere. Eventually, the system switches to the X11 server, which gets the request out of the queue, enqueues it with the graphics co-processor, and eventually it gets executed and you get back an acknowledgement. X11 servers on UNIX/Linux usually happen to use unix-domain sockets as the mechanism by which to get the enqueued requests from the clients to the display server (in addition to shared memory for bulk data transfers); that's because unix domain sockets are pretty much as efficient as you can get for this purpose. If NT had invented some mechanism that was faster (and I don't think it has), one could use that with X11; then, you might connect to maybe "super-duper-comm/:0" as your display, instead of ":0".

    Note that if you use "localhost:0" instead of ":0", your X11 server will run much slower, because "localhost:0" really does have to go through parts of the TCP/IP stack. But ":0" really does use a very efficient IPC mechanism.

    Now, both X11 and NT, and I mean both, give you some additional hooks (DRI, DirectX) that let user-mode programs ask nicely and get some "direct" access to the hardware. But that is obviously not a tradeoff many non-game programs make, and for good, practical reasons.

    Note in particular that for 3D rendering, all of this has been worked out and happens transparently under X11 *:

    OpenGL-based programs must link with the libGL library. libGL implements the GLX interface as well as the main OpenGL API entrypoints. When using indirect rendering, libGL creates GLX protocol messages and sends them to the X server via a socket. When using direct rendering, libGL loads the appropriate 3D DRI driver then dispatches OpenGL library calls directly to that driver.
    Basically, X11's capabilities and performance are a superset of those of NT's graphics system: X11 handles the local case as efficiently as NT, using shared memory and "direct" hardware and memory access where possible, but falling back to other communications channels when needed.
  46. Fonts by jbolden · · Score: 2, Informative

    If you're really afraid of all this change, then feel free to continue running X11R5 or something that will keep you back in the dark ages where fonts are jagged and your modelines are fixed.

    Just to point out. If you are using the large paper white XTerm monitors from the late 80's early 90's Xfonts look wonderful. PC monitors are generally not 75 or 100 dpi. Take your windows system and change the dpi to an X setting and you'll get the same problems.

    The issue with jagged fonts on clients is clients not having the right font sets.

  47. Re:Could this be it? by Sentry21 · · Score: 3, Insightful

    Yes, it is true that if people wanted to, we could move X11 into the kernel, in analogy to what NT did. We have moved the NFS server into the kernel for the same reason. X11 is probably leaner than the NT graphics subsystem that got moved into the kernel, so this wouldn't be a big deal. However, we really don't need the maintenance nightmare. Keeping X11 in user mode is a sensible choice, even if it costs some performance.

    I don't think the original poster is talking necessarily about moving the whole of X11 into kernel space. I think rather what s/he is talking about is moving the graphic sybsystem into kernel space and letting whatever else draw to that.

    Example that I like to use: Darwin/OS X. The kernel contains the framebuffer driver, and provides a CoreGraphics API to applications. XFree86 has even been modified to use this interface on Darwin, with the benefit that it doesn't have to maintain its own drivers, it doesn't have to run as a privileged user, and, quite frankly, it won't blow shit up like it tends to on Linux.

    I think this makes a lot of sense. Put the low-level stuff like video *drivers* into the kernel, then export a standard API that people can use. Let Berlin or XFree or an SVGALib wrapper or whatever use those calls on different virtual terminals, and switch between them. Have the kernel keep track of who's doing what, and ignore whoever isn't front and centre.

    It would certainly remove the mess, but it wouldn't help the 'other' distros that weren't the ones that got the driver support (i.e. someone writes Radeon driver for Linux kernel, under GPL, someone else has to write one for *BSD).

    --Dan

  48. Re:Whoa there, cowboy by dh003i · · Score: 4, Insightful

    Misconceptions. Flexibility and modularity do not imply performance costs. In fact, they imply the possibility to optimize performance. If something is inflexible, you get what you get, even if you don't need all of it's superflous features. That's an unnecessary performance hit. If something is modular, you're free to mix and match parts to choose the best performing ones.

    I think alot of people have the misconception that having more layers between applications and the hardware slows things down. That is not the case. Those formal layers (as introduced by the X11 protocol) are just abstractions of what would have to be there anyway. They end up reducing bloat and memory consumption, as well as saving programmers time, so that every programmer who wants to make a 3D visualization program doesn't have to reinvent the wheel by recoding into his application how to access and manipulate the graphics-card/monitor.

  49. Re:XFree Obsolete? by kalidasa · · Score: 2, Interesting

    People need to stop complaining about X's fonts. Just use the same TrueType fonts you would use on OS X or Windows (some of them are free as in beer). RTF Font Deuglification HOWTO, for heaven's sake. Open Source fonts are a very, very difficult deal, as fonts need to be coherent from script to script, and have a single artistic vision behind them to be satisfactory.

  50. Re:Your logic is flawed. by Christianfreak · · Score: 2, Insightful

    While I agree with most of your post the idea that we shouldn't care about people who don't use KDE or GNOME because they are a small minority is a very dangerous attitude to hold. Linux and XFree for that matter have always been about configurability, even if there aren't that many people who choose to use something else these days they should still have that choice. I mean by that logic we should all be running Windows because that's what the majority runs, right?

    I guess my opinion comes from the fact that I'm very happy with BlackBox, run it at home because I have an old machine and KDE or GNOME is just too much bloat for it. But I like it so much that I run it at work even though I have a decent machine. I do want a unified desktop but I will really rejoice the day that my apps look and act the same no matter what window manager I use!

  51. Myth of X slowness by crucini · · Score: 4, Insightful

    It's wrong to blame X for slowness. The real problem is the incredibly bloated and slow GUI apps and window managers, and possibly the modern GUI toolkits. Blackbox/Fluxbox/IceWM are very fast. Properly made X applications like xfig are very fast. The Mozilla family of apps has something pathologically wrong with it - nothing should be that slow. The Gnome/KDE stuff seems to me just barely acceptable on a fast machine, but clearly it's bloated and inefficient.

    Quit blaming X. That's not where the speed problem is. As for difficult and complicated - your right. But mature technologies that properly handle a wide variety of cases tend to be that way.

    1. Re:Myth of X slowness by sigwinch · · Score: 5, Informative
      It's wrong to blame X for slowness.
      Especially since XFree86 comes with a nifty benchmarking tool called x11perf. If I run "x11perf -eschertilerect500", which draws a 500x500 black and white tiled image, I get 1400 updates per second. That pixel rate corresponds to 182 FPS updating a full 1600x1200 screen. Not too shabby. "x11perf -rgbftext" does something similar but draws 12 pixel text, and gets 36,000 updates per second. I'm running a Radeon 8500 and an Athlon XP 1800+; slower hardware is proportionally slower in my experience. So the raw graphics performance of XFree86 ain't too shabby.

      What about packing and unpacking the X11 "wire" protocol? Modern CPUs (i.e., any CPU that lives and dies by its L1/L2 caches) are limited by I/O bandwidth. As long as the un/packing isn't totally insane, that CPU will spend most of its time waiting for data. Sure, you can shave off some percentage points by going to an optimal binary encoding but Moore's law means you're just polishing the brass on the Titanic. Um, maybe that's not the best metaphor...

      The real problem is the incredibly bloated and slow GUI apps and window managers, and possibly the modern GUI toolkits. ... The Mozilla family of apps has something pathologically wrong with it - nothing should be that slow.
      Moz *is* a pig, but on this machine even it can scroll the /. comment page for this story with no perceptible lag.

      IMHO the real killers are:

      1. Slow anti-aliased fonts. I nearly wiped Red Hat 8.0 off my hard drive before I found the option for turning off AA fonts. (At 1600x1200 they're more of a liability.)
      2. Some video card drivers are slow.
      3. Some apps do things that suck under X, like loading common images to the server *every time they're displayed*.
      4. Window managers do dumb things, like excessively redrawing apps when you switch virtual terminals.
      5. Poorly-implemented eye candy. It's pretty easy to kill performance if you go sticking shading and bitmaps on all your widgets.
      --

      --
      Kuro5hin.org: where the good times never end. ;-)

    2. Re:Myth of X slowness by Ed+Avis · · Score: 3, Interesting
      It's pretty easy to kill performance if you go sticking shading and bitmaps on all your widgets.

      Given that so many popular widget sets / window managers / desktop themes do like to stick shading and bitmaps on everything, and that many users think this looks kewl, and that in any case Mac OS X and other systems seem to exploit the video card's hardware to do this stuff quickly, wouldn't it make sense to fix the X protocol so that such eye candy can be displayed without slowing the system down too much?

      --
      -- Ed Avis ed@membled.com
    3. Re:Myth of X slowness by spectral · · Score: 2, Insightful

      Ok, then try and watch a video in windows without overlays, and see how slow the windows renderer is. Oh, wait a second, it performs like ass too? Damn, I never would have thought that could possibly happen.. using x11 as a method is flawed, they just can't handle thigns like that. xv/overlays/etc. are the only way to get decent performance.

    4. Re:Myth of X slowness by guzzloid · · Score: 4, Insightful

      It's wrong to blame X for slowness.

      Rubbish. On my home machine, Win2K is fast, X is slow. I'll address your points individually: 1 .Slow anti-aliased fonts.

      I have anti-aliased fonts in Windows. It ain't slow. If X provided a decent standardised AA fonts interface that was correctly integrated into it's core functionality, then this wouldn't be a problem. AA font rendering should not be that CPU or GPU intensive. It's been around for years -- it's not THAT hard a problem. If a PDA can do sub-pixel font rendering, then a Pentium III shouldn't have much of a problem.

      2. Some video card drivers are slow.

      Agreed, but most of the intensive rendering on my machine is using the same driver (nvidia). If pixmaps didn't have to be uploaded to the server, then perhaps there wouldn't be a problem. If uploading to remote servers was transparent, and handled by the windowing system itself, then it shouldn't be a problem.

      4. Window managers do dumb things, like excessively redrawing apps when you switch virtual terminals.

      Yes this does happen. But have you ever compared the number of redraws under X, compared to the number of redraws under Windows by running on a slow PC? Windows does much more redrawing (how many times does it really need to draw my desktop icons every time I press Win-M, for example?!) yet manages to run its display faster than X on most systems. Again, eye candy is fast on Windows, slow on X, on the same machine with the same drivers and the same video card.

      5. Poorly implemented eye candy. If X had decent alpha-channel support, decent pixmap caching and hardware accelerated shading or speedy direct rendering, then we wouldn't need poorly-implemented eye candy hacks.

      C'mon, I like X, and it's got a lot going for it; but I can't pretend it's not a slow resource hog. X can't even blit a window around the screen at full speed. And that isn't my video card slowing it down(my card can do this in it's sleep), or my drivers(because I can do it blazingly fast using GGI, DirectFB, or SDL): it's X itself.

      In short, I think all of these concerns could (and should) be addressed by improving the underlying X architecture. The app layer needs to be brought closer to the hardware display layer.

      And while we're on the subject, can't somebody come up with a decent accelerated video display architecture that works on the console and under X. Sure, it can be done: but do you use GGI, KGI, SDL, DGA, X11, DirectFB, plain framebuffer, svgalib, ... ?? Surely somebody sees the need for a unified linux display architecture? Would save a hell of a lot of heartache writing video drivers..., not to mention choosing APIs...!

      Don't ask for much, do I? ;-)

    5. Re:Myth of X slowness by J.+J.+Ramsey · · Score: 2, Insightful

      "I have anti-aliased fonts in Windows. It ain't slow"

      Um, Windows does *not* antialias fonts in the normal range of point size because it tends to just look fuzzy. Unless you regularly look at 7-point or 24-point fonts in Windows, you probably have rarely seen font antialiasing at work. What Windows *does* do is use font hinting to make the fonts readable at different point sizes. However, that is not the same as antialiasing.

    6. Re:Myth of X slowness by guzzloid · · Score: 2, Interesting

      I know this. It's a feature -- who wants to look at blurry fonts all the time? But your post doesn't change the fact that AA fonts under Windows do not seem to impact the general responsiveness of the system. So why should they do so under X?

      If my display hardware can shunt polygons and surfaces around with hardware alpha channels, bi- and tri-linear filtering, and my cpu is capable of rotozooming entire screenfuls of pixels with bilinear filtering, then I think it can probably cope with a few anti-aliased fonts. Especially as there are so many clever tricks that can be used to accelerate this process.

      To highlight this point, I am posting this message using 600% zoom using Opera under Win32 ;-)

  52. DirectFB by vandan · · Score: 4, Insightful

    I'd like to see DirectFB take off.
    It looks pretty cool and is quite fast.
    Don't know how practical it is or what issues are involved, but anyway if the X ship is sinking, I'm voting for DirectFB.
    Of course the X boat is not sinking though.
    All those who are sick of X can just stop using X, and see how you go ... ha! I don't know what most people are whinging about. X is incredibly fast on my computer. I run Enlightenment-0.16.5 and Enlightenment-0.17. And yeah I use network transparency a little. That's cool too. And my games run swift as lightning. Direct Rendering is sure working. Is X really that bad that people need to dump it and start again? I'm not convinced.

  53. XFree86.org = ICANN by dh003i · · Score: 4, Interesting

    Quite frankly, the whole stink with XFree86 reminds me very much of ICANN. Technological snobs who won't listen to anyone else, have closed off public participation, aren't transparent, and now are defaming someone who rightly criticizes them. Furthermore, they are blundering. Why should Xfree86 drivers not be modularized? I only have one fucking video card. I don't need to download the drivers for every video-card Xfree86 supports. Xfree86 has also done an atrocious job of integrating the latest drivers from graphics chip corporations, like ATI. Their failure to promptly incorporate these drivers has alienated hardware developers. Why should ATI spend millions of dollars to make drivers for XFree86, if it takes them so long to incorporate them?

    The actions of XFree86.org convince me that they want to restrict user choice in the GNU/Linux world, and prevent anyone else from running any X11-implementations other than XFree86. Their refusal to modularize drivers is one thing convincing me of this.

    I can not think of any major projects which are as poor as XFree86 in regards to including the community and being accountable to the community. Many of the people within that "organization" are in fact figureheads who don't even believe in XFree86, like one of the founders linked to. If you don't use XFree86 at all, and only use Windows, then imo, you have no business being part of an XFree86 team.

    Keith is right to fork off XFree86. He has tried to address his concerns from within the organization, and has been unable to do so. Just like Auerbach. There is only so much one crusader within an organization can do when the rest of the organization is bent on corruption.

    XFree86 is proof that even a project covered under a license approved by the OSI and the FSF can be corrupt and non-transparent.

  54. At attempt at reason by Ogerman · · Score: 3, Interesting

    It seems to me that all parties involved need to cool down and then come back to the table with a reasonable attitude and work out these issues. Keith has some valid points about the sluggish response of XFree86 development in certain areas, although I disagree with his means of protest. A fork would likely only cause chaos and be detrimental to the cause of unified desktop standards and Open Source acceptance. It is my opinion that there are times when standards and compatibility are far more important than performance and eye candy.

    Keith, if you are listening, may I suggest that you formally and thoroughly document your objections to current XFree86 development and provide constructive criticism on how it might be improved? If there are technical complaints, such as relating to performance, perhaps you can write code to prove the need for change.

    XFree86 team, if you are listening, may I suggest that a patch tracking feature be added to the official web site? For example, if a patch is submitted to support a new XRender feature but not yet committed to CVS, show this and offer the patch for download right there. As a user, it greatly frustrates me to not have any idea when new features and support will be added and you must admit, the XFree86 release cycle is rather slow. As a user/developer, it would be greatly beneficial to me if I could see precisely where the work is being done. And if extra help is needed in some area, advertise this openly. Relating specifically to driver patches, may I suggest that driver changes be added with far less caution than changes to core libraries? I personally believe that if someone like responsible like ATI submits a patch to support their latest hardware, there is absolutely no need to sit on that patch. Get it out there and get it tested ASAP.

  55. Two display methods needed by Trolling4Dollars · · Score: 2, Insightful

    Before I start this, I have to make sure that people reading it actually "get" what XFree86 is. A lot of people who complain about X (in the generic sense) think that it IS the GUI. They see that X shaped cursor and the 50% gray background and think "ewwww!" But what they don't understand is that the "GUI", as they perceive it, is really an environment like KDE or GNOME. Assuming we are talking KDE... you need X for KDE to run and vice-versa. They are interdependent. I can't tell you how many times I've heard people say "I like KDE better than X Windows". With that said:

    After reading some of the comments on the OS News board, it seems to me that there are two needs arising out of the discussions:

    -Continuing development of XFree86 and it's robust feature set (many of which are sadly lacking in Windows unfortunately)

    -A completely new non-networkable direct rendered system (more like the Windows approach)

    First of all, to make my case, I will tell you to think of it in terms of a standard console vs. a framebuffer console. They both have their place for two different types of users. In the same way, a system like XFree86 and some new direct rendered display system will have acceptance with certain kinds of users.

    I, personally, love XFree86 and all it has to offer. It performs very well for me on a local workstation as well as over my home network and at my place of employ. Displays are easily exported on a per application or per session basis as needed. And with the LBX proxy, I can use it when VPNed into my workplace.

    It's VERY flexible: I typically run 3-4 X servers on my workstation and laptop so that I can dedicate full screens for certain things at different resolutions or run under different users simultaneously on each display. (To those in the know: How's that for fast user switching? XP cough cough... :) Ctl-Alt-F8 and you are one user, Ctrl-Alt-F9 and you are another, etc...)

    For example, if I am playing a game (Sierra's Lighthouse for instance) under Wine, I like to do it full screen, with no desktop environment at all. Just the game. What's even nicer is that I can actually make the display large enough the Lighthouse isn't a small window with black space around it, it almost becomes full screen. Same thing with Riven. All this while I still have IRC downloading the latest episode of Enterprise in another session as another user. All I need to do to check on my download progress is the Virtual Console key combo.

    Now... I will say that if a project starts up to provide a direct rendered system. This could actually be a good thing. It would probably meet the needs of the generic home user fairly well, and remote desktop services could be provided by something like VNC or an RDP clone. I do admit that Joe Average is probably going to have little use now and in the future for X type capabilities. So, this new system should be packed with other "consumer" features. Specifically, the 3D support for games, DVD and MPEG acceleration where applicable and TV in/out support for cards that have such features. A project like this would do a lot to make Linux more palatable to the average consumer. All a distro would have to do then is break down their distros into categories (RedHat for example):

    -RedHat "Lite" - A distro for the average consumer that is rypically pre-installed on new systems. No X, no devel tools, no servers, just a very basic OS that allows them to safely get on the Internet, run some productivity apps and play some games.

    -RedHat "WS" - As it exists currently. With X (just the direct rendering system that people are alluding to), devel tools, basic servers and some of the enterprise features that power users crave.

    -RedHat "Collection" - Capable of installing every distro from one set of disks. You just choose which distro combo you want.

    So... don't bash X because you don't understand it. It's a great system with a great feature set. It would be nice to see 3D acceleration networkable or even clusterable though...

  56. There was a reason for the shakeup in FreeBSD by phkamp · · Score: 5, Insightful
    All I can say is that there were a lot of similar reasons why the FreeBSD project went from a self-elected core team to a core team elected by the committers.

    Reading Wexelblats email where he basically tells people that this is none of their business, is like hearing an echo of the argumentation launched against new bylaws in the FreeBSD project.

    If David is not actively contributing to XFree86, he has no business telling anyone how to run the project.

    I think the active developers of XFree86, both committer and non-committers, should grab a copy of the FreeBSD bylaws and elect a new core team.

    The FreeBSD bylaws are far from perfect, but it would be enough to get started and once the dust has settled, a revision to more closely match the needs of the new project can be made.

    --
    Poul-Henning Kamp -- FreeBSD since before it was called that...
  57. Optimize your system... by cdemon6 · · Score: 2, Informative

    XFree is probably not the problem. I'm running debian unstable with kernel 2.65 (preemptible + linus desktop improvement patch), kde 3.1 with mosfets high performance liquid style engine, optimized nvidia drivers and Xfree 4.2.x atm and it is incredibly fast on my machine.

    ok, it's an athlon xp 1800+, but it is way smoother that windows XP running on the same machine, and i would describe the "feeled" improvements as follows:

    XFree 4.2: can't recognize any speed differences

    nvkernel: opengl support, no differences for ui

    preempt: avoids glitches on heavy load, a must

    2.5.65 kernel: ui stays responsive even on heavy load, very cool.

    liquid style engine: incredible performance boost.
    the whole kde ui gets rocket fast and responsive after switching to it. just try it! :)

    sure, it's bleeding edge system, but i have no stability problems atm and kernel 2.5/2.6 will be in distributions soon, too...

  58. Let me get this straight: by 10Ghz · · Score: 4, Insightful

    David Wexelblat is in the Xfree BoD. He's also a core-developer. He flamed Keith Packard because of what he has done. What has Keith Packard done for Xfree recently? Among others:

    a) Fontconfig
    b) RENDER-extension
    c) Xft
    d) Work on transparency

    What has Wexelblat done recently? According to his owns words:

    a) He hasn't hacked Xfree in years
    b) He uses Windows these days
    c) If he will code something (unlikely), it will be for Windows
    d) Only thing he does related to Xfree is to lurk in the core-devel mailing-list

    And here we have Wexelblat flaming Packard! Hello!?! Of the two, it seems that Packard cares ALOT more about Xfree than Wexelblat does! He actually works on it and improves Xfree, while Wexelblat plays Myst on Windows! Looking at their recent activities, Wexelblat should just shut the hell up. He hasn't done a thing, who the hell is he criticizing Packard!?

    Wexelblat should be kicked out of the BoD and Core and replaced by someone who wants to work on the project and improve it! It's no wonder Xfree has stagnated if there are core-members like Wexelblat who haven't contributed to the project in years! Ironically, it was he (if I remember correctly, could have been someone else as well) who kept reminding that "Xfree is a meritocracy". If it's a meritocracy, why are there useless deadbeats like Wexelblat in Core? Because of their past accomplishments? Maybe Wexelblat was an uber-hacker 10 years ago, but TODAY, he contributes nothing to the project.

    --
    Lesbian Nazi Hookers Abducted by UFOs and Forced Into Weight Loss Programs - -all next week on Town Talk.
  59. Hmm Interesting by Space+cowboy · · Score: 2, Interesting

    My hardware is a G400 (I like the dual display) and Athlon 1800+. I get virtually identical results. At first I assumed (because a G400 shouldn't be anywhere near a Radeon!) that it was CPU-bound, but then I tried a remote-invocation as well, and got virtually the same results (see below). There's a 100mbit link between the two machines, if that matters...

    This implies to me that there is a limitation on the number of requests per second that the X-server (irrespective of driver) can do, and that perhaps should be addressed. Either that, or a G400 really is the same speed as radeon 8500... The link to 'tanelorn' is via ssh as well (so it's encrypting and decrypting everything in the protocol stream...)

    [simon@atlantis ~]$ x11perf -eschertilerect500
    x11perf - X11 performance program, version 1.5
    The XFree86 Project, Inc server version 40200000 on :0.0
    from atlantis.mythology.gornall.net
    Sat Mar 22 11:03:29 2003

    Sync time adjustment is 0.0537 msecs.

    8000 reps @ 0.6795 msec ( 1470.0/sec): 500x500 tiled rectangle (216x208 tile)
    8000 reps @ 0.6850 msec ( 1460.0/sec): 500x500 tiled rectangle (216x208 tile)
    8000 reps @ 0.6794 msec ( 1470.0/sec): 500x500 tiled rectangle (216x208 tile)
    8000 reps @ 0.7947 msec ( 1260.0/sec): 500x500 tiled rectangle (216x208 tile)
    8000 reps @ 0.6966 msec ( 1440.0/sec): 500x500 tiled rectangle (216x208 tile)
    40000 trep @ 0.7070 msec ( 1410.0/sec): 500x500 tiled rectangle (216x208 tile)

    [root@tanelorn denyaccess]# x11perf -eschertilerect500
    x11perf - X11 performance program, version 1.5
    The XFree86 Project, Inc server version 40200000 on localhost:11.0
    from tanelorn.mythology.gornall.net
    Sun Mar 23 11:10:28 2003

    Sync time adjustment is 1.1608 msecs.

    8000 reps @ 0.6954 msec ( 1440.0/sec): 500x500 tiled rectangle (216x208 tile)
    8000 reps @ 0.7964 msec ( 1260.0/sec): 500x500 tiled rectangle (216x208 tile)
    8000 reps @ 0.6852 msec ( 1460.0/sec): 500x500 tiled rectangle (216x208 tile)
    8000 reps @ 0.6833 msec ( 1460.0/sec): 500x500 tiled rectangle (216x208 tile)
    8000 reps @ 0.6844 msec ( 1460.0/sec): 500x500 tiled rectangle (216x208 tile)
    40000 trep @ 0.7089 msec ( 1410.0/sec): 500x500 tiled rectangle (216x208 tile)

    One other thing. I *like* X. I really couldn't live without the network transparency - editing files in co-located facilities via ssh with X-forwarding is just *so* much nicer than using 'vi'...

    Simon.

    --
    Physicists get Hadrons!
    1. Re:Hmm Interesting by hurtta · · Score: 2, Interesting
      One other thing. I *like* X. I really couldn't live without the network transparency - editing files in co-located facilities via ssh with X-forwarding is just *so* much nicer than using 'vi'...

      Yes. I agree.

      However, I have noticed that on some newer linux (perhaps much newer emacs), command "emacs" tend too take too long time to start, so I ended to quite often to use "emacs -nw".

      Well, these newer emacs tend to be slower on startup even on text mode (but not that bad than on X11) compared to machines where software is about 5 year old.

      (these all: ssh with X-forwarding)

  60. Users message to the XFree team/project by zopeuser · · Score: 2, Interesting

    This thread is really exciting with lots of agression being worked out. I need to point out that XFree86 has been really fabulous for me. I have used Linux since 95 (Caldera, Redhat, now Suse) and I could not be as productive as I am without it. I have never had a problem with the windows. (I use KDE). I read my mail (kmail), browse the web (Mozilla/Konqueror). But mostly I use xterm/kconsole. I may not be in a majority, but I am one of a sizable number of users (English speaking) who don't experience any of the problems described in this thread. I don't want to go on, but You guys have done a fantastic job. Work it out. As dogbert would say, 'try to separate the personality from the problem'.

  61. Re:Could this be it? by nathanh · · Score: 3, Insightful
    Something like DRI (which is 3D-specific), would be extremely impractical for 2D.

    You're talking out your arse. The DRI is a direct rendering infrastructure. It applies just as well to 2D as 3D. For example, from the DRI website

    "The term direct rendering infrastructure does not only imply 3D graphics support. From the beginning, the DRI was designed with flexibility such that it may also be used in other areas such as video I/O. That's a potential future project." [http://dri.sourceforge.net/doc/DRIintro.html]

    The DRI provides a direct rendering path. It's a mistake to think that the only library that could use that path is Mesa. Xlib (aka 2D) currently goes through a slow path; encode to socket to decode to DIX to XAA to DDX to hardware. A DRI/Xlib implementation could go straight from the client to the hardware. Practically you'd only use DRI/Xlib for bandwidth intensive requests. For everything else there's no real value in bypassing XAA.

    Your misunderstanding actually highlights a deeper problem. So many people are calling for XFree86 to be scrapped in favour of a direct rendering windowing system. That windowing system already exists and it's called XFree86.

  62. You misunderstand point #1 by Anonymous Coward · · Score: 2, Insightful

    Explorer/shell replacements are in no way analogous to an X server. You might call them "window managers" if you like, but that's as far as it can go.

  63. Fast GUI vs Network Transparency? by guzzloid · · Score: 3, Interesting


    I agree. In my previous job my main working machine was a Win2k box with PuTTY and a commercial X server installed. It's actually a very nice environment to work in -- I could use Explorer to administer and manage files on my remote linux server, editing PHP code with my favourite Win text editor (ConTEXT) and at the same time using Outlook (not my fave, but the company standard), and develop Win32 code. Best of both worlds. Plus I got to wow all my surrounding Windoze-only colleagues with impressive looking KDE themes! :)

    Without X's network transparency, I'd be upstairs on the linux box half the time, separated from colleagues, and reducing my efficiency.

    The only downside -- having to walk upstairs to change CDs occasionally! :-)

    However, I also see the need for a slimmer, leaner, meaner X, with a fast (perhaps even kernel-level?) direct rendering system, with less cruft. I have a lowly PIII 550 256Mb at home, and X is a bit of a pig; whereas Win2K's GUI just whizzes along nicely.

    I don't necessarily think that network transparency + a fast GUI are mutually exclusive. Surely it's possible to come up with a high-speed rendering and input API that could be controlled remotely via a swappable .so or something? Kind of a remotely-controlled 'layers.library' with locally-cached pixmaps for icons, etc?

    I can envisage something like an OpenGL-like pipeline, with a serialised command input, that could be streamed to a specialised hardware accelerated layer on the local machine, or via network to a remote display server? The remote server could afford to be quite minimal in this scenario - a glorified video driver with support for input devices. Surely most of the code necessary for a prototype of this system is already out there?

    1. Re:Fast GUI vs Network Transparency? by Fembot · · Score: 2, Insightful

      Why does everyone automaticaly assume that moving stuff into the kernel will result in speed increases??

  64. I find it funny... by WindBourne · · Score: 2, Insightful

    the number of ppl who wish to kill X while MS is struggling to get remote windows and multi user right. If X was such a disaster, then some group would spring up with lots of backing and take over (think KDE/GNOME). This forking is normal in the course of things. I suspect that Keith's work will shake up X and for a time, there will be 2 projects, but they will either merge back or work together.

    --
    I prefer the "u" in honour as it seems to be missing these days.
    1. Re:I find it funny... by WindBourne · · Score: 2, Interesting
      I know it well. The difference is that egcs was s fork that improved a product and was going down the same path as the original. This is different. There is a fundemental schism occuring inside of XFree that makes it closer to KDE/GNOME.
      • Politics: The group is closed and controlled from topside the way old companies do things.
      • Tech Vision: XFree's top ppl are wishing to move away from what makes X interesting and follow what has been popular and easier to do (yes, it has also been faster).
      This group should be split. I only hope that they come back together or that ideas merge. Perhaps the X group will become more open in the future.
      --
      I prefer the "u" in honour as it seems to be missing these days.
  65. Re:XFree Obsolete? by Vanders · · Score: 2, Informative

    The AtheOS get_msg_x(), send_msg_x() IPC has a much lower overhead than UNIX sockets, thats for certain. However, that is not the deciding facter in making the GUI more responsive than X; the kernel, appserver and libatheos are all heavily threaded, and the OS is tuned to suit a desktop user (E..g low latency at the expense of more context switches).

    As I'm posting this from a Syllable box with ABrowse, I can only really say that it feels much faster and more responsive than X. I am subjective and heavily biased however, so please take that with as many sacks of salt as you require ;D I would certainly be interested in seeing some real objective comparisions between Message Ports and UNIX Sockets, though.

  66. Re:Whoa there, cowboy by dh003i · · Score: 2, Insightful

    You have the misconception that just because those layers aren't explicitly stated in other cases that they aren't there. All those layers do is provide a resource for programs to call upon, so that programs don't have to have information coded into them about how to access and manipulate devices, drawing the UI to the screen. Having separate layers allows separate projects to work on optimizing those gritty details, and allows many programmers to ignore them, which is good. If every programmer had to program into his program how to access and manipulate devices, programs would be very large, and take up much more RAM. Hard-drive space would also be wasted. And every programmer would have to reinvent the wheel for no reason.

    Think of these separate modular layers as the computational equivalent of the assembly line, which created interchangeable parts, and modularity, and also allowed for the faster creation of products.