Slashdot Mirror


Keith Packard's Xfree86 Fork Officially Started

Reivec writes "I was having a discussion with Keith Packard on IRC about the current developments in the XFree86 Saga and politics already discussed here earlier, and I learned many interesting things. The project has a new website, xwin, and things are getting underway. 'We're in the process of building community, from that we can construct a government. It's a hard process to construct a representative system from what we have now, so it will take a bit of time. Weeks, not months. --Keith'" Read on for some more details. Update: 04/13 03:30 GMT by T : Reader Khalid points to this informative interview with Packard at Linux Weekly News, too. " The site is has only been up a day or so and there isn't a lot on it right now, but he would like to see a lot of community involvement on the site and many user submitted stories to get conversation rolling. A french site has already taken notice and posted some information on xwin as well. Since such a fork could make a large impact on many *NIX users, I felt the need to ask, 'assuming you had an active fork under development, how interchangable would you expect it to be with Xfree (assuming release builds). Do you think distros would be quick to change if it offered improvements? Or could they provide both and have the user choose upon installation?' Keith replied, 'Given that distros will have input into how it gets built, I expect they'd be interested in a version closer to what they need. And, given that RH and Debian maintainers are both actively encouraging changes, it's hard to see how they wouldn't want to follow. (or lead).' So if you have had any interest at all in the XFree86 development, this is definitely a community site you should take advantage of."

16 of 409 comments (clear)

  1. xwin- Quartz by Anonymous Coward · · Score: 5, Interesting

    It seems to me that if they are going to fork they might as well do something right from the ground up. They could build something like Quartz Extreme and then add the old version of X11 on top of it like Apple has done with OS X. Lots of possibilities!

    1. Re:xwin- Quartz by Overly+Critical+Guy · · Score: 5, Insightful

      This is so what we need. Starting over. Nobody wants to do it and hides behind the excuse of a veil of "volunteer work" that somehow implies nobody can criticize even if what you put out is inadequate.

      Yes, people realize it's volunteer work. But there need to be results, or just keep everything on your private network and never publicly release anything for fear that people will criticize it. The time for endless projects with lofty goals and ideals but substandard output is over. We're in that phase where we need to just get shit finished and done, and get it done right the first time.

      There will be the standard "So where is your project?" replies. They are no less ineffective and pointless than they have ever been. I'm simply stating an opinion, and as "volunteers" you can choose to disregard it. But that simply means the stagnation will continue, and criticisms like mine will continue.

      There are entire open source 3D engines, kernels, raytracers, and more that are excellently designed and work well, but we still don't have a decent graphical user interface desktop solution for Linux.

      "Either shit or get off the pot." - Randall, Clerks

      --
      "Sufferin' succotash."
    2. Re:xwin- Quartz by Man+In+Black · · Score: 5, Insightful

      This is so what we need. Starting over. Nobody wants to do it and hides behind the excuse of a veil of "volunteer work" that somehow implies nobody can criticize even if what you put out is inadequate.

      Don't forget that it's a freakin' buttload of work to do! X has been around for decades now... working to replace it isn't going to happen overnight, or probably even over the course of a year. Just look at Berlin (or whatever it's called now, I forget). It's been in the works for as long as I can remember, and as far as I know, the user base isn't exactly noteworthy.

      Replacing X is like abandoning the Earth to terraform Mars just because cleaning up the Earth is too much work....

      --
      -"One machine can do the work of fifty ordinary men. No machine can do the work of one extraordinary man." -EH
    3. Re:xwin- Quartz by FuegoFuerte · · Score: 5, Informative

      Remote X is not as widely used as it is endlessly hyped to be.

      Excuse me? I use it all the time. And that's just at home. Using my laptop for something? Pop up a display from my main box on my laptop. Makes things like keeping email synced so much simpler. Just use the same installation of the same browser. Forward X over SSH. Do all sorts of crazy and wacky things windows users can only dream about. Yes, the networked aspect of X is important. VERY important I'd say. If it weren't, why would Microsoft be trying to catch up to it? (RDP, anyone?) Yes, X has some issues, but the remote feature is one thing that absolutely should NOT go away.

    4. Re:xwin- Quartz by Metrol · · Score: 5, Insightful

      Don't forget that it's a freakin' buttload of work to do! X has been around for decades now...

      I don't believe the notion behind the xwin site is to replace X by starting over from scratch. This is more along the lines of where Berlin is headed.

      Based on the various linked articles, this will be a code fork, not a ground up rewrite. Take the stuff that works, then split it up into bite size chunks that individual developers can manage more efficiently. This isn't reinventing the wheel. Sounds more like trying to make it round again.

      --
      The line must be drawn here. This far. No further.
    5. Re:xwin- Quartz by Ozan · · Score: 5, Insightful

      I have to run X->xlib->window manager->windowing library->desktop environment->various daemons just to get a desktop equivalent to Windows 95.

      And your problem with it is what? Seems to me like you have an aesthetical problem with it. I think this chain of components is what makes unices so powerful and the lack of it why I dislike MS windows.

      It all feels cobbled together to me, and I get sluggish performance.

      Just because MS windows has a monolithic kernel/graphics renderer it doesn't mean it isn't cobbled together behind it's surface. X is just open about this from the beginning. Again this seems like you have just an aesthetical problem with this. And regarding the performance, benchmark tests show a negligible difference between X and MS Win, and why give up a pile of advantages just for a few more fps?

      Not to mention conflicting interfaces, dependencies, and so forth. You've all heard the standard complaints.

      Conflicting dependencies are a completely other field of unix, and dealing with this should be part of another developement.

      Remote X is not as widely used as it is endlessly hyped to be. If you want that, use the normal XFree86 project. Linux needs a real, innovative desktop environment. If you really need remote capabilities, can't it be added on or kept as a separate build option?

      Oh no, not again. For the last time, the problems of X are not caused by the remote capability unless you show different. And to do that, there is more needed just to say "X has remote capabilities, MS Win has not, X has disadvantages in comparison to MS Win -> X is disadvantaged because of the remote capabilities."

    6. Re:xwin- Quartz by be-fan · · Score: 5, Informative

      Why the fuck does everyone thing that the remote capability adds overhead to X? X communicates via UNIX domain sockets (very fast in Linux) over a local connection. In Windows, GDI.dll communicates with the kernel via LPC (lightweight procedure calls, another form of IPC). For any of these mechanisms, shunting IPC communication to a remote connection is trivial and has no performance impact in the general case. Hell, even with COM, something much more low-level (which is based on C++ virtual function calls) network transparency has no performance hit in the local case.

      --
      A deep unwavering belief is a sure sign you're missing something...
  2. Re:Uh oh. . . by dspeyer · · Score: 5, Interesting
    We're in the process of building community, from that we can construct a government.

    Sounds kinda totalitarian to me. . .

    Actually, it's strangely democratic. Seriously, the vast majority of successful Open Source projects have a single maintainer. X hasn't, and some might speculate that that's part of it's problem. I guess this has to be done to attract a large number of old X developers, but I really wonder if a benevolent dictator could make things work better (and if not, just use XFree86).

  3. Re:So, what now? by Anonymous Coward · · Score: 5, Insightful
    X development has been somewhat slow, but it seems like the really big issue has always been drivers -- is there any way that new leadership can help get specs from manufacturers?

    On previous discussions of the (then) possible fork right here on slashdot, I remember reading how ATI had sent the drivers to the XFree86 fellows. Months passed, and the drivers hadn't been incorporated yet (and if memory serves still aren't). And doesn't that just discourage manufacturers from supporting linux?

  4. Not a surprise. by mrsam · · Score: 5, Insightful

    If I were to guess, several months ago, what fundamental OSS project would fork next, I would've picked XFree86. The signs were all there. Slow pace of development. Closed inner development core. Bugs left unfixed.

    I'm about to upgrade my machines. The new release comes with XFree86 4.3.0. I'm already aware of some stuff that works in 4.2 but is broken in 4.3. There was no response to a couple of bug reports that I sent in last year, so it's not a surprise to me.

    I'm waiting the obvious forthcomming trolling, from the peanut gallery, about the fork, and how its going to be fodder for the OSS lobby. I do not find it a problem. I see it as a natural evolution of things. It's just like 4-5 years ago, when RMS was dragging his feet on gcc development, egcs got forked, and eventually became the new gcc. Right now, gcc 3.2 is a damn good compiler, and I doubt that we'd have it, without that fork.

  5. Re:So, what now? by Soko · · Score: 5, Interesting

    X development has been somewhat slow, but it seems like the really big issue has always been drivers -- is there any way that new leadership can help get specs from manufacturers?

    Getting drivers for X doesn't seem to be a problem, as long as those drivers are binary. I know, I know, Free Software, blah blah - however, if we're to turn these people to our side, we have to be sensitive to thier needs. In that vein, if xwin comes up with a clean, consistent API (perhaps even one that's linked into DRI or some other interface in kernel space) that all the video harware vendors can write to, without spelling out to thier competition how to trouce thier products in the next rev, they'll do much better I'm sure.

    Editors: can we get Keith for a /. interview?

    Please!

    Soko

    --
    "Depression is merely anger without enthusiasm." - Anonymous
  6. the usual misconceptions by g4dget · · Score: 5, Informative
    1. Performance. There needs to be some serious performance boosting. Rip out a whole lot of fluff. Honestly, how often do you need remote xwindows? Yes, there is a use for it, but that should be a seperate build altogether.

    There is no "fluff" there. X11 runs as a separate user-mode process from applications. That means that commands to it need to go from the user process to the display process. X11 uses an asynchronous protocol and a mixture of shared memory and UNIX-domain sockets. And for games and other applications, there is DRI.

    It happens to be the case that the X11 protocol and semantics are well-enough defined that the same protocol works over fast networks, but you don't pay anything for that.

    Macintosh (as far a I can tell) works the same way: a display server, user mode applicatins, and some IPC mechanism connecting them. The only reason remote display for the Mac doesn't work like X11 is because it lacks some high-level primitives.

    Windows used to start out as a frame buffer library, but it, too, works pretty much like X11 these days: asynchronous communications between user-mode processes and a display server running in a separate address space. The only thing NT/XP do differently is that the display server runs i the kernel. You could put an X11 server in the kernel, but it probably wouldn't make a big difference in performance (and it would be a headache).

    When a particular X11 implementatin is slow, it's usually because of bad drivers or bad configuration. With comparable drivers, X11 performance is top-notch--usually better than Macintosh and comparable to Windows. And many X11 applications are slow or inefficient because their developers assumed they were programming a frame buffer--an assumption that is wrong on all major GUI platforms these days.

    In short, this "X is slow because of network transparency" is wrong in multiple ways. First, X11 is not slow compared to other popular windowing systems. Second, nobody has ever been able to describe a way in which X11 could be made faster by choosing a different IPC mechanism. People who criticize X11 for using IPC usually assume incorrectly that other systems don't use IPC, but they do.

    2. Standardization. Flexibility is nice, but having every damn program do things differently is annoying. It's also a very bad thing if you are trying to break into the mainstream.

    X11 is standardized. What is not standardized is GUI environments and toolkits. But there is a reason for that: people are still figuring it out. It's software evolution in action. And it's not like Windows or Macintosh have figured that one out either: on Windows, people use dozens of different toolkits, several of which come from Microsoft Similarly for Macintosh. Gnome and KDE are making an effort to interoperate, and that's all you can ask for.

    Also, there are plenty of programs that need to "o things differently". X11 is not just a desktop window system, it's used for scientific and engineering applications, customer terminals, ATMs, banking workstations, embedded systems, and lots of other applications. Those environments should not look like a regular desktop.

    3. Easier configuration. It can be a real bitch to get xwindows running properly. Considering the huge amount of differing hardware in the wild, I'm not so sure it would be possible to simplify it too much. Oh, well.

    I think people are doing as well as they can, given limited information from manufacturers.

    But because X11 is standardized, you can always buy a commercially supported X11 server. Those usually run very well on the latest hardware. If you are using XFree86, you are using something that's both free and experimental.

    As far as I can tell, "the split" is over none of these issues. Both branches will remain network transparent window systems, they will remain compatible, and they will continue not to force toolkits or desktop software on users. If they tried to, they would cease being X11 implementations. What Keith probably will do is accelerate bug fixing and bringing extensions into the X11 server. And that's what really matters.

  7. Re:What are their priorities? by rsidd · · Score: 5, Informative
    how often do you need remote xwindows

    Every day.

    Absolutely. People who don't need it everyday are people who only use one computer (eg, home users with only one machine) or people who never realized how easy it is to run a program on another machine and display it on your desktop. Remove this ability, and you remove a huge reason for using unix/linux on the desktop in the first place.

  8. Re:So, what now? by Anonymous Coward · · Score: 5, Insightful

    All of the special stuff that specific vendors can do is in the hardware itself, while the drivers just provide an interface to that hardware. Any special tricks that the drivers have are probably either just specific parts written in assembly to make them faster or cheats like turning off certain features at certain times to make the frame rate higher while hoping the users won't notice the difference in quality.

    Both nVidia and ATI have done this kind of cheating, by the way, which makes sense since both of them are very hesitant to give out open source drivers. Perhaps they are ashamed of their code. I wouldn't be surprised if the managers ask the programmers if they should open source it, then the programmers think, "Oh crap! My code looks like shit and has all sorts of vulgar comments! Uh, no boss, open sourcing is bad. Yeah, thats it."

    No special things would be lost by open sourcing drivers. No development would be handed to the competition. The competition would still have to develop their own silicon, which the drivers don't help with at all. If someone really wanted to copy your design, they could, *gasp*, look at the white papers if they exist, or use a myriad of other high-tech techniques to look at it and figure out how you did what. And even then, almost every cool trick on silicon is already patented, and protected that way.

    There is NO REASON WHATSOEVER TO NOT OPEN SOURCE DRIVERS. Get that into your head.

  9. Deja Vu: History of GCC and the ECGS by NZheretic · · Score: 5, Interesting
    The ECGS fork of the Gnu Compiler Collection ( GCC ) was formed in 1997, because many felt that developement of GCC was not going fast enough and that the then GCC developer were not accepting or adopting mnay freely contributed patches that radically changed the then stable GCC toolset.

    From the GCC FAQ
    In April 1999 the Free Software Foundation officially halted development on the gcc2 compiler and appointed the EGCS project as the official GCC maintainers. The net result was a single project which carries forward GCC development under the ultimate control of the GCC Steering Committee

  10. Re:Remote XWindows by hankaholic · · Score: 5, Insightful

    As pointed out elsewhere, network transparency is virtually free, especially when the clients and server run on the same machine.

    Simply put, clients must talk to the X server in order to make requests, read keyboard/mouse input, etc.

    How would you suggest the clients and server communicate with each other?

    I'd probably look for a mature communications mechanism which has been pounded to hell and back by as many users as possible in as many environments as possible. You're writing a cross-platform windowing environment, so portability is a concern.

    Can anyone suggest a cross-platform, mature communications mechanism that doesn't impose any more overhead than necessary?

    Let's see -- X could either use a highly-refined, well-defined communications mechanism which damned near (if not EVERY) OS vendor supplies (in the form of IP and UNIX domain sockets where available), or it could define its own communications mechanism which would probably not work nearly as well on nearly as many platforms.

    And the parent is modded 3? Is there a "+1, unjustified crap" rating I somehow haven't noticed?

    --
    Somebody get that guy an ambulance!