Slashdot Mirror


The State of X.Org

An anonymous reader writes "Phoronix has up an article looking at the release of X Server 1.4.1. This maintenance release for X.Org, which the open-source operating systems depend upon for living in a graphically rich world, comes more than 200 days late and it doesn't even clear the BugZilla release blocker bug. A further indication of problems is that the next major release of X.Org was scheduled to be released in February... then May... and now it's missing with no sign of when a release will occur. There are still more than three dozen outstanding bugs. Also, the forthcoming release (X.Org 7.4) will ship with a slimmer set of features than what was initially planned."

32 of 618 comments (clear)

  1. Anything else out there? by CastrTroy · · Score: 5, Interesting

    Is there anything else out there? Why is there such a lack of interest in X.org, when so many other projects depend on it. Most of the big projects have been moving quite quickly, making a lot of headway in the past couple of years. What's holding x.org back?

    --

    Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    1. Re:Anything else out there? by CastrTroy · · Score: 5, Interesting

      First, I believe your parent post was a joke. Second of all, the reason most open source projects go stagnant seems to be for a couple reasons. First, the code is an ugly mess, and nobody wants to work on it. Second, internal conflict about where the project is going, so nothing gets done, or every new feature or bug fix becomes a big argument, about how it should be done. Thirdly, very boring project subject matter. The last one seems to be the big killer. There could be a nice open source Outlook/Exchange replacement. It wouldn't be inherently hard to build, but it seems that nobody is interested in doing it. Most of the stuff that gets a lot of attention is the stuff that developers are interested in building.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    2. Re:Anything else out there? by fireboy1919 · · Score: 5, Interesting

      I have a theory.

      We're using X as our windowing system because it's what we have, and we need it. But I don't think anybody (or not many people) really *believe* in it.

      That is to say, I doubt anybody takes a look at it and says "this is it! This is the way we should do Windowing!" And so the followup, "...and if it this thing worked, then it'd be more awesome."

      What people actually say when they start looking at it looks more like this.
      "Okay! X.org is a good project! I think maybe I'll contribute my time to it! Hold on...what is this? Why does it have all these features that nobody cares about? Why the nonstandard build system? What's with all the crazy legacy code? This thing is way too complex for me to spend my time on, and what I learn won't transfer to any other work. I'll pick something else."

      --
      Mod me down and I will become more powerful than you can possibly imagine!
    3. Re:Anything else out there? by Enleth · · Score: 5, Interesting

      It's a HUGE, and I mean, REALLY HUGE codebase that deals with hell lots of different concepts (graphics, input, networking, ...) that requires a good deal of understanding to modify it properly. Yet, there are less than 30 (!) active developers. That's probably one of the most under-manned Open Source project out there, proportionally to its size. And it's, again, because it's complicated as hell and nothing can be done about this - it's just the way a windowing server has to be.

      I've tried to help the project two years ago, I did dome work on input hotplugging and while not much of the code I wrote finally made it to the upstream (Daniel Stone, the man behind the input subsystem, finally decided for a different solution than what I was thinking about - maybe that was a good decision, I'm not the one to judge), I could experience myself how difficult developing X is. Besides skills and experience, you need to be able to keep track of such a big structure mentally, all the time. Not every programmer can do that, even skilled and experienced.

      And, no, you can't always abstract everything out and make a nice, clean structure for the code to adhere to. Maybe the X code could be a bit easier to modify, but just a bit. Trying to force that, you would end up with an Xserver counterpart of GNU Hurd, if you know what I mean...

      --
      This is Slashdot. Common sense is futile. You will be modded down.
    4. Re:Anything else out there? by Kjella · · Score: 5, Interesting

      Wow, you have just answered your question in the same sentence. The Linux kernel for example, is completely without competing forks that I know of, yet seems to be making good strides. xfree86 was going slow, and even after the x.org revival things again appear to be going slow. With a lot of people focusing on the desktop performance of Linux, why isn't this project interesting? A lot of other projects seem to be progressing nicely even without the competition breathing down their necks. I wonder if part of the reason is that the code is X11 licensed, which is fairly close to BSD so you don't have even LGPL protection of your code. If Stallman is looking for a non-(L)GPL project to replace, maybe he should drop the Hurd and start working on a GPL'd X instead...
      --
      Live today, because you never know what tomorrow brings
    5. Re:Anything else out there? by mikael · · Score: 2, Interesting

      How would we go about replacing X-windows? It seems to be one of those API's that if you tried to replace it with something "simpler and more modern", by the time the developers added the features that everyone else wanted, we would be back to what we had already. The wikipedia entry for the X-Window System"> explains why the designers made the decisions that they made.

      Just by looking at all the research papers and articles that have been published relating to X-windows: X-windows, there seems to be plenty that needs to be changed/added/optimized/enhanced.

      I wonder how relevant is the paper: "Why X Is Not Our Ideal Window System" today, considering it was written just over 18 years ago.

      --
      Vintage computer adverts: http://www.vintageadbrowser.com/computers-and-software-ads
    6. Re:Anything else out there? by kripkenstein · · Score: 5, Interesting

      In addition to those factors, I'd say the problem is also a lack of interest.

      On the one hand we have things like GNOME and KDE, Firefox, Blender, etc. etc. - software that the user knows by name and interacts with directly. People happily join such projects and contribute code to them.

      On the other hand you have software that the typical user might not not even know exists, like the Linux kernel. However, for geeks the kernel is perhaps the pinnacle of programming, and furthermore by lucky coincidence (or unhappy, if you are GNU) the name of the kernel has become synonymous with the entire OS, making it high-profile just like the more obvious software projects mentioned in the previous paragraph.

      Whereas the X server is somewhere in the middle. It isn't well known, even geeks might not know exactly what it does (i.e., where the separation is between X, the window manager, and so forth), and for some reason it lacks the 'coolness' factor of the Linux kernel.

      All of this is unjustified, and a shame. Perhaps more stories on Slashdot like this one will raise awareness? Maybe we should also motivate people, by e.g. telling them that hacking X is even harder than hacking the kernel ;)

    7. Re:Anything else out there? by mrchaotica · · Score: 2, Interesting

      Being able to have two pointers might be pretty cool, but you'll not get much attention for that.

      Really? You do know that "multiple pointers" is also known as "multitouch," right? Why can the Apple iPhone and Microsoft Surface get attention for it, while X.org can't?

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    8. Re:Anything else out there? by mrsteveman1 · · Score: 3, Interesting

      Perhaps if someone were being paid to develop it this wouldn't have happened.

    9. Re:Anything else out there? by jeiler · · Score: 5, Interesting

      Agreed. X needs to fork--have half the team maintain the current implementation, the other half do a start-from-scratch coding marathon.

      --

      If you haven't been down-modded lately, you aren't trying.

      Sacred cows make the best hamburger.

    10. Re:Anything else out there? by Randle_Revar · · Score: 2, Interesting

      X.org began a long boring process of breaking X into smaller modules which will accelerate overall development. The problem is that process is still on going, and will take a few more years before any major upgrades can take place. X.org has been modular for several releases now. I don't remember for sure now, but if 100% of the modularization wasn't done in 7.0, then 90%+ was, and the rest was done in 7.1.

      Think about the Mozilla project. They spent years cleaning out the core codebase and upgrading the core gecko engine from Netscape before they even had a decent beta. No, they didn't. They threw out the original Netscape 5 code (evolved Netscape 4) and started completely from scratch to make gecko and everything else.

    11. Re:Anything else out there? by Anonymous Coward · · Score: 5, Interesting

      My personal bet is that X is overly complicated. Overly complicated? Or just inherently complicated? A graphics driver (which is essentially what X is) has to interact with the kernel via an interface defined by the kernel, with hardware, and with the window manager. The only one of those that it can define is the relationship with the window manager.

      By contrast, the linux kernel can define both its driver interface (how it interacts with hardware) and its API (how software interacts with it). The kernel pushes complexity into the driver space. X is stuck managing that complexity.

      X also suffers from having a complicated function. Managing graphical relations is computationally intensive and difficult. That's why the GPU is separate from the CPU -- to allow for specialization of these complex functions.

      A third problem is that X is more general purpose than many drivers. It would be easier if it only had to work with one monitor and graphics card, but the reality is that it is expected to work with all of them. This is also true of the kernel, but the kernel has greater ability to push the heavy lifting into the hardware's driver than X does.

      Finally, I think that one of the biggest advantages that the kernel has over X is that it is adjacent to more things. X lies between the kernel, the graphics hardware, and the window manager. Generally, X uses the kernel rather than the other way around. Therefore, it's only people that are working on graphics hardware and the window manager who are interacting with X and therefore likely to find something that they want to change. By contrast, any program might make a kernel call.

      Similarly, KDE/Qt and Gnome are accessed directly by many programs. Programs should be accessing X through the window manager.

      All that said, you are probably correct about X needing to split itself into smaller, more elegantly abstracted pieces. However, even if X does that, it is still likely that it will be under documented with relatively less participation than other projects. While fundamental, it's simply not adjacent to enough other software to recruit easily. Without recruits, who is going to write the documentation and tutorials needed to gather more recruits?

      Of course, we may simply be confusing words here. You may be using complicated to refer to what I would call inelegant or non-modular.
    12. Re:Anything else out there? by jeiler · · Score: 3, Interesting

      It would ... but do you keep sailing a sinking ship, or try to build a new one?

      --

      If you haven't been down-modded lately, you aren't trying.

      Sacred cows make the best hamburger.

    13. Re:Anything else out there? by Anonymous Coward · · Score: 1, Interesting

      A graphics driver (which is essentially what X is) has to interact with the kernel via an interface defined by the kernel, with hardware, and with the window manager. The only one of those that it can define is the relationship with the window manager.

      Doesn't stop X from creating its own PCI subsystem. See, it'd be nice if X actually interacted with the kernel a little more, but it actually wants to be its own operating system. And in this day and age, that's just plain insane.

    14. Re:Anything else out there? by Trogre · · Score: 2, Interesting

      GP does have a point. On the rare occasions I'm forced to work with Windows boxes, I can rdesktop to them from my Linux box at home and get a virtual desktop with *much* better responsiveness than any remote X client I've seen. I can also close the session and log in from another computer and get the same desktop back, with all my applications still running. I haven't seen anything in Linux that comes close to that. Screen is about the closest I can think of, and it comes in a very poor second.

      --
      "Nine times out of ten, starting a fire is not the best way to solve the problem." - my wife
    15. Re:Anything else out there? by mrsteveman1 · · Score: 2, Interesting

      Windows doesn't use GDI anymore.

      In fact, as much as i dislike Windows overall, their graphics subsystems are much better than Xorg at the moment.

      Quite recently Xorg was touting input device detection as a new feature, and on the fly screen switching. These are things Windows, even XP and i think Me, were doing 7 years ago.

      X11 just completely ruins Linux for me, it gets in my way constantly, from having to RESTART x11 to add a screen to my laptop while working (losing all my work in the process), to the screen tearing all the time, to the synaptics driver which randomly jumps the mouse to new places while in use.

      Given all the problems causes I'm happy to avoid it, even if that means using Windows. Luckily I don't have to make such a horrible choice.

  2. Haven't really noticed any reduced quality .. by Idimmu+Xul · · Score: 3, Interesting

    From the article:

    What do you think about X Server 1.4.1, X.Org 7.4, and the X.Org release quality in general? Are these delayed and much drawn out release cycles a barrier to the greater adoption of Linux?

    I've been using Ubuntu for 4 years now and it's pretty much shielded me from any lack of quality in the releases. Probably if I spent more (unnecessary) time under the hood it would expose issues but I've been living in a very blind 'trust Ubuntu' atmosphere where things pretty much just work (ok, lets not mention the recent key generation problem :)

    In short, I guess the only people that might find the quality lacking are the developers and maintainers, and anyone specifically in the graphics industry? Not your average desktop user..? Or am I being naive?

    Free Playstation 3, Wii and XBox 360
    --
    The problem with slashdot is that most of its users were bullied and stuffed into lockers as kids!
  3. With maturity is this a problem by Neil+Watson · · Score: 2, Interesting

    Xwindows is one of those nice things that just work. With such dependabilty it is all that important the we get our instant gratification with superficial features like transparent windows? The X.org group made great strides after the fork from XFree86. Can we really expect them to keep that pace?

  4. Paid developers? by siride · · Score: 5, Interesting

    Aside from Keith Packard and Dave Airlie, and maybe one or two others, how many paid full-time X developers are there? Watching the mailing list, it seems like there's a couple of volunteers, some people who submit the occasional patch but otherwise work on Qt, or GNOME or whatever, and then the core listed above. I think there just isn't enough manpower right now and the distros, instead of fixing that problem, just maintain their own patchsets and do a "good enough" job to make X work smoothly for their releases, and leave it at that. Clearly, nobody wants to make X a priority and it shows. The Wiki is almost never up to date, it's nigh on impossible to build a working X system from git, even with the couple of half-arsed build scripts available from the mailing list (for my part, I have never been able to get it to build completely, and not for lack of trying or ability). The mailing list is full of academic arguments over color specs and other pointless things, or people asking for help. There used to be a lot of discussion on how to improve X and also, how to get things done. That no longer happens. What the distros and Linux companies need to do is get more people working directly on X and get serious about making X a serious project. It's not just some option piece of software that nobody has to care about. It's only one of the most important aspects of desktop Linux. And it just makes no sense to me that no distros are really spearheading X development. If they don't take the time to make this an issue, X will continue to atrophy, further limiting Linux's potential in the market.

  5. Re:Phoronix will pay to fix X by BattleCat · · Score: 2, Interesting

    Heh. "At Phoronix", my ass.
    Once I badly needed one particular bug (proper video init on laptop resume) fixed . Asked about probable fix timeframe/schedule of this bug on lkml , most responses were in form "it's free, we're doing it in our spare time, so don't ask when" . Then I tried to determine if any amount of money can help, asked developers if they can pricetag bugfix/patch and how to pay them - there was no definite answer at all. Children , playing in their sandpit and bearing no responsibility for their code at all, unmotivated and unmotivateable by anything but most basic urges .

  6. Re:Well, excuuuse me! by Doc+Ruby · · Score: 2, Interesting

    The code's low quality is the fault of the community, too. Who do you think wrote that complex code?

    If you're that savvy, why not spend a little of your time patching that existing code to factor out some of the unnecessary complexity? Instead, you're spending your time yelling at me on Slashdot, which does precisely nothing.

    --

    --
    make install -not war

  7. Re:What's the problem? by cjjjer · · Score: 3, Interesting

    Maybe not at the mercy of a company, but a team of core developers that don't want to do it any more. Now tell me which is worse?

    And don't try and throw the "oh we can do it ourselves crap". The issue here is maybe the casual developer has contributed are you saying that this casual developer now has to work on it full time so the project can move forward?

    Not likely to happen.

    One of the problems facing OSS is the people who move it forward are the ones who live, breath and feel passionately about the project (99% of the time the core developers), take away those people away and the project usually dies no matter how popular it is.

  8. Have you tried to contribute? by Anonymous Coward · · Score: 1, Interesting

    Have you ever tried to contribute to X.org? Bugs with fully working patches where users and other developers say "this needs to be committed" sit opened and untouched by Daniel Stone. Then when some subproject (i.e. drivers) want to get a new person on board, it takes an average of 4 months for that person to be given commit access. (my project had opened 3 bugs, how Daniel Stone wanted to handle new accounts, and we included all the info and it took 4 months for each person to be given access). It's tough to keep developers involved with delays like that. The problem is there's only very few people in charge who are doing 0 delegation and have a lot on their plate.

  9. Maybe it's time to dump X by archeopterix · · Score: 5, Interesting
    Here[pdf warning] is an interesting article from James Gosling and it pretty much explains why making the GUI system a server was necessary in the past but is not such a good idea anymore.

    Perhaps X should be replaced, not improved.

  10. X and Max by krischik · · Score: 2, Interesting

    export DISPLAY=skarabrae:0.0

    and get actual work done fast!

    Network transparency is *the* feature of X. And what stops you - Macs come with an X Server as well.

    But then: only X applications can grind my MacPro to a halt. Maybe you can't get network transparency and performance at the same time.

    Martin

  11. Re:What exactly is X.Org missing ? by zeromorph · · Score: 3, Interesting

    One interesting bit of reworking is MPX Yes, MPX looks quite promising (MPX demo video) and will also enable multi-touch which will be relevant for several areas of application (e.g. embedded stuff). Really exciting stuff seems to be coming up. I really hope they will get all the support they need.
    --
    "Hannibal's plans never work right. They just work." Amy/A-Team
  12. Re:Finally, developers' ignorance and childish by spitzak · · Score: 3, Interesting

    You are correct that X wire protocol is ugly. However this is NOT a reason to abandon network transparency. If you removed network transparency you would still have an ugly protocol, just communicated in shared memory instead. But if instead you fixed the protocol while keeping network transparency, you would have the good protocol PLUS network transparency.

    The fact that you even remotely consider communicating larger objects than drawing commands to the server, such as widgets, is proof that you have never even thought seriously about how these things are programmed. It will not work, it would be unbelievably complex. In X this is where the horror of the ICCCM window manager hints and protocol come from (basically it is an attempt to put a complex "window+frame" object over the api). Windows and OSX do not do this at all, all communication that leaves the app's local address space is pretty low-level drawing commands.

    Client-side fonts are done by sending the bitmaps of the fonts over. It is a huge win, because no longer is there a "font object" that is attempted to be communicated. It is exactly the OPPOSITE of your proposal.

  13. Re:You Are by jjohnson · · Score: 4, Interesting

    How many people on here have the capacity to actually make a useful contribution to X.org? Leave aside the organizational complaints about delays in getting patches accepted or commit bits set.

    Your "provocative" posts are probably counterproductive if your intent is to get X.org some more community contribution. Legitimate complaints met with 'fix it yourself' are what push people to OSX.

    --
    Anyone who loves or hates any language, platform, or manufacturer, doesn't know what they're talking about.
  14. Network transparency by Craig+Ringer · · Score: 3, Interesting

    I'm constantly amazed by people trumpeting the same old line about how network transparency support makes X slow. It stopped being true before some of them were old enough to read and write.

    Even if all traffic is forced though loopback TCP/IP by setting DISPLAY to '127.0.0.1:0' (or similar) it still performs quite fine. The network transparency isn't the slowdown.

    The slowdown is the toolkits and apps, which miserably fail to consider the influence of network latencies. They issue requests and wait for them to finish before going on to something else. They issue lots of unnecessary requests, do things in inefficient ways, and love lobbing pixels around when higher level drawing instructions would do. Let's not even talk about the themes and styles used by current toolkits and apps (I just got a ~30x speedup out of thunderbird on LTSP by changing the theme!).

    *argh*

  15. MOD PARENT UP - HE MAKES A GOOD POINT by Progman3K · · Score: 3, Interesting

    >>Perhaps if someone were being paid to develop it this wouldn't have happened.

    Yes, you are right, if someone had been paying, X.org would not exist.

    Because X.org DOES exist and it's far more encompassing of varied hardware than any commercial project, we can conclude that it is NOT the work of one commercial entity. It's a cinch no one company could have pulled it off, it is something that could only (and did only) come into existence the way it did.

    Thanks for making that point.

    --
    I don't know the meaning of the word 'don't' - J
    1. Re:MOD PARENT UP - HE MAKES A GOOD POINT by mrsteveman1 · · Score: 3, Interesting

      I'm curious why you think broad but lacking hardware support trumps a good working system for you. My experience has been that yes Xorg supports lots of hardware, but poorly, and therefor i have little reason to use it, and in turn i have little reason to use Linux itself BECAUSE the windowing system and input drivers and everything else that is built in to X11 (for some reason) function so poorly.

      It's also been my experience that this is typical of community projects and software, ESPECIALLY GPL stuff, people work on the exciting stuff and leave the mundane parts of the system to rot and trail behind more modern systems.

      There is no other explanation for me for why Xorg and X11 in general are so poor, no one is being paid to develop them like other competing systems.

  16. Like the other stuff is really that much better? by quanticle · · Score: 2, Interesting

    There is no other explanation for me for why Xorg and X11 in general are so poor, no one is being paid to develop them like other competing systems.

    I don't know about Mac, but, I wouldn't be surprised if the display management code for Windows was at least as quirky that of X.Org.

    Basically, developing window managers is hard. Any sort of clean display manager implementation will be severely hampered by the fact that it'll completely break backwards compatibility for almost every application. Even Windows has this problem; look at the incompatibilities and window drawing quirks present in XP and Vista.

    Apple got around the issue by saying, "We don't care about backwards compatibility," and providing a virtual machine for those who really needed the older OS to make their apps run.

    --
    We all know what to do, but we don't know how to get re-elected once we have done it