Announcement

Collapse
No announcement yet.

The Wayland Situation: Facts About X vs. Wayland

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

  • The Wayland Situation: Facts About X vs. Wayland

    Phoronix: The Wayland Situation: Facts About X vs. Wayland

    With the continued speculation and FUD about the future of Wayland at a time when Canonical is investing heavily into their own Mir Display Server alternative, Eric Griffith and Daniel Stone have written an article for Phoronix where they lay out all the facts. The "Wayland Situation" is explained with first going over the failings of X, the fixings of Wayland, common misconceptions about X and Wayland, and then a few other advantages to Wayland. For anyone interested in X/Wayland or the Linux desktop at a technical level, it's an article certainly worth reading!

    http://www.phoronix.com/vr.php?view=18763

  • #2
    Originally posted by phoronix View Post
    Phoronix: The Wayland Situation: Facts About X vs. Wayland

    With the continued speculation and FUD about the future of Wayland at a time when Canonical is investing heavily into their own Mir Display Server alternative, Eric Griffith and Daniel Stone have written an article for Phoronix where they lay out all the facts. The "Wayland Situation" is explained with first going over the failings of X, the fixings of Wayland, common misconceptions about X and Wayland, and then a few other advantages to Wayland. For anyone interested in X/Wayland or the Linux desktop at a technical level, it's an article certainly worth reading!

    http://www.phoronix.com/vr.php?view=18763
    Thank you kindly, Michael

    Daniel and I have both agreed to monitor this thread (at our convenience) to hopefully answer and clear up any questions readers might have. Hope you enjoyed the reading.

    Comment


    • #3
      Quite impressive!

      Could you explain how X and Wayland use the graphic card? I mean... in the article you say that Wayland receive buffers and how to display them.
      What sort of information will Wayland receive to display the buffers: For hybrid graphics, who says which graphic card has to be used? Will be a sort of native Optimus (use the dedicated card if the integrated is busy, or sorts) ?

      Comment


      • #4
        WOW!

        Question 1:
        I assume you'll need nVidia and Intel updating their drivers for Wayland. Are there any news on the subject? Last time I heard no hardware vendor planned any Wayland related work.

        Comment


        • #5
          Originally posted by mannerov View Post
          Quite impressive!

          Could you explain how X and Wayland use the graphic card? I mean... in the article you say that Wayland receive buffers and how to display them.
          What sort of information will Wayland receive to display the buffers: For hybrid graphics, who says which graphic card has to be used? Will be a sort of native Optimus (use the dedicated card if the integrated is busy, or sorts) ?
          Don't have a lot of time at the moment so I'm gonna skip over the first question (for now). As to the Optimus question... Multiple GPU's are, unfortunately, a client problem. Its not necessarily FAIR for them to have to do all the heaving lifting in that regard, but they best know what to do and how much power they are going to take.

          By "Client" it could mean a few things. For example, the driver could decide based upon load-- which I personally dont think is the best way. OR the method I prefer... If you code your app in GTK+, EFL, or Qt, I think those toolkits should provide a window-hint or similar interface where applications can register "I would like to be run on the $powersave GPU" or "I would like to be run on the $performance GPU."

          As I touched upon in the article... Wayland is meant to be the most minimal way to do things possible, its not supposed to do the heavy lifting because since Wayland 1.0 its promised at minimum API compatibility (i think ABI is guaranteed through major versions, but I'd have to double check that). So the more things we load it up with, such as deciding what GPU to be run on, those are things we are FORCED to keep around basically forever so if we get it wrong...we're screwed.

          EDIT: granted the entire protocol IS versioned, so we wouldn't be -completely- screwed, but its still legacy cruft we'd have to drag around. And do we really want that?
          Last edited by Ericg; 06-07-2013, 01:20 PM.

          Comment


          • #6
            Originally posted by Bucic View Post
            WOW!

            Question 1:
            I assume you'll need nVidia and Intel updating their drivers for Wayland. Are there any news on the subject? Last time I heard no hardware vendor planned any Wayland related work.
            Mir, Wayland and SurfaceFlinger all have a requirement on an EGL driver. That being said, there is one non-standard extension to EGL that Wayland does want / require. As long as Intel, nVidia, and AMD all have an EGL stack they-- to my knowledge-- should work just fine across all three. With the small exception of: wayland wants an extra non-standard extension. I think its buffer_age but I'd have to double check that as well.

            Comment


            • #7
              Originally posted by Ericg View Post
              Mir, Wayland and SurfaceFlinger all have a requirement on an EGL driver. That being said, there is one non-standard extension to EGL that Wayland does want / require. As long as Intel, nVidia, and AMD all have an EGL stack they-- to my knowledge-- should work just fine across all three. With the small exception of: wayland wants an extra non-standard extension. I think its buffer_age but I'd have to double check that as well.
              In layman terms - are their drivers set to be ready to work with Wayland today? In a year?

              Edit:
              On the subject, some EGL news
              http://www.phoronix.com/scan.php?pag...tem&px=MTMyMTI
              Last edited by Bucic; 06-07-2013, 01:32 PM.

              Comment


              • #8
                Question for everyone else: Would you guys be interested in a systemd / SysV / Upstart comparison as well? I was toying around with the idea in my head, hadn't made up my mind yet.

                Comment


                • #9
                  With the advent of Steam for Linux and the non-stop news about upcoming games for it, I'd like to ask a question which might be interesting for all the "gamers" using Linux: Does Wayland have any direct impact on playing games on Linux, like for example input lag (which people seem to complain about), performance improvements, gamepad support and so on? Or will there be next to no difference from the current situation?

                  Comment


                  • #10
                    Originally posted by Bucic View Post
                    In layman terms - are their drivers set to be ready to work with Wayland today? In a year?
                    Open source drivers should all be gold on Wayland-- I know Intel is because that's what is in my laptop.

                    AMD and nVidia... We're gonna have to wait and see how they want to play. If they want to say "Screw Wayland! Go mir!" They could, they'd have to explicitly refuse to support the EGL extension that Wayland requires. But at the same time, Wayland might be able to work around that missing extension should that day come to pass.

                    Ideally, in a year, the open source Radeon and Intel graphics should be basically up to par with their Windows brethren (maybe not OpenGL compliance, but hopefully power management for Radeon) and we therefore wouldn't NEED them to expressly support Wayland. nVidia is in an interesting position though with how crappy (in comparison) Nouveau is.

                    Comment


                    • #11
                      Originally posted by Weegee View Post
                      With the advent of Steam for Linux and the non-stop news about upcoming games for it, I'd like to ask a question which might be interesting for all the "gamers" using Linux: Does Wayland have any direct impact on playing games on Linux, like for example input lag (which people seem to complain about), performance improvements, gamepad support and so on? Or will there be next to no difference from the current situation?
                      Gaming under Wayland should be better than X in terms of performance, even gaming under XWayland should be better than stock X because we're taking out round-trips and "Workaround" code. Input lag I expect to better as well since its simplification of the stack. Gamepad support I'm not sure about honestly, it might come down to pure and simple kernel driver support.

                      Comment


                      • #12
                        I have six questions:

                        1. How are top-level windows and sub-surface windows kept synchronized, perhaps using flash in a web-browser as an example?

                        2. What happens when part of a sub-surface window is obscured within a top-level window, such as using the scroll bar to move the flash animation above or below the top of the window?

                        3. I assume sub-surfaces have to be part of another window, but can they be nested (i.e. a sub-surface window being part of another sub-surface window), or can sub-surface windows only be part of top-level windows?

                        4. Do sub-surface windows have complete control over their own buffer, or can top-level windows manipulate one of its sub-surface window buffers before passing it to the compositor?

                        5. Why is the coordinate counter 31 bits? That seems like a strange number.

                        6. Is the coordinate counter count the total number of pixels, or the pixel along a particular axis? This isn't clear from the description.

                        Comment


                        • #13
                          Originally posted by Bucic View Post
                          WOW!

                          Question 1:
                          I assume you'll need nVidia and Intel updating their drivers for Wayland. Are there any news on the subject? Last time I heard no hardware vendor planned any Wayland related work.
                          nVidia and Intel?
                          Maybe you meant nVidia and AMD proprietary driver.
                          About Intel, there are no problems, as you probably know, their official drivers are open and delivered with the kernel.
                          About the open driver of nVidia and AMD, as you can read, they work because are open and then easy to adapt.
                          For the binary blob, the situation is different because only who have access to the code (the nVidia and AMD internal devs) can implement the needed modification.

                          Comment


                          • #14
                            i have a very quick question: i don't care about 3d. Do wayland require OpenGL???? or for example can i use kwin with some kind of equivalent of xrender? That's a major deal breaker for me(i simply hate using opengl to render windows. Everywhere i disable opengl i see a sudden drop of power and heat consumption, and i mean in idle. I would like to continue to do this.

                            Comment


                            • #15
                              Originally posted by sireangelus View Post
                              i have a very quick question: i don't care about 3d. Do wayland require OpenGL???? or for example can i use kwin with some kind of equivalent of xrender? That's a major deal breaker for me(i simply hate using opengl to render windows. Everywhere i disable opengl i see a sudden drop of power and heat consumption, and i mean in idle. I would like to continue to do this.
                              Wayland doesn't require 3D per say, there's a Pixmen backend for software rendering. So yes, if you wanted to you can do software rendering. That all being said... Its probably going to come down to individual compositors and whether or not they expressly expose a backend option. And if you're on an Intel or AMD APU where the CPU and GPU are in one, its probably not even worth bothering with since the chip has to be woken up regardless.

                              Comment

                              Working...
                              X