Slashdot Mirror


KDE Plans To Support Wayland In 2012

An anonymous reader writes "During the 2011 Desktop Summit plans were brought up by a KDE developer to support KDE on the Wayland Display Server, which is dubbed the successor to X11. The KDE Wayland support is expected to come in three phases, with the first two phases expected to be completed next year during the KDE SC 4.8 and 4.9 development cycles. Farewell X?"

25 of 413 comments (clear)

  1. Stupid by mlwmohawk · · Score: 4, Insightful

    This is a mistake! X is one of the most flexible and useful systems today. Granted dumb users won't ever realize what they have in front of them, but the utility of X should not be under-estimated. I DO use it on a regular basis. Eliminating X, or even making it a second class citizen, is a huge loss in the philosophy that has allowed UNIX to survive for decades.

    What will happen is that X will be "supported" as an X emulation layer on top of the latest display layer. Unfortunately, apps will abandon X because it will no longer be vigorously supported. Then it will be lost.

    Here's what X can do today that we will lose: Run applications on one virtual or physical machine and display on another. This is not the same as VNC or terminal services.

    I hear all the dumbed down Linux users saying, that this isn't important, but like the people making these decisions, it is the point of view of ignorance. Computers are going in two directions..... Smaller devices and huge systems with many virtual machines. The huge systems with many virtual machines SCREAMS X for application display management. a 1:1 virtual desktop per virtual machine us unmanageable, but a window per app is. Eventually, there will only be a para-virtual manager and para-virtualized machines, each running apps. The VMs can be saved, restored, snap-shotted, backed-up, branched, etc. This will be the nature of how we run apps when we have a huge number of CPUs. X is a better fit now for the future, than any Windows/Mac inspired "improvement."

    This is another Ill that is a direct result of people coming to Linux from a Mac or Windows background. They want to bring lesser ideas because they don't understand the capabilities of what they already have.

     

    1. Re:Stupid by Trepidity · · Score: 5, Insightful

      I'm not too sure what the actual use-cases driving it are, either. Is there anybody who's really that excited about fancy graphical window effects, except as a curiosity? The article mentions Compiz developers having trouble getting patches merged, which I hope is not the main driver--- the main thing holding back Linux on the desktop is not insufficiently fancy animations when you minimize a window.

    2. Re:Stupid by drinkypoo · · Score: 3, Interesting

      Here's what X can do today that we will lose: Run applications on one virtual or physical machine and display on another. This is not the same as VNC or terminal services.

      Lately I have it not work for me pretty often. Especially if there's any OpenGL. I can have two machines with GLX on them and yet my application crashes when I try to display it on the remote one... practically ANYTHING using OpenGL asplodes. Any more, that's the only thing I want to display remotely, because any old janky computer has enough power to run apps locally. It's not like when I was having to run Netscape on Linux displayed back to my SLC because it didn't have the power to run it satisfactorily.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    3. Re:Stupid by Theovon · · Score: 5, Interesting

      It's a myth that Wayland lacks network transparency. It currently doesn't DEFINE it, but it doesn't LACK it. That may sound like a semantic game, but it's the same as saying that X11 lacks policy, which is imposed by the window manager, a separate program. Wayland provides drawing surfaces to applications and then composites them onto the screen. There are many different ways in which the drawing surfaces can get moved from the client to the server for display. Locally, they're the same memory space. With remote applications, you can either move pixels, or you can have the rendering API send commands over the network.

    4. Re:Stupid by ThePhilips · · Score: 4, Insightful

      I have seen video of Keith Packard's talk which was providing quite a lot of reasons why Wayland or something similar is the way to go forward. The talk was centered on X protocol and architecture and how it works for modern applications. (Executive summary: very poorly.)

      One of the main points was that most applications (both KDE and GNOME) do not use X anymore. Largest part of X is related to the 2D graphics and font rendering. Yet, most applications do not use X for that anymore and render everything by themselves, sending to X only the final image to display. X became a simple display driver with a fancy network interface. Why the layer is needed at all?

      Another memorable problem is that X is unable to support full-screen games.

      So those behind Wayland are not only bubbling windows fanatics - but also people who want to stream-line Linux' graphics stack.

      P.S. I would love to have some guarantees that X would survive and I would be able to run a GUI app remotely, but something tells me that the days when I was taking that for granted are counted.

      --
      All hope abandon ye who enter here.
    5. Re:Stupid by dkf · · Score: 4, Insightful

      It's not only about some specific effects but also about having a generally smooth and intuitive desktop experience. Plus it's nice to have the small flicker here and there eliminated which rids the traditional desktops.

      But you can get that with X11. Intuition is not built at the basic graphics library layer anyway, and never ever was (it resides at a higher level). Smooth running? That again is a matter of correct programming (e.g., getting the handling of buffers right) as the fact that some X11 apps have been running smoothly for decades will testify. Going to Wayland will not fix these sorts of problems.

      OTOH, there are things that it will fix. For example, it's finally just about becoming limiting that window dimensions have to fit in 16 bits. And it will also mean that some legacy nastiness can be dropped. (I so wish I'd never had to understand the mess that is visuals. Complex, confusing and long obsolete.)

      --
      "Little does he know, but there is no 'I' in 'Idiot'!"
    6. Re:Stupid by ThePhilips · · Score: 5, Informative

      So somebody that has not even heard of the root window is trying to tell us all what X can or can't do and getting it wrong?

      I'm pretty sure Keith Packard, as a lead of X.org, has heard of the root window.

      Here is the video I was referring to: X and the future of Linux Graphics.

      --
      All hope abandon ye who enter here.
    7. Re:Stupid by maxwell+demon · · Score: 4, Insightful

      How many drivers for graphics cards no longer sold, but still in use, will be updated to use KMS?

      --
      The Tao of math: The numbers you can count are not the real numbers.
    8. Re:Stupid by npsimons · · Score: 3, Insightful

      Yet, most applications do not use X for that anymore and render everything by themselves, sending to X only the final image to display. X became a simple display driver with a fancy network interface. Why the layer is needed at all?

      Okay, if this is the case, why is Wayland ignoring network transparency? Fine, the X rendering layer isn't used anymore and should go away; maybe the entirety of X should go away; why does it immediately follow that network transparency should go away? Don't throw out the baby with the bath water.

      Another memorable problem is that X is unable to support full-screen games.

      That's funny, I could have sworn I used to run all sorts of games full screen, across multiple monitors no less, since at least 2001. And yes, this was Linux with X11, with games that made heavy use of OpenGL (NWN, Unreal, etc).

      So those behind Wayland are not only bubbling windows fanatics - but also people who want to stream-line Linux' graphics stack.

      Fine, but I ask again - why does network transparency have to go? I might be more convinced that those behind Wayland weren't bubbling Windows fanatics if their solution to the remote GUI apps problem wasn't the same as Windows and MacOSX. No, remote desktops in their own window *isn't* good enough. If I really wanted that, I can *choose* it, but I'm not *forced* to run remote GUI apps that way.

      I would love to have some guarantees that X would survive and I would be able to run a GUI app remotely, but something tells me that the days when I was taking that for granted are counted.

      And this exact same feeling is why others are wailing so loudly against Wayland.

    9. Re:Stupid by Trepidity · · Score: 4, Informative

      Hmm, interesting; thanks for the link. I hadn't realized that the X.org people are moving in the same direction. Doing a bit of googling, this LWN article summarizes a Packard talk from last year that seems to be hitting some similar points.

    10. Re:Stupid by Mad+Merlin · · Score: 5, Interesting

      2. Help X11 by fixing what people perceive to be wrong with it. Maybe then you'll also see how bloated and painful it is to work with X11... (ultimately, that's the REAL reason we're seeing a rise of Wayland). You don't have to agree, you just have to realize that the people who disagree with you are about to overpower your choice. The mantra of "well, if they want it (the fancy animations), they should add it to X11 themselves or shut up" has failed you. Instead, someone has written an increasingly viable alternative which lacks features YOU want. Which leads me to ...

      This would be counterproductive. By far the most common complaint I see about X is "OMG IT'S SLOW BECAUSE IT ALWAYS RUNS OVER THE NETWORK!!!!!!!!". However, on a local display, X uses a domain socket for communication, basically the fastest method available. So, the perceived problem isn't actually a problem at all, "fixing" it would be a mistake.

      As far as I can tell, anyone who's backing Wayland has no actual concrete complaints about X, they just feel the need to rewrite everything from scratch (a common problem, unfortunately). Furthermore, in all I've read about Wayland, it doesn't bring anything to the table except fewer features and newer (buggier) code.

      I don't know if you've noticed, but KDE and Gnome (and others) already have lots of fancy animations, and they didn't need to rewrite X to get it done.

  2. Re:Not so stupid. by maxwell+demon · · Score: 3, Insightful

    I have no problems with a modern interface, as long as this doesn't mean taking essential features away. And yes, I do consider network transparency essential.

    --
    The Tao of math: The numbers you can count are not the real numbers.
  3. I don't get it either, where is the benefit? by Anonymous Coward · · Score: 3, Insightful

    I'm an old fart, but as far as I'm concerned a computer is a tool to accomplish a goal not an end in itself. I use a computer to get work done, or for entertainment. In both activities I couldn't care less about the computer itself, as long as it is efficient and stays out of the way.

    Now look at the trends today. Every major window manager seems thoroughly convinced that mo' shiny is mo' better. Transparant everything, all-singing all-dancing window animations. Very clever stuff, but does it help me get my work done faster?

    I realize that preferences are very personal, but perhaps I'm not completely wrong when I say that, in general, Gnome 2 is a whole lot better for getting work done than Gnome 3/Shell or Unity. Also, every window manager seems to be targeting tablets and netbooks, but completely ruining the experience on actual real displays where there is plenty of screen real estate. Why?

    Now X somehow just has to be replaced by Wayland, perhaps for the same reason PulseAudio just had to replace Alsa. Change for the sake of chance. Ticklist features.

    Perhaps there is no glory in delivering a stable, mature platform anymore. Perhaps developers these days want to work on 'teh shiny' only.

    As I said, I'm an old fart, but perhaps all these new-fangled thingamajigs should really vacate my lawn...

    1. Re:I don't get it either, where is the benefit? by maxwell+demon · · Score: 5, Insightful

      Nobody's forcing updates on you, old timer.

      Sure. Except that you do want to get security fixes. And you probably also want to run a few new applications.

      --
      The Tao of math: The numbers you can count are not the real numbers.
    2. Re:I don't get it either, where is the benefit? by Short+Circuit · · Score: 5, Insightful

      Last time I checked, nobody was forcing you to switch from X to Wayland or Gnome 2 to 3.

      And nobody forced me to switch from GNOME 1.4 to GNOME 2, right? Or from browsers that support HTML 1 to HTML 5? Or from FTP+{IPSec|SSL} to SFTP?Wherever the most users are, that's where developers will go. Developer time is a finite resource, and any time developers go somewhere, they have to leave something behind.

      I'm not saying that we shouldn't move to new systems, but there are very stable and usable features in old systems which don't exist in new systems, and there's always some cost..

      Some apps written for GNOME 1.4 were never ported to GNOME 2, because their developers abandoned them. (I can't think of examples off-hand, I just recall encountering the problem at the time of transition) HTML 1 was a very simple, straightforward means of conveying information for rendering and presenting to humans. It just wasn't fancy enough, so it was replaced. Did you know that FTP allows you to instruct one FTP server to transfer a file to another? That's pretty epic when the two servers have a connection 10-100 times as fast as your connection to either--and tools like IPSec, SSL or a secured layer 2 made that reasonably safe.

      Yes, each of these older systems had their own faults, and newer versions sought to cope with those faults, but new versions often fail to retain the flexibility and existing utility of old versions. I shudder to think how many hours of coder's times are spent shoehorning existing things into new systems or on top of new paradigms. Worse, everybody thinks they've invented something new, when all they've done is (often inadvertently) re-invented something a decade or six old in a new context.

      It feels like make-work for a stagnant field. Pay someone to tear down the old road and build a new road, except the new road isn't even expected to last as long. We're not accelerating innovation as fast as we tend to think, we're stuck in a mud puddle and spinning our wheels.

    3. Re:I don't get it either, where is the benefit? by RightwingNutjob · · Score: 4, Insightful

      X is mature code and it works. It makes sense to replace it only if you replace it with something *better*, which is different from *shinier*. Dropping pretty basic features like network transparency because it doesn't make sense on tablets, or for n00bs, or etc is bad engineering, bad philosophy, and bad karma.

      You should not condition the capabilities of a system on the capabilities of its least experienced users.

  4. X allows us to use legacy programs by Sir_Kurt · · Score: 3, Insightful

    In our office, we use the ability to run programs remotely on a regular basis. It is particularly useful for running programs that have dependencies that are no longer included in modern linux distributions.

    As an example, I am a big fan of Word Perfect. I have used it to write specifications in our architectural office since maybe 1986. As some of you may recall, Word Perfect was available as a native Linux application -not a port or WINE abortion- I love this program, and would reinstall it at each upgrade, moving the required libraries from the old 2.0 kernel as needed.

    Starting about Fedora Core 3, It just couldn't be installed in a way that was useful.

    I solved this by installing RH9 on an old box, installed the libraries from Kernel 2.0 installed WP and have been happily running WP on this box with the display appearing on whatever computer I happen to be using ever since.

    This is just one example, and maybe seems like a cranky one, but we have many other examples, such as pushing intensive computational tasks off to another computer while having the display on the desktop.

    We will miss X greatly. Why this push lately to screw up the Linux desktop, anyway?

    Kurt

  5. Misleading! The point is to keep X compatibility. by dfaure · · Score: 5, Informative

    Typical slashdot: the article distorts the truth in order to get reactions.

    It was pretty clear during that presentation that the goal was to make it possible to still run X applications -- using a rootless X server -- and that this would also allow X-over-the-network use cases.
    X11 is not going away, the idea is to use Wayland -and- X.

  6. Re:What's wrong with X11? by Chemisor · · Score: 5, Informative

    The main problem with X11 is the complete lack of frame boundaries. Applications just send a stream of drawing commands with no indication of where one frame stops and the next one begins. Consequently the server has to keep drawing stuff as it comes in, resulting in flicker. Flicker is the first thing a novice X11 programmer complains about and online forums have been filled with pleas for help with this problem for decades. The traditional solution was to render to an offscreen image and send it to the server. This requires a lot of bandwidth, so the next step is to use MIT-SHM extension to avoid this traffic. Then came XComposite extension which automatically handles double buffering. XComposite has the luxury of being able to sync to vretrace, but not knowing where the frame boundaries are it can't do it lest it cut the instruction stream in the wrong place and draw half-a-screen. In the meantime, after two decades of deliberation, the XSync extension still does not implement the ability to detect vretrace.

    Wayland solves the above by moving rendering into the client, as in the render-to-image solution above, and then copying the image to the server. This can be done though shared memory as well. The rendered image on the client represents the complete frame.

  7. Re:Not so stupid. by TheRaven64 · · Score: 5, Insightful

    X is far from perfect (and I say this as someone who's written a compositing WM). There is a huge amount of the X11 protocol that no one actually uses anymore. Font rendering, for example, has to be done on the client or you get different sets of fonts for remote X11 (yuck!). For fast text rendering, you use the XRENDER extension, and store glyphs in the server then composite them. That takes care of text, but what about line drawings? X has basic drawing primitives, but most apps use something like Cairo to give a PostScript / PDF style drawing API, and Cairo doesn't use any of the X drawing primitives. It just draws everything into a pixmap and then sends it to the X server. This means that most of what people are actually using X for is getting a window that they can composite pixmaps into. And X sucks at that. The input model is also pretty horrible (take a look at how click-to-focus is implemented some time, it will make your brain hurt).

    The problem with Wayland is that it doesn't seem much better. It's thinner, which is nice, but that's about it. It's also Linux-only (while X.org runs on all *NIX systems, plus Windows), and it is released under a less permissive license than X.org.

    --
    I am TheRaven on Soylent News
  8. Re:Not so stupid. by TheRaven64 · · Score: 3, Informative

    Well, you can move things into the X server, but currently X doesn't support anything like the functionality that cairo needs. There is no X command for drawing a bezier path. There isn't even an X primitive for drawing an antialiased line. That's why people use things like Cairo.

    Now, ideally, I'd like something a bit more like Apple's display server, where PDF-like commands are streamed directly to the display server, which can then do the 2D rendering and compositing. One of the first things I'd do if I were implementing X12 is ditch all of the existing X11 drawing commands and add most of the PDF 1.4 operators - in fact, the set that the HTML 5 canvas tag exposes to JavaScript would do very nicely.

    --
    I am TheRaven on Soylent News
  9. Re:Isn't KDE 4.x buggy enough already? by dotancohen · · Score: 5, Funny

    The bug where KDE still is inferior to GNOME? :P

    Oh, that one. I think that the Gnome 3 team is working on that bug!

    --
    It is dangerous to be right when the government is wrong.
  10. Re:Not so stupid. by TheRaven64 · · Score: 3, Interesting

    NeWS and Display PostScript were very similar, but there were some differences. NeWS encouraged you to write entire view objects in PostScript. This was a bitch to maintain, but it was great for remote display. With NeWS, you clicked on a button and it ran a PostScript program showing the button in the pressed state and sent a message to the remote machine saying the button had been pressed. With DPS and X11, you click on a button, and it sends a 'mouse click at coordinates x, y' message to the remote server. The remote machine then sends back drawing commands to produce a pressed button. Over a slow link, this means that NeWS buttons respond immediately, while X11 / DPS buttons respond after 100+ms. The closest thing we have now is the web. The canvas tag and JavaScript basically provide a modern version of NeWS.

    DPS was a bit different, and Apple ditched the programmability entirely when they moved to the PDF rendering model in Quartz. This means that the interface is simpler - you no longer need an interpreter in the display server - and the addition of all of the compositing stuff meant that you could do much better raster displays.

    Given that PDF is actually quite a dense format already, I'd be tempted to simply define the wire protocol for drawing as encapsulated PDF objects. This would let you store any sequence of drawing commands (e.g. a button shape, a text glyph composed of bezier curves, or an image) on the display server trivially and then redraw it at the current position with just a single command. It would be really easy to implement this with the canvas tag, so you could have a simple display server implemented in a web browser using WebSocket for remote display anywhere, and a proper native version for local and remote display.

    --
    I am TheRaven on Soylent News
  11. Wayland and the Empire by Oxford_Comma_Lover · · Score: 3, Funny

    The other bug, of course, was putting the future of the Linux Community in the hands of Grand Admiral Thrawn, with the Emperor's storehouse on Wayland. Have we truly chosen to go with the Empire, in the hope of developing a new clone army and ruling the known galaxy?

    I thought Linux was more about being the fastest hunk of junk in the Galaxy, about tearing the droid's arms out of their sockets if they win but being willing to put them back together (backwards) and carry them on your back, about shooting Greedo first and stepping on Jabba's tail?

    --
    -- IANAL, this isn't legal advice, and definitely isn't legal advice for you. Also, Squee!
  12. Old Fart here again by Anonymous Coward · · Score: 3, Insightful

    Hi, Old Fart here again.

    I know I don't have to follow in step with what the big distro's are doing. I assume most developers will follow with the new paradigms. So how long before applications start to rely on Wayland? How long before they just don't run on X or only via some emulation layer that breaks more things than it solves? It is just a matter of time.

    Sure, I could stop updating my applications and use them as they are now. I still use xfig for diagrams so in a way that's not a new concept. It would mean that I have to sort-of maintain my own distro with a user base of one. Fine, I can do that, and I won't complain about that. There will come a time that I have to upgrade when hardware drivers refuse to support X (or the other way around, of course).

    Still, I don't see why software that for the most part works just fine has to change into something new that is invariably less stable and, frankly, less usable. Don't fix what isn't broken.