Forgot your password?

typodupeerror
X Software

Update On Wayland and X11 Support 315

Posted by Unknown Lamer
from the no-love-for-x11 dept.
Phoronix was at the Linux Foundation Collaboration Summit and has two articles on the status of Wayland and X11 integration. The second talk was about the current status of Wayland, and its impending release (version 1.0 is due this summer). The developers also have an experimental GNOME-Shell working on Wayland. There's a (kind of shaky) video of this talk (attached, and at youtube for those wanting the html5 version). The first talk (by Keith Packard) covered X11 support on Wayland. It's basically ready to go, but window management is implemented only as a hack right now. The next year could be quite exciting for GNU/Linux and BSD users as distributions begin including Wayland as an alternative to X.org.

This discussion has been archived. No new comments can be posted.

Update On Wayland and X11 Support

Comments Filter:
  • Re:Wayland vs X (Score:5, Insightful)

    by Burdell (228580) on Friday April 06, 2012 @11:04AM (#39597473)

    Okay so I understand the whole desire to toss out X and it's extreme amount of legacy code

    Why? What part of "legacy code" automatically means "toss [it] out"? The Linux kernel is over 20 years old, and the core BSD code is older than that. Do you also want to just throw them out and start over from scratch because they're old? Now, I agree with you that something that is less functional than its predecessor should not be adopted as its replacement, but I hate the assumption that "old == replace from scratch" that seems to be common in software development (especially in the open source/free software community).

    I have tools in my toolbox that belonged to my grandfather, and my father has tools from his grandfather (100+ years old). We still use them because they work. We have other tools that we've bought to perform other tasks, but the old tools are not replaced just because they are old.

  • by agwadude (666995) on Friday April 06, 2012 @11:26AM (#39597649)

    One of the features that always distinguished X from other display systems like Mac and Windows has been network transparency. You can ssh to another Linux system, start an X application, and that X application will appear on the system you ssh'd from. This is immensely useful and evidence of a well-thought-out design, but it's an afterthought to Wayland. They say they might be able to render to a VNC server, but VNC works like crap and is full-desktop forwarding rather than individual window forwarding.

    It's extremely ironic that when X was created in the 80s they recognized the importance of distributed systems and network transparency, but now it's 2012, the Internet and the cloud is king, yet network transparency isn't a core feature.

    All this because you can't cross-fade when switching VTs in X or have a "rotating cube" animation [freedesktop.org] (see "Is wayland replacing the X server").

  • Re:Wayland vs X (Score:5, Insightful)

    by characterZer0 (138196) on Friday April 06, 2012 @11:37AM (#39597791)

    X was designed for how video cards worked and what they could do decades ago. Support for newer features is hacked on. The kernel may be 20 years old, but the video drivers have been changing all the time. Wayland is targeted at modern hardware, and aims to be simpler to use and perform better.

  • Re:Why? (Score:5, Insightful)

    by makomk (752139) on Friday April 06, 2012 @11:38AM (#39597793) Journal

    Downsides include not having any kind of network transparency or remote desktop support. Even supporting something like VNC on top of it would require a lot of internal changes and probably kernel-level support code too, and the developers basically consider this Someone Else's Problem.

  • by Electricity Likes Me (1098643) on Friday April 06, 2012 @11:41AM (#39597835)

    Remote Desktop on Windows seems to be somewhat more intelligent then just "screen scraping".

    Similarly, VNC on Linux can be like this.

    But by far the best solution I've encountered is x2go, which is based on NX, which notably just caches and removes some of the overhead of straight networked X.

    Surely, the better answer here would be to tackle that problem - implement a well behaved network protocol.

  • Re:Wayland vs X (Score:5, Insightful)

    by Anonymous Coward on Friday April 06, 2012 @11:45AM (#39597883)

    What you don't understand is that Linux might be 20 years old, but what you call "Linux" today is almost incomprehensible compared to the original Linux other than both being mostly UNIX-like. The same cannot be said of X which is still adhering to a basic protocol that is over 20 years old and was designed long before anything that remotely resembles a modern GPU had come into existence. That's why large portions of the X server are *already being bypassed* by modern programs to give you halfway decent performance. Did you know that the large majority of graphically intensive applications (like everything using Cairo) are basically just shoving bitmap images across the X server now instead of trying to use the ancient and convoluted drawing commands that were cool in the 1980's but haven't been useful in a long time? X needs to go away.

        Oh... and don't get me started about network transparency either. X's network transparency SUCKS over anything other than a gigabit LAN *and* you can't disconnect from X and resume the same GUI application on another device like any decent remote GUI system should allow (e.g. why the hell can't I start a remote GUI program on my PC then shift the same program it to my smartphone and keep working on it? The reason is that X's network protocol is *not* the be-all end-all that many people think it is). If X's network transparency was so awesome then NX would never have come into existence.

  • Re:Wayland vs X (Score:5, Insightful)

    by MoellerPlesset2 (1419023) on Friday April 06, 2012 @11:48AM (#39597927)

    Why? What part of "legacy code" automatically means "toss [it] out"?

    He didn't say everything that's legacy should "automatically" be thrown out. But X has a huge amount of cruft nobody uses anymore. Nobody actually writes towards Xlib, they use a toolkit. Nobody uses the orignal font functionality and descriptors, the bitmap fonts, the pixel-based rendering primitives, the image system that has no less than three different ways of storing an image (ximage, xpixbuf, xpixmap), that distinguish drawable and non-drawable images, depending on where they're stored. Et cetera. It's not thread-safe either.

    Nobody is using the core X functionality, it's all outdated and largely replaced. The one redeeming feature of X - the network transparency, isn't that 'transparent' (again, the API distinguishes server-side and client-side stuff). Nor does it support modern stuff like drag-and-drop, and cut-and-paste has always been inconsistent (highlight-middle-click not being the same as the desktop or application's cut-and-paste buffer). Since nobody's using the core libraries anymore, the network transparency in X mostly consists of it passing events and bitmaps back and forth, something a simpler protocol like VNC can do just as well if not better.

    In short, people don't need any of the things that are unique to X, and the things people actually use X for can be done better without it. It's a big load of cruft that exists for backwards-compatibility purposes only. Which is why it's entirely the correct decision to dump X11 and relegate X11 support to a compatbility library, so we don't need to have stuff held back and complicated by these legacy designs.

  • Re:Wayland vs X (Score:2, Insightful)

    by Anonymous Coward on Friday April 06, 2012 @11:59AM (#39598051)

    The network transparency argument is a CANARD. X *is already crappy at network transparency*. Try using X over even a decent broadband connection and prepare for agony. Oh.. try running a GUI application remoted over X on one device like your PC and then ship the same application over to your cellphone or notebook without having to close & restart the application.. YOU CAN'T. Just because Wayland is primarily directed to actually letting Linux take advantage of modern GPU hardware does not mean that X's mediocre at best network transparency needs to hijack all future development. Wayland can implement network transparency *on top of a good display system* instead of trying to hack a display system *on top of sub-par network transparency*.

    Before I hear the litany of responses about how wonderful X's remote features are: Why does NX even exist if X is already perfect???

  • Re:Why? (Score:2, Insightful)

    by Anonymous Coward on Friday April 06, 2012 @12:07PM (#39598169)

    Then step the fuck up and maintain X11 and the X11 compatibility layers for the toolkits that are out there. Don't tell other people they can't move on to newer things because it would inconvenience your lazy ass.

    Good luck moving on when the hardware manufacturers that matter have already said they have no plans to support Wayland. Oh and good luck bringing people in with this attitude.

  • Compatability mode (Score:4, Insightful)

    by Picass0 (147474) on Friday April 06, 2012 @12:13PM (#39598279) Homepage Journal

    My understanding is Wayland is not ready for prime-time just yet, but when distros start using it will have X11 legacy support to handle stuff like this.

    By putting a 1.0 out there they are telling developers of X11 apps to start planning/testing/adapting.

  • Re:Why? (Score:2, Insightful)

    by Anonymous Coward on Friday April 06, 2012 @12:23PM (#39598413)

    I did read it and basically understood it, but agree entirely they are writing like a bunch of arrogant nerds trying to look brilliant. I've lunched with a fair number of Nobel Laureates over the years -- my take away point from those hours is this -- really smart people understand the importance of starting with a simple explanation.

  • by Eivind Eklund (5161) on Friday April 06, 2012 @12:25PM (#39598437) Journal

    To start with: the best wayland-related comment of all time appeared right here on slashdot:
    http://tech.slashdot.org/comments.pl?sid=2699657&cid=39198273 [slashdot.org]

    Second, please note that all comments in this post are regarding unix or linux as a desktop operating system as opposed to HPC or server-based usage.

    Now to move on: Currently the only wayland compositor implementation is weston. Weston requires kms, which makes it pragmatically linux-only, and it also requires udev, which makes it *actually* linux-only. To compound the problem, the developers are talking about integrating it with systemd. When asked how that will affect porting efforts, developer response was along the lines of "just port systemd to bsd."

    This is a prime example of Linux developers doing "Embrace, extend, extinguish" on Unix. "We're dominant - let's lock everything down to our solution, and force anybody else to play catchup."

    It may not be particularly intentional to damage other systems - having Linux blinders on, it's easy to see "All the world's a Linux machine", just like it used to be "All the world's a VAX" and "All the world's a Windows machine" - but it does the same kind of damage as if it was intentional.

    Eivind.

  • Re:Wayland vs X (Score:4, Insightful)

    by Anonymous Coward on Friday April 06, 2012 @12:28PM (#39598475)

    Okay so I understand the whole desire to toss out X and it's extreme amount of legacy code

    Why? What part of "legacy code" automatically means "toss [it] out"? The Linux kernel is over 20 years old, and the core BSD code is older than that. Do you also want to just throw them out and start over from scratch because they're old? Now, I agree with you that something that is less functional than its predecessor should not be adopted as its replacement, but I hate the assumption that "old == replace from scratch" that seems to be common in software development (especially in the open source/free software community).

    Yep, it's what jwz called Cascade of Attention-Deficit Teenagers [jwz.org] development model. And it's not the whole F/OSS community -- this disease is specific to the Johnny-come-lately Linux community. It's the flip side of CatB, and it's not pretty -- I go back and forth on whether it's worth it all or not.

  • Re:Why? (Score:3, Insightful)

    by Anonymous Coward on Friday April 06, 2012 @12:48PM (#39598801)

    No, it *is* for us.
    It is for us to muck around endlessly trying to make the &^%$#@ thing work. Just like Pulseaudio.

    The arrogant tone of your answer leads me to believe that you are part of the problem^H^H^H project.

  • Re:Why? (Score:4, Insightful)

    by KiloByte (825081) on Friday April 06, 2012 @12:54PM (#39598877)

    ... Compiz ...

    Those who would surrender basic functionality for eye candy deserve neither.

    Compiz is pretty damn usable, with both XFCE and Gnome2. I guess you're thinking about Gnome3.

    For example, on ancient machines with a semi-decent graphics card, Compiz with superfluous eyecandy turned off runs circles around regular window managers, because windows don't have to be repainted over and over every time you switch windows and/or desktops. You can see the contents, read something, focus your eyes, move the mouse to whatever you want to click, etc, giving the program inside a couple of seconds to swap itself in/etc, making you not even notice that the system is thrashing. On a regular window manager, you'll instead see an empty broken window.

  • Re:Why? (Score:5, Insightful)

    by Alex Belits (437) * on Friday April 06, 2012 @01:48PM (#39599525) Homepage

    Congratulation, you are severely misinformed, and everything you said is wrong.

    X11 has a lot of cruft that is no longer used because it was moved to different layers -- for example, it supports display-side (server-side in X terminology) bitmap font rendering while modern toolkits use application-side (client-side for X) rendering that implements antialiased fonts. While this is a design flaw, the solution is to either not to use the old system (what all modern software already does) or add a new font rendering system if it is warranted (what may be a good idea but hardly a priority for anything). Same applies to most of X cruft.

    Separately from anything stands X protocol with its excessive "chattiness". But all "alternatives to X" propose to drop the protocol completely and instead use direct function calls -- the chattiest thing that was ever created! After such a change, it would be impossible to add any remote functionality other than crude "hey, I am drew something, let's update the whole bitmap, and oh, compositing is already applied using MY screen layout!" mechanism. It's a huge step back.

  • Re:Why? (Score:3, Insightful)

    by sl3xd (111641) on Friday April 06, 2012 @06:59PM (#39602927)

    VNC is going to work the same way it does with Windows or MacOSX which doesn't involve low level support. VNC is an alternative to Network transparency.

    Excrement is an alternative to food. Gotcha.

    The only redeemable thing about VNC is that it's better than nothing. That's a pitifully low bar. VNC is marginally better than having somebody take a picture of their screen with their camera, and text message it to you.

    VNC has a horrible user experience, it's horrifically slow, and universally ugly - the only way to get it to "work" even half-reasonably is to compress the bitmaps so severely that the artifacts make text illegible.

    If you increase the bandwidth used to the point VNC can operate with anything other than "please kill me" as its user experience, X11 will run rings around it.

    If I had a dime for every time I've been bitten by not being able to copy & paste because of someone's VNC implementations, I'd be able to buy a yacht.

    There's no reason that *real* network transparency shouldn't be provided.

    X is long in the tooth; the X protocol can certainly be improved upon. Throwing out network transparency is a huge step backwards.

Thirteen at a table is unlucky only when the hostess has only twelve chops. -- Groucho Marx

Working...