Announcement

Collapse
No announcement yet.

Wayland Clients Within A Normal X11 Window Manager

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

  • Wayland Clients Within A Normal X11 Window Manager

    Phoronix: Wayland Clients Within A Normal X11 Window Manager

    Martin Grlin, the lead developer of KDE's KWin compositing window manager, has yet another interesting blog post that's worth reading. The blog post details a "rather historic event" for KDE, X11, and Wayland...

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

  • #2
    we had X running in Wayland and now we have Wayland running on X

    Exactly what we needed

    Comment


    • #3
      Originally posted by 89c51 View Post
      we had X running in Wayland and now we have Wayland running on X

      Exactly what we needed
      Perhaps surprisingly, I think it is.

      X on Wayland: Necessary if Wayland is to become the main server at some point, since there will be a huge amount of X apps around for a long time.
      Wayland on X: Useful if you're using (or writing) a Wayland app but otherwise have a normal X desktop. Also nice if you're using something with better driver support for X than Wayland, I guess.

      In the long term, it means that you can go X → X with Wayland apps → Wayland with X apps → Wayland , for a very gentle transition.

      Comment


      • #4
        Originally posted by dnebdal View Post
        Perhaps surprisingly, I think it is.

        X on Wayland: Necessary if Wayland is to become the main server at some point, since there will be a huge amount of X apps around for a long time.
        Wayland on X: Useful if you're using (or writing) a Wayland app but otherwise have a normal X desktop. Also nice if you're using something with better driver support for X than Wayland, I guess.

        In the long term, it means that you can go X → X with Wayland apps → Wayland with X apps → Wayland , for a very gentle transition.
        First you must understand that there are NO wayland apps. Apps are written in toolkits (gtk qt etc) which most of them have backends for wayland. This means you just have to recompile some stuff and they will work. (there are screenshots floating around of gtk and qt apps). Those few apps that use "pure" X parts can still be displayed with X on wayland.

        There are ways now to run wayland in an X environment for testing purposes. Not the way that Martin did but you can.

        As for drivers you can use the open stack and it works.

        There are many things missing in wayland but this is not the most usefull thing in the world
        Last edited by 89c51; 06-09-2011, 08:38 AM.

        Comment


        • #5
          Originally posted by 89c51 View Post
          First you must understand that there are NO wayland apps. Apps are written in toolkits (gtk qt etc) which most of them have backends for wayland. This means you just have to recompile some stuff and they will work. (there are screenshots floating around of gtk and qt apps). Those few apps that use "pure" X parts can still be displayed with X on wayland.

          There are ways now to run wayland in an X environment for testing purposes. Not the way that Martin did but you can.

          As for drivers you can use the open stack and it works.

          There are many things missing in wayland but this is not the most useful thing in the world
          At some point we might (should?) get to a state where some things prefer, or only officially support, their Wayland backend. Apps using that backend are then effectively Wayland apps, wouldn't you agree?
          While getting there, it'll certainly be interesting to test the Wayland backend to see if your program still looks fine - because you never know when odd bugs sneak in. Again, you'll effectively be running a Wayland app in an X setting - unless you start a pure Wayland environment to test it, ofc.


          As for drivers, the open stack is not always the best alternative ... and even when it is, Wayland support isn't always around. I'm on FreeBSD, which has quite decent X support - but as of today, there's no Wayland port. Being able to test Wayland clients easily won't hurt.

          And, hell ... what's so wrong with this? Handling it in the kwin compositor seems very sensible.

          Comment


          • #6
            Originally posted by dnebdal View Post
            At some point we might (should?) get to a state where some things prefer, or only officially support, their Wayland backend. Apps using that backend are then effectively Wayland apps, wouldn't you agree?
            While getting there, it'll certainly be interesting to test the Wayland backend to see if your program still looks fine - because you never know when odd bugs sneak in. Again, you'll effectively be running a Wayland app in an X setting - unless you start a pure Wayland environment to test it, ofc.
            I think the point is that applications don't write against the display server, they write against the toolkit. Apps don't have an X or Wayland backend, they use whatever the toolkit library has been built to use. Maybe games and other 3D apps might actually directly call X functions, but I'm guessing most of them actually utilise and enigine or layer that handles that for them.

            Comment


            • #7
              Originally posted by 89c51 View Post
              First you must understand that there are NO wayland apps. Apps are written in toolkits (gtk qt etc) which most of them have backends for wayland. This means you just have to recompile some stuff and they will work. (there are screenshots floating around of gtk and qt apps).
              I can't speak for Qt apps, but with GTK's pluggable backend support in 3.0, you will be able to switch and app from X to Wayland by closing it and then opening it with a different command line switch (as soon as the Wayland backend goes into a GTK release)

              Comment


              • #8
                Originally posted by yesterday View Post
                I think the point is that applications don't write against the display server, they write against the toolkit. Apps don't have an X or Wayland backend, they use whatever the toolkit library has been built to use. Maybe games and other 3D apps might actually directly call X functions, but I'm guessing most of them actually utilise and enigine or layer that handles that for them.
                Certainly - my point was just that at some point, you'll still have a situation where you're either running some apps with a Wayland backend (for testing), or some apps/toolkits strongly prefer Wayland - and then you've got a mix of X and Wayland clients. If there's a majority of X clients, then being able to nicely integrate a few Wayland ones is nice. If there's a majority using Wayland, being able to nicely integrate the leftover X ones is nice.

                (Of course, you could do a total everything-at-once switch, but I don't think that's practical for everyone.)

                Comment


                • #9
                  Originally posted by srg_13 View Post
                  I can't speak for Qt apps, but with GTK's pluggable backend support in 3.0, you will be able to switch and app from X to Wayland by closing it and then opening it with a different command line switch (as soon as the Wayland backend goes into a GTK release)
                  yeah, once again that's a feature of the toolkit, not the app. The app isn't written to run against X or Wayland, it is written against GTK, and you can pass parameters that ANY GTK app will accept.

                  Qt apps have the same thing. For example, you can pass in the render method (OpenGL, Xrender). Any app built with Qt automatically get's this functionality

                  Comment


                  • #10
                    Great way to introduce the Desktop world to Wayland.

                    This looks like paradise for the developers who:
                    - Get apps running well in Wayland
                    - Get the window bar looking right

                    However there's the risk it will stick since after this, giving up X is a huge compatibility risk for only performance and security gain. But this looks like a great way to introduce the world to Wayland.

                    Comment

                    Working...
                    X