Announcement

Collapse
No announcement yet.

How Important Is The Wayland Display Server?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • #31
    I am not too sure that X.org has out lived it's usefulness, there is must to be had with using it as a frame works. But there are some issues with that.

    The biggest one, X.org is VERY monolithic by design. It rather difficult to make changes to a system that is so interlocked within itself, and any pain that I have seen with other maintaining X.org clearly state this.
    That said, it's slowly being changed... X.org is being leveraged more as a graphic interconnect with each release, and with each release that I have seen more and more of the volatile pieces (the drivers, the compositor, etc.) being more outside of the X.org code (which it REALLY shouldn't happen), some of the integration is being picked appart where it's not needed.

    The problem is that this is happening rather slowly, which is understand about since a destructive re-code and re-build of the X.org would be disastrous. I can see where some people look at this and get antsy about it... which is why it's nice that Wayland is around, but to be honest it's a X.org approach that is small enough to consider other devices. But, considering that no alternative is out that is stable... I can't say that I am wanting any disto moving to it since stability would be a great worry.



    That is my two cent on the matter.

    Comment


    • #32
      What we'd get out of ditching Xorg for Wayland is the same thing we get out of ditching Gecko for WebKit.
      more maintainable = better.

      Times change, usage patterns evolve. ..but it can't just be another X11 server, we need an updated underlying protocol.

      Comment


      • #33
        Originally posted by ethana2 View Post
        What we'd get out of ditching Xorg for Wayland is the same thing we get out of ditching Gecko for WebKit.
        more maintainable = better.

        Times change, usage patterns evolve. ..but it can't just be another X11 server, we need an updated underlying protocol.
        You said what I was getting ready to say, and yours was the last post, figures! :P

        Yes, you can make a really crazy, hard to understand, complex program work and work correctly, but that doesn't mean that it is easy to maintain and develop for. Having a program that is easy to maintain and develop for is extremely important, especially for community projects which will have some developers working on it because they like to and enjoy it, not just because they want a paycheck. Obviously those being paid will enjoy it too tho.

        So, if Wayland is a simpler system, has better APIs, is easier to maintain and develop for, etc, compared to X, but still be capable of or can add on the features of X which users want, then hopefully it will replace X. If X still has features it lacks or whatnot, then hopefully both will stay.

        In other words: just because something works, doesn't mean it's the best.

        Of course I don't want to see a fork either, but if it would truly be helpful and improve things and solve some issues which really can't be done with Xorg, then go Wayland.

        If Xorg can be hammered out to be simpler and be given some nice major upgrades though to solve these problems instead of replacing *all* the code, then go Xorg.

        Apparently the Wayland dev felt a complete re-write was needed though...

        This thread just needs more knowledgeable opinions about which is needed and possible.


        P.S., if Google isn't planning on using Xorg, I wish they would contribute to Wayland, or if they make a third one I wish they'd give reasons why. They should be more visible and communicative about these issues.

        Comment


        • #34
          Originally posted by ethana2 View Post
          I think if X11 was worth using, Apple would use it.
          I was going to say this too - Apple's desktop is full of OSS, and if X11 was suitable for a modern composited desktop then they would have used it...

          Comment


          • #35
            Oh hai guys! Am I too late to cut off my head and run around in circles? I hope not!

            *self-decapitation*

            *runs around in circles*

            Comment


            • #36
              *continues running headlessly in circles*

              Comment


              • #37
                Whew! That was fun!

                Now, let's get serious.

                First off, Apple didn't use X.org or any other X11 server because they would have had to invest time and money into adding features to it. Interestingly enough, all of the features they wanted have been added slowly but surely to X.org over the past few years. Go figure.

                Gallium replaces Mesa and provides 3D drivers. Gallium's flexibility means that in addition to OpenGL, it can also provide OpenVG, Xv, XvMC, etc. These are all still 3D-based functionality!

                Wayland does not replace X, although it can host X.

                X11's on-the-wire deficiencies are documented and will be handled when X12 work starts. However, X12 work will not start until all other major architectural problems have been addressed.

                If you guys think X11 sucks, either contribute patches, fix bugs, or go jump ship and support Y-Windows or Xfree86 or something besides us.

                ~ C.

                Comment


                • #38
                  I just read the Google Groups thread; my first impression was that there was a lot of enthusiasm and encouragement to "make Wayland more accessible, which can't be a bad thing as long as krh thinks the code is ready for that kind of use. The other big impression was that the original post made a bad assumption about the cause of the most common graphics problems (blaming the old, mature code rather than the rapidly changing driver stack) and as a result trivialized all the work being done on Linux graphics today (mostly in drm and mesa, which are not part of X), work which Wayland relies on every bit as much as X.

                  With respect to Allen and the others, it does seem like they are starting with a flawed premise -- that most of the problems in the current Linux graphics stack are caused by X and that replacing X with Wayland will fix those problems. From what I can see, X itself is quite mature and stable, and most of the problems Allen cited are in areas which are not part of X anyways.

                  Dave tried to explain that Wayland is built on the same driver stack as X, and that most of the perceived problems will carry across to Wayland unless they are fixed (which is what everyone including krh is working on), but he seemed to be the lone voice of dissent and was largely ignored.

                  That said, I think the Wayland *project* is important, just not in the way that Allen suggests. Wayland does not need to "replace X" in order to be a valuable effort - and IMO the "Wayland vs X battle" is a huge mistake for all involved, unless we feel that all of the key applications used on Linux/Unix systems today can be painlessly ported to native Wayland in (say) six months with available resources. The use of standardized toolkits can help a lot with recent apps and desktop environments, but AFAIK a lot of key apps are *not* written over one of the core toolkits and so realistically coexistence between X and Wayland is the important thing to discuss, not one being victorious over the other.

                  A year ago there was a lot of "Gallium3D will replace sucky old Mesa" excitement, until everyone realized that Gallium3D was basically an architectural cleanup of the bottom part of the Mesa stack (exposing a new and broadly useful API), and that Mesa would still provide the 3D API. Wayland should probably be considered in the same light, ie as an opportunity to rearchitect the lower levels of X while maintaining compatibilty with the existing base of applications and frameworks.

                  Wayland is a "good thing" but most of its goodness is orthogonal to the problem areas cited by Allen and others.
                  Last edited by bridgman; 09-13-2009, 12:22 PM.

                  Comment


                  • #39
                    My opinion: As always in FOSS, the people who actually write the code get to do the decisions (which is a very sane and good thing since they also are the ones with the most expertise). Luckily this usually works out to be the best for pretty much everyone.
                    But on a less general note, I think that Xorg will stay and Wayland wont become interesting for anything more than maybe embedded devices.

                    Originally posted by MostAwesomeDude View Post
                    X11's on-the-wire deficiencies are documented and will be handled when X12 work starts. However, X12 work will not start until all other major architectural problems have been addressed.
                    Somehow I never before even thought about the possibility of an X12. It just sounds... weird.

                    Comment


                    • #40
                      Originally posted by MostAwesomeDude View Post
                      If you guys think X11 sucks, either contribute patches, fix bugs, or go jump ship and support Y-Windows or Xfree86 or something besides us.
                      You ignored something mentioned in this thread, namely that X is too complex for many people to understand and therefore to fix and patch.

                      Comment


                      • #41
                        Originally posted by rohcQaH View Post
                        pabloski: Gallium3D is a framework for graphic drivers. It's only purpose it to draw stuff (no matter if it's lines, textures, triangles, video or whatever).
                        Xorg has other components, like input devices, the X protocol, window management (with the help of a WM) and a lot of glue in between.


                        G3D is important as it allows many features the classic mesa architecture didn't permit, but as bridgman said, it's not meant to replace anything but the gfx drivers.
                        I agree, but currently with have a lot of apis (xrender, mesa, xvideo) that tries to compete to access the graphics hardware

                        this competition causes the problems with all know ( videos that doesn't work as expected under compiz for example )

                        gallium controls the hardware and abstracts it, forcing all the apis to go through the same "states" mechanism

                        and also gallium and kms will strip all the dangerous hardware voodoo tasks from xorg

                        I think this will improve X a lot

                        Comment


                        • #42
                          Originally posted by RealNC View Post
                          You ignored something mentioned in this thread, namely that X is too complex for many people to understand and therefore to fix and patch.
                          I keep hearing that, however the most complex and problematic parts are going to be re-used by Wayland. Remember that krh is one of the developers who has been working on the driver stack used by both X and Wayland.

                          A lot of the "complex" examples cited in the Google Groups thread (DRI, VA-API etc..) are not part of X, however they *will* probably be used with Wayland.

                          I think Wayland is a good idea, and I'm not opposed to criticism of X; I just think a lot of the criticism is missing the point. It's fun to blame the older, more stable parts of X, complain that nobody is working on X, and conclude that replacing X is the way to fix stability problems, but the reality is that the most problematic parts are being reused by Wayland. There is also a *lot* of work going into modernizing and cleaning up the problematic parts (primarily input and output drivers) which will benefit both X and Wayland.
                          Last edited by bridgman; 09-13-2009, 04:19 AM.

                          Comment


                          • #43
                            Originally posted by pabloski View Post
                            I agree, but currently with have a lot of apis (xrender, mesa, xvideo) that tries to compete to access the graphics hardware

                            this competition causes the problems with all know ( videos that doesn't work as expected under compiz for example )

                            gallium controls the hardware and abstracts it, forcing all the apis to go through the same "states" mechanism

                            and also gallium and kms will strip all the dangerous hardware voodoo tasks from xorg

                            I think this will improve X a lot
                            It's really the modesetting code which requires X to have root access and which results in competing access to the hardware, not acceleration. The acceleration code in our open source X drivers doesn't touch hardware at all on 6xx and up, and only touches hardware on older GPUs when the drm is not available. Competing requests between acceleration clients have been handled by the drm for a long time, and the same mechanism is being used in Wayland.

                            I don't really think Gallium3D is going to do much to make X more robust -- it just replaces the simple, and fairly stable driver code in X with calls into the more complex and problematic 3D stack. It's still worth doing but don't read too much into it. I still believe KMS will do more to stabilize X than Gallium3D.

                            Gallium3D on its own won't do anything for video over Compiz either. The problem there is not multiple APIs or multiple clients, it's that compositors have not been "designed into" the display stack but rather plug in as optional components. As a result, we don't have synchronization mechanisms which work properly across a compositor - although that is one of the things the driver devs are working on.

                            Anyways, I guess a good summary might be :

                            Everyone agrees there are problems with the current graphics stack, but the most problematic areas (a) are not part of X, (b) are going to be re-used by Wayland, and (c) are being aggressively fixed, which will benefit both X and Wayland. There is a lot of old crufty code in X but it generally works, which is why nobody is worrying about it too much.

                            A number of new APIs have been added (eg XRandR) which could allow the removal of older APIs once the new ones are fully implemented; it's the dropping of legacy APIs and legacy hardware support which allows simplification of the code, not "fixing an old broken design". So far the X user community has not been open to the dropping of legacy APIs and hardware support, which may end up forcing a fresh start either in the form of something like Wayland or as a new version of X which drops all the legacy support and lives alongside the current code base in a much simplified form.
                            Last edited by bridgman; 09-13-2009, 04:32 AM.

                            Comment


                            • #44
                              Nice to see some quality discussion on this topic. I am sure that the FOSS community/leaders will choose the right path in terms of Xorg/Wayland.

                              Comment


                              • #45
                                Dropping working hardware support should never be done IMHO. It doesn't even take space on modular installations, removing that argument.

                                Isn't one of the strong points of linux that devices old enough to be unsupported elsewhere still work here?

                                Comment

                                Working...
                                X