Announcement

Collapse
No announcement yet.

The Wayland Situation: Facts About X vs. Wayland

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

  • #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.
    All opinions are my own not those of my employer if you know who they are.

    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.
            All opinions are my own not those of my employer if you know who they are.

            Comment


            • #16
              Thanks for the info Eric, lets hope more people read this article.

              I'll gladly switch to wayland as soon as either the catalyst drivers support it, or, when the open source radeon drivers support crossfire. If the open source radeon drivers catch up with openGL 4, I might switch anyway - so far there's nothing I use in linux that needs a 2nd GPU (the few things that could use it currently don't). I'm a KDE user and I get the impression wayland is usable with it. By the time either of my desires get completed, I'm sure wayland will run fine. The only problem is the catalyst devs barely keep up with the latest xserver, and crossfire support on radeon is considered a low priority. So it could be a while. However, being an end user with just 1 screen, X is serving me just fine for now.

              I think wayland's requirement of compositing will also help weed out some of the really old systems. It's always nice to have 1-size-fits-all, but after 2 decades, that can really hinder future technologies.

              I for some reason have wayland already installed on my system - some package in Arch requires it (I forget which).

              Comment


              • #17
                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.
                Can you explain how an OpenGL application uses Wayland?

                Is it something like this?
                [application] -> [opengl] -> [wayland buffer] -> [egl] -> [driver]

                Who provides the OpenGL stack? If it is the GFX vendor, will he be able to hook into Wayland without having to open source his driver or GL stack?

                In other words: Are proprietary drivers possible without having to rewrite half of Wayland?

                Comment


                • #18
                  Originally posted by TheBlackCat View Post
                  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.
                  1) Surface and SubSurface windows are kept in sync through the protocol, I WANT to say they are kept in lockstep via the CPU but it could just as easily be a feature of Hardware Overlays.

                  2) If they are handling it the same way they are minimize...they continue to render, this way the exact image is available at all times.

                  3) Unsure.

                  4) Unsure. I know there are security hooks to make sure clients do not mess with eachother's buffers. If SubSurface windows are considered apart of the same client, then yes they could manipulate it. If they are separate, then no.

                  5) I meant to ask Daniel, but I forgot about it. X was an odd number too at 15, I can only assume that they are using the extra bit for something other than actual counting.

                  6) 99% sure its total number of pixels, so X & Y together. I didn't find any information to make me think otherwise.
                  All opinions are my own not those of my employer if you know who they are.

                  Comment


                  • #19
                    What an awesome writeup!

                    As someone who has used X for the longest while, since 1993 to be exact on some old AIX workstations, I am overjoyed with the prospect of Wayland and even more so with the kind of cohesive, ego-reduced effort the X & Wayland crew is putting toward finalizing Wayland, as well as XWayland. This couldn't have happened at a better time - it's like Apple switching from OS 9 to OS X - a gigantic (re)design leap forward that will pay off dividends for years to come, not to any specific company but to the whole world at large.

                    I just wish Canonical didn't backpedal on their original Wayland commitment, we'd have gotten to the finish line much sooner, but it is what it is.

                    Loved reading at more depth about the technical deficiencies of X and how Wayland addresses them. Thank you Phoronix!

                    Comment


                    • #20
                      Originally posted by schmidtbag View Post
                      Thanks for the info Eric, lets hope more people read this article.

                      I for some reason have wayland already installed on my system - some package in Arch requires it (I forget which).
                      Probably the toolkit (GTK+ for sure, I don't know Qt).
                      Otherwise I have no idea... maybe are you a tester of KDE 4.11?
                      Following the Martin's g+:
                      KWin 4.11 just got a new experimental feature merged in for our users to play with :-)

                      I'm not a huge fan of including experimental features, but in this case we need to make an exception. It's the last release of 4.x series and there are many users around who want to see that we are walking into that direction.
                      That experimental feature is a Wayland backend, so if you are playing with KDE 4.11...

                      Comment

                      Working...
                      X