Results 1 to 10 of 10

Thread: Wayland Clients Within A Normal X11 Window Manager

  1. #1
    Join Date
    Jan 2007
    Posts
    14,229

    Default 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. #2
    Join Date
    Jan 2009
    Posts
    1,579

    Default

    we had X running in Wayland and now we have Wayland running on X

    Exactly what we needed

  3. #3
    Join Date
    Oct 2010
    Posts
    85

    Default

    Quote 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.

  4. #4
    Join Date
    Jan 2009
    Posts
    1,579

    Default

    Quote 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 at 08:38 AM.

  5. #5
    Join Date
    Oct 2010
    Posts
    85

    Default

    Quote 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.

  6. #6
    Join Date
    Sep 2008
    Posts
    130

    Default

    Quote 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.

  7. #7

    Default

    Quote 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)

  8. #8
    Join Date
    Oct 2010
    Posts
    85

    Default

    Quote 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.)

  9. #9
    Join Date
    Sep 2008
    Posts
    130

    Default

    Quote 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

  10. #10
    Join Date
    Sep 2009
    Posts
    59

    Default 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.

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •