Slashdot Mirror


Ubuntu Is Switching to Wayland (omgubuntu.co.uk)

An anonymous reader shares a report: Ubuntu is to ship Wayland in place of X.Org Server by default. Mir, Canonical's home-spun alternative to Wayland, had been billed as the future of Ubuntu's convergence play. But both Unity 8 the convergence dream was recently put out to pasture, meaning this decision was widely expected. It's highly likely that the traditional X.Org Server will, as on Fedora, be included on the disc and accessible from whichever login screen Ubuntu devs opt to use in ubuntu 17.10 onwards. This session will be useful for users whose system experience issues running on Wayland, or who need features and driver support that is only present in the legacy X.Org server session.

7 of 227 comments (clear)

  1. But is Wayland better? by Anonymous Coward · · Score: 5, Insightful

    As long as Linux can remember where I positioned my monitors after I put the laptop back into the docking station, and as long as I can wayland-over-ssh, and as long as there are performance gains, then I don't care.

    I'm sure this post will be littered with "I hate change" type posts where people lament the loss of X for no other reason than passion and nostalgia, and I'll have to dredge through loads of nonsense before someone actually puts together a point-form list of pros and cons comparing Wayland to X

    1. Re:But is Wayland better? by squiggleslash · · Score: 5, Insightful

      Network transparency. X11 has it. Wayland doesn't. Wayland's devs tend to handwave the problem, either claiming it will somehow be implemented once they work on the other laundry list of things they want first, or claiming it's a niche requirement nobody wants or uses.

      On top of that they're doing the #1 thing you're not supposed to do in development: completely rewriting a working system.

      X11's main flaw is that it's supposed to be inefficient. It might be, but I've never noticed any significant difference between user interface performance on Ubuntu vs Windows or Mac. I think much of it is "This sub-nanosecond operation that is only called once or twice every frame takes THREE TIMES AS LONG under X11 as it should!" type purism.

      I'm not happy about this.

      --
      You are not alone. This is not normal. None of this is normal.
    2. Re:But is Wayland better? by Anonymous Coward · · Score: 5, Funny

      X11 is a turd. The future is using javascript and rendering to HTML. Rust, go, python, and all the other important languages can be compiled into javascript which runs everywhere - the browser, the desktop, the server, the phone, chromebooks, and even embedded devices that only have 4 GB of RAM.

    3. Re:But is Wayland better? by caseih · · Score: 5, Informative

      How this will be solved in the long run remains to be seen. In the short run, toolkits that support Wayland still support X11. Mainly I'm talking about GTK and Qt. Thus KDE, Gnome, GTK, and Qt apps will all run either on Wayland or X11 without recompiling. So for many people, remoting needs can be accomplished by simply using X11 on Wayland and tunneling X11 over SSH. Simply ssh into your remote machine and run the apps. Locally on wayland things are silky smooth, remotely they still work, though a bit choppier (X11 over ssh isn't fast enough for anything but LAN anyway... I use X2Go for WAN remote X11 stuff.

      Of course in the long run if Wayland is successfull the X11 backend bits will languish in the toolkits and this will not be a sustainable future. I think essentially RDP will be adopted as the standard remoting protocol for wayland desktops. This will be used to forward individual apps or whole desktops. RDP is already a lot faster than X11 over ssh, due to the way X11 works and the fact that all modern toolkits essentially just push bitmaps these days anyway.

      Before criticizing Wayland and extolling X11's virtues, consider watching this talk by Daniel Stone who was formerly intimately involved with X.org and seems to know hist stuff. He makes a good case for Wayland. https://www.youtube.com/watch?...

    4. Re:But is Wayland better? by Anonymous Coward · · Score: 5, Insightful

      I am not managing a computer remotely, I am using a computer remotely. Yeah, I ssh in. Always start with command line work - just like I do with a local login.

      But then I need some word processing. So I start the word processor on the remote machine, and view the window locally. Common case, do it several times per week. No, I don't want to transfer the file here, run a word processor locally, and then transfer it back. That is hell, especially when there is a large set of dependant files. Figures and whatnot.

      Surely this sort of thing can be done with wayland too. Wayland renders to memory and then blits to some display. All we need is to transfer that memory - or at least the changed altered - over the network. Then render on the display at hand.

      It is a necessary function, but something that shouldn't be all that hard. I don't expect to run 3D games this way - but word processing used to be fine over an ADSL line to the office 6km away - surely wayland can be made to run over the fiber I have today.

    5. Re:But is Wayland better? by SumDog · · Score: 5, Informative

      I too use X11 forwarding over SSH (ssh -Y) all the time. Sometimes I'm at work and want to quickly tag some music that's on my machine at home. I can remote SSH with X11 forwarding and start up easy tag.

      It's a pretty common use case among some of us Linux users.

    6. Re:But is Wayland better? by slack_justyb · · Score: 5, Informative

      I'm going to start where a lot of people don't usually start. The actual people who maintain X11. They hate the code base, they just simply don't want to deal with the tangled mess that it is. Seriously go look at a dependency graph of just the xserver or a slightly higher level view of the state of things. Point, no one wants to maintain this mess. Anyone feeling frisky in doing so is strongly encouraged to do so, but the majority of developers who have worked on this in the heyday have long since left the building. The sheer pool size of people working on X is low and fresh blood in the development pool is best described as anemic. Fewer developers working on one project and more on another project pretty much seals the deal on the direction. Arguments of X being better falls on non-existent ears. You want to talk to an X developer? Head over to Wayland, that's where you'll find a lot of them.

      Next in line is that X is ineffective at one of the things that it's suppose to do, draw stuff on your screen. (Not even going to touch multi-monitor, sleep, touch input, etc all which have had extensive hacking to get it working and thus resulting in patches of code with serious bus factor one issues.) X11 lacks pretty much everything we take for granted in a modern GUI. Want anti-alias text? Well X11 doesn't do that. Want the concept of an alpha-channel? Not present in X11. Quite literally, X11 does nothing in the way of anything that say KDE, GNOME, Unity, Cinnamon, or whoever wants. Instead, your chosen toolkit is using a library that builds in memory the bits that need to be drawn and if your xserver supports RENDER, your toolkit just gives a stream of bits over to X11 via that method, and X just forwards it on to either the card or to a compositor, which by the way X11 doesn't have a concept of, hence the reason you need one external to the xserver. At some point someone said, if every toolkit is just building bits by themselves and then having X forward it on, why not just cut out the middle man? Why have this extra layer that we keep having to build ad-hoc extensions for? (RENDER, XDamage, RANDR, XFixes **yes literally an extension to fix stuff but mostlly to turn a lot of old X11 stuff off.) All of these wonderful extensions are in reality short circuiting old cruft in a code-ugly fashion. Add in new complexities being added to video cards, functionality that's difficult to eventually get working, and yeah everyone is ready to put the old girl out to pasture. X11's lack of so many things is a roadblock to tapping your card's fully ability, which is why most of the time we're happily ignorant of all of the by-passing of huge parts of the core of an xserver, with the prolific set of extensions that come automatically built into your distro. (which is why a lot of folks never notice and just think that this is the way X was built, but nothing further from the truth could be said. Try building an xserver from source.)

      Now let me move on to your points

      Network transparency. X11 has it. Wayland doesn't.

      If you are using X11 over ssh, you aren't using X11's network transparency. What you are doing is streaming pixels across ssh, but you aren't using anything remotely looking like core X11 protocol. On the remote side, Cario, Qt, Mutter, or someone is drawing pixels and then that gets wrapped into a generic X11 package and sent to you to open up and then have your computer decide what to do with the newly received pixels. There's no commands like "Window A is currently at location x,y. It has a button at rx, ry relative to the top-left corner of the parent widget, blah blah blah." Nope, it's just "here's pixel one, here's pixel two, here's pixel three..." There's no distinction in X between a button in an application running on a remote server and a picture