Wayland 1.0 Released, Not Yet Ready To Replace X11
An anonymous reader writes "After being talked about for four years, Wayland 1.0 was released today. The Wayland 1.0 release doesn't mark it yet as being ready for Linux desktop usage but just being API/protocol stable for future expansion. Wayland will now maintain backwards compatibility going forward, but how much longer will it take to replace X11 on the Linux desktop? Quite a while seems likely."
I guess all of the X11 developers that are the ones developing Wayland don't understand X11 that well. You should send them a link to the classes you're teaching.
Oh, we'll call it 1.0, but I'm sure distros won't start shipping it by default because we said it's not ready. Why are you pulling that face? Worked for KDE didn't it?
I did, at least, skim the article, and I still don't know. Didn't X11 just (as in last few years) get replaced with x.org? This is another replacement already? Ok, before posting, I google and see this:
... [An X server has] a tremendous amount of functionality that you must support to claim to speak the X protocol, yet nobody will ever use this. ... This includes code tables, glyph rasterization and caching, XLFDs (seriously, XLFDs!) Also, the entire core rendering API that lets you draw stippled lines, polygons, wide arcs and many more state-of-the-1980s style graphics primitives. For many things we've been able to keep the X.org server modern by adding extension such as XRandR, XRender and COMPOSITE ... With Wayland we can move the X server and all its legacy technology to an optional code path. Getting to a point where the X server is a compatibility option instead of the core rendering system will take a while, but we'll never get there if [we] don't plan for it.
What's different now is that a lot of infrastructure has moved from the X server into the kernel (memory management, command scheduling, mode setting) or libraries (cairo, pixman, freetype, fontconfig, pango etc) and there is very little left that has to happen in a central server process.
which bored me to tears, so I'm no longer interested, but for those who are....
Free the Quark 3 from asymptotic confinement! Bring your charm! Don't get down! All colours and flavours welcome!
Actually it sort of does. Theres so much legacy garbage in the current X protocol that just wastes resources and makes it nearly impossible to maintain.
As I don't actively maintain X I have no stake in this, but if it helps to motivate new generations of developers to dive into thats great.
I can also note that I think the model Wayland is employing seems more sane, given what we've learned over the years of model and X driver development (DRI anyone?).
Not you again. Wayland is being built by X developers, and several other prominent X developers have said it is a good thing.
Would you say that you understand X11 A) better, or B) worse, than the people who actually write code for Xorg?
Imagine recreating xlib so it doesn't communicate with an X server but directly draws things on the local screen, maybe in a multithreaded fashion. In such a scenario, the ability to share a display between many programs would be lost or alternatively a badly behaviored program could disrupt the other's windows. What kind of increased performance would be obtained (if any) by replacing IPC, as used in X11 (and in wayland too?) for drawing and use in process fonctions instead?
Try never. Yes, I know that it should be possible to write a Wayland client that provides X11 server capability, but in that case, it is the Wayland client that is replacing X11, not Wayland.
Seriously, though, the Wayland effort appears to be throwing out every advantage the X11 display had over the Windows display for a replacement that will probably never be quite as good as a Windows. I just hope that developers of programs which currently support X11 continue to support X11, or my life will get much more difficult. In fact, for much of what I do, without X11 support (and only Wayland display supported), I would probably be better off with a Windows desktop instead of a Linux desktop.
The real "Libtards" are the Libertarians!
Yep, the issue with constantly pushing forwards and looking for the next new thing means that you can periodically make a bad choice. Shuttleworth, while some of his descisions haven't been the best, has been instrumental in pushing the Linux desktop to where it is today. Linux has never enjoyed so many desktop users. That brings good and bad, but its still an overall positive.
...or... they have google money to hire artists.
I, for one, am a nerd who appreciates what artists, managers, and, yes, even sales folks do to sell what I make.
Usually you get what you pay for. Sometimes you get less, sometimes you get more.
This issue is a bit more complicated than you think.
Unfortunately, developers are the second worst group for understanding what users need. The only part of X11 that people need is network transparent remote display, but that's the one part that the developers are absolutely hell bent on removing.
I agree that the artwork is much better, but the responsiveness under Android is also clearly better, fonts are much nicer, videos and games play smoothly and flawlessly. Hell - my Android phone puts my Linux workstation with its $200 nVidia graphics card to shame.
The important feature about X Windows was Network Transparency - You could run an application on one computer with its screen output and keyboard and mouse input on a different computer. Sure, there are other ways to do it - lots of ssh sessions, or web browsing (especially with AJAX etc.), or competing window systems like NeWS, or screen emulators like VNC and Windows Remote Desktop - but fundamentally it's a lot cleaner to have some kind of network-transparent window system than to have an application need to drive a "screen" on its own machine.
25 years later, do we still need this? Yes! Virtual machines are taking over the computer business, so you can't expect the application to be running on your desktop (even if it _is_ running in a VM on top of your desktop), screens are a wide range of different sizes and capabilities (laptops, tablets, big monitors, etc., which often don't resemble the machine the app is running on), web browsers are getting used in increasingly complex ways because Windows didn't have a convenient X interface, and there's more and more ugliness around, and more waste of resources trying to emulate things that X did adequately well.
There are lots of good reasons to replace X, but Network Transparency is still the core feature, even if you want the application to have more control over the screen and its associated hardware than we had back in the 1980s, or if you want to move processing functions to different points between the client and the server (e.g. NeWS and NeXT's Display Postscript did some things differently, and Plan 9 and its successors had their own opinions about how to implement everything), but if Wayland doesn't offer Network Transparency yet, it's not an adequate X replacement.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
Wayland is not compatible with X11. You can recompile a GTK program so it runs on Wayland, but existing X11 apps do not run on Wayland (they are working a crappy-ass Mac OS X like shim).
I can also note that I think the model Wayland is employing seems more sane, given what we've learned over the years of model and X driver development
Well I can note that I think client-side decorations is so much bollocks.
Wayland seems to abdicate responsibility on a lot of stuff that really needs to work across the desktop consistently, and that X was solving commendably.
It's native to the windowing system on both the local and remote machine and there is absolutely nothing I need to do to either system to pop up a remote display other than insert a 'DISPLAY=remote-host:0.0' in front of the command line.
Google invested a lot of money to get their Application client stacks to work very well with a sane OpenGL implementation, and OEM's shipping Android make sure that there are sane OpenGL implementations on Linux. The later cannot be said for any of the desktop players that have dropped the ball due to lack of interest for well over a decade.
Android proves that graphics on Linux can be quite successful functional, but it also proves at how little interest existing industry heavy weights have at supporting Linux in general. The question now looms, can AMD, Nvidia, Intel, and co continually give half hearted attempts at supporting Linux when their markets are now in more danger than they ever have before? Can they continually look a blind eye to one of the fastest growing consumer electronics segments in a long while? Time will tell, and the drivers (and standards bodies) will be the tell tale sign that they can truely embrase a world outside Windows PC's.
Bye!
I guess all of the X11 developers that are the ones developing Wayland don't understand X11 that well.
"Don't understand X11 that well", I don't know (though I'd doubt they don't understand X). As for whether X11 needs replacing; not here, no.
I do worry that they're ignoring the ideals of X, and focusing too much on cellphone/*pad interfaces, as opposed to the original X ideal (any device *should* be able to handle it, regardless of what your particular prejudices might be).
Does Fluxbox run on Wayland? If so, I'll try it.
"Tongue tied and twisted, just an Earth bound misfit
So.. X11 needs to be replaced with something shiny because of...? Seems the response most often stated is the code base is a mess. Why not just clean that up instead? And has others have noted here, remote usage is still important and no, VNC is not the same thing.
You are absolutely correct on all points. Its a shame that graphics support for Linux has been treated so poorly by so many companies for such a long time. Once again, it points to the clear need for a Desktop version of Android -- with the superior graphics performance and the enormous number of apps, it would be an instant game-changer in the PC market.
Existing X11 apps? Pray tell, what would those be? Does anyone care about xeyes anymore? I mean, I'd have thought that everything of note uses a framework/library of some sort that abstracts X11 away? Sure you need to port the framework, but the applications won't even know anything changed...
A successful API design takes a mixture of software design and pedagogy.
Vista was released 5 years ago. The very first release of Compiz had that problem, but Compiz was handling 3D desktops and openGL at the same time just fine 5 years ago.
http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
...network abstraction layers to their GUIs, specifically to enable people to mirror and share their desktops efficiently.
The mundane, non-vertically integrated *nix world still doesn't have this ability after all these years. X11 can't mirror/share, its also laggy over broadband connections, VNC is primitive and slow, etc. The NoMachine people have claimed they can support screen sharing in NX, but I haven't seen a working example yet (and those features are in the proprietary version anyway); otherwise they did a good job of making X11 usably network transparent for use cases not contained within a single LAN (i.e. most situations).
Personally, I'm tired of seeing all the hand-waving about X11's network transparency. It doesn't help in the vast majority of instances where people want to share an app or screen during a teleconference. X11 is not advanced in this respect -- just sadly out of touch. It mainly addresses the rather outdated use case where you have a handful of engineer types who open a CLI and type an ssh command, possibly fiddle with the display variable, then type in the desired app as a command so they can run one expensive, customized app on a server in a specially cooled room 3 floors down.
Or, we could just keep X. Much better.
Remote vanilla X11 over even today's internet is fucking slow as balls and about as painful as being kicked in them. Even on a lan it can be pain if your client is generating too many unneeded events (try eclipse over ssh x11 forwarding some time). X11 does facilitate the use of, say, NX and VNC though to mitigate the problem. Does Wayland? If so then bring it on I say. As long as the end result is the same or better, how is it a bad thing?
Which is why we have nxproxy which optimizes those things away.
If we wanted to do something new to X11, the best thing would be to get the NX modifications rolled in as a supported capability so Remote X would just work with them.
Unfortunately, this is not what people are objecting to. The problem is not that you cannot map X11 on-top of Wayland windows and run remote applications displaying on Wayland, the problem is that you cannot transparently display Wayland-windows on another machine.
On OS X and on Windows, it is not possible to display the native apps on a remote machine using X11.
The lack of network transparency will lead to every developer needing to ship two different applications, one linked to Wayland and the other to X11, then everyone need to download the correct app and install the one depending on their machine, i.e. on the machine that will be accessed remotely, install the X11 version on others install the Wayland version. Sure, we all know that you usually use GTK/Qt for applications, and while some of the issues could be solved by the GTK and Qt developers by cleaver dynamic linking to the display manager, often this works so-so and some apps will not be compatible with this, so you still need to run double testing for all your applications.
They should have started with defining the Wayland system in a way that was network-transparent, they could even have updated the protocols and made it more suitable for modern applications (i.e instead of sending delta-bitmaps, send the scenegraph updates for the window instead).
I looked through the other replies to see if I could mod someone up, but unfortunately no one answered your question and most posts missed the point.
The difference has nothing to do with the kernel. The difference in in the graphics architecture and how the subsystem works with the hardware.
First, Android's graphic subsystem is probably closer to Wayland than X11. The reason X11 is slow (or rather seems slow) is because X11 is an asynchronous API. That means things like window resizing and widget redrawing are all done without any synchronization, at roughly the same time, but not in any particular order. This means that you often get stuttering and tearing. So oddly enough if you use a compositing manager on Linux (any modern desktop), moving windows around is very snappy. Resizing windows is much better than it used to be because the widget toolkits have gotten much better at things like event compression, and even using synchronization extensions to X11 to time redraws to coincide with refresh rates. Also the API involves a lot of round-trips to the server, so over the network it's extremely chatty and subject to latency.
As allude to, X11 is a client/server architecture, which is a very powerful concept, but also causes some problems in making things appear smooth and fast (the asynchronous issue I just mentioned). X11's most powerful feature, is network transparency. I can remote log into any number of machines, and run individual apps and interact with them all on my desktop. Sure vnc or rdp can do this sort of thing, but not at an app (really per window) basis. I run remote apps as if they were local. I use this feature every day. It's not perfect; doesn't connect my local drive to the remote app, and it doesn't do sound. And if you're not on a LAN, it's better to use FreeNX.
Android is pretty much just OpenGL compositing onto a frame buffer screen. This can be very fast and smooth, and Wayland will likely be as fast and smooth. But it lacks the remote network transparency of X11.
Never say never :)
I hear you, honestly, but do keep in mind that sometimes change can be a good thing too. If they do it right, and it works everywhere, and gives you everything you had before but more.. why hold back? Sure, stay with what works for you for now but don't write off your options forever-more just because they're not there yet. I remember a time when I wouldn't own any phone but a Nokia, and wouldn't use a laptop because they were too underpowered and the screens were terrible. I wouldn't use anything that wasn't x86 and 32bit due to compatibility and stability. I wouldn't use wifi when ethernet was available because it was way slower and unreliable. I wouldn't consider using the internet on a phone due to cost and performance. All that's changed now and I couldn't be happier that it has
To anyone who complains about not using network transparency of X server, I do use all the time and I do need it. And so do thousands of system administrators and power users.
I hope Wayland has some kind of network transparency support. It doesn't have to be X protocol, it could be something new and improved, but there must be a network transparency support.
--Coder
It's native to the windowing system on both the local and remote machine
I thought that modern linux toolkits (GTK and Qt) and windows managers (eg. kwin and metacity) render windows entirely offscreen and just tell X to draw the resulting pixmap. Remote X just sends that bitmap over the network to the remote host. There seem to be little efficiency to be gained by using remote X over VNC in this case
there is absolutely nothing I need to do to either system to pop up a remote display other than insert a 'DISPLAY=remote-host:0.0' in front of the command line.
You need to have a command line to start with. If you're starting from nothing, opening a VNC session is not really harder than opening an SSH session.
I had a sig once. It was lost in the great storm of '09.
In my experience this network transparency of X11 is not really usable over the internet anyways - it's just too slow. I'm using x2go for linux remote desktop. Maybe it's useful over LAN, but is there many people who use it? Do you use it yourself?
For one thing, I get just the application window, not a whole extra desktop in a window. I can freely cut and paste between the remote application's UI and a local one.
Factor in the risk to get disconnected from the remote running application depending on the type of link that you have. With VNC, one can just reconnect to the VNC server.
A little details on X just for the ones who might still wonder:
Remote X:
Your Desktop runs the X server and you run client applications or even a window manager on remote machines. When the link goes down, remote applications have no longer a DISPLAY and usually crash.
VNC:
Your Desktop runs a VNC client to connect to a remote machine running X in a virtual buffer. The client applications display in a virtual X server on the remote machine. If the link goes down, just reconnect to VNC server and your applications are still running in that remote X virtual server.
Everything I write is lies, read between the lines.
VNC is one to one, but with X you can have a pile of windows open from a pile of hosts. It may not be important to many here but it's the entire reason why my workplace has linux on the desktop machines and why the MS windows machines all have X as well.
The funny thing is despite all the "cloud" hype people are forgetting one of the major advantages of being able to use the resources of more than one computer via networking. VNC is the dumb terminal approach, which is fine for many tasks, but it has limitations.
But yeah, it would be great if they would keep network transparency in Wayland but made a new protocol for it, fast enough for normal usage over the internet, supporting adjustable lossy compression, making coffee, BJ on demand and add a few other useful futures. Just wait, let me raise my army of Atomic Mutant Coders, it will be their second task.
Agreed ; it's slow, even over a LAN. It's fine as a stop-gap measure (like for VirtualBox, where the GUI VM configurator is is much easier to use than the command line), but it chugs.
For serious remote desktop usage on Linux, the only thing I've tried that's actually any good is NX, although that is the only thing I've tried. Microsoft's RDP protocol is excellent. NX is the only thing that comes close to it.
I suppose I might be making some mistake with how I've got it set up, but I've never seen applications run over ssh -X perform any other way but clunky and slow.
Existing X11 apps?
Yes.
Pray tell, what would those be?
Well, all the good window managers for a start. One of the HUGE advantages of X11 is that any user can freely replace the window manager. The move to Wayland would involve client side decorations (nothing inhernet in wayland, but the collective insanity of the Wayland developers seems to be pushing this policy), which massively limit what the compositor could realistically do.
X11 allows GUIs as diverse as Unity and ratpoison. I sit in a happy medium with FVWM, and I like it very much. That I would lose with Wayland.
And I still use xterm (I prefer it to any of the more modern terminals), xfig (still has some must have features) and xv (seriously? this program wasn't new in 1994! why do all subsequent views suck compared to it). I also have the odd hacked up thing using raw X11 because I find it very simple to use.
(Oh yeah and network transparency.)
<rant>
At this point a whole bunch of people ususally come out of the woodwork and tell me how only 1% of users or whatever use that feature and most users don't care and blah blah blah.
Well guess what Linux is never going to "win" the desktop. It is forever going to be used by people like me who take the effort to seek out something different. It used to be hacker friendly, letting you do stuff because you could, not blocking it because only 1% would use it or some other bullshit reason.
Hobbling Linux in a misguided attempt to capture some "market" that it will never capture will only wreck it for the rest of us who actually like it for what it is aren't using it because we're too cheap to buy a Mac or Windows or whatever. I love it because I find I do weird 1% stuff all the time. If I want OSX I know where to get it, and I really, really don't want it.
This is also the reason behind why firefox and gnome seriously break if you try to use (for instance) NFS mounted home directories. Because only 1% of users want it and so it is no longer well supported (and gives really idiotic error messages).
SJW n. One who posts facts.
Warning, sliders spotted! In WHICH universe is xterm fast? Try "time cat " on xterm and something sane like Konsole and you'll see for yourself that xterm is multiple times slower.
For all the crowing about network transparency, it is not the killer feature to most. In terms of network management MS's RDP easily wins out. Reason is that it works well and supports low bandwidth situations very well since it isn't just a pixel-based protocol. However for ease of use and cross platform goodness, nothing beats VNC. That's what our Linux guru uses, in the situations where a command line isn't enough, not remote X.
Frankly, given the difference between local interconnects and network speed, I don't think network transparency is the kind of thing to worry about. Rather, make a good local display system, and then add the ability to serve it out over the network through whatever means are appropriate, much like Windows does with RDP. The focus should be on good local display, as that is really what matters.
It doesn't stop X11 from running as a client over Wayland for those who need a remote app and working in practically the same way as it does now. But it does mean the vast majority of people do not need to run it and do not incur the performance penalties from doing so.
The two main complaints I see discussed here appear to derive from some fundamental misunderstandings about what Wayland is.
Wayland is a Protocol and an optional helper library to implementing that protocol. This protocol says nothing about net work transparency, in both the sense of enabling or prohibiting it. It also says nothing about client decorations. The key points here is not to make a decision for or against any particular technology or methodology and then be stuck with that decision for the next 20 years, like we are with X.
How or if, either of these work is all down to the compositor. The reference compositor 'Weston' does not do network transparency and leaves window decoration to the client or its toolkit. However none of the big desktops, i.e end users, will be using this compositor. For example KDE will continue to use Kwin as their wayland compositor, and KDE have already clearly said that Kwin will be decorating their windows and not the clients!
As to network transparency, all windows are drawn to their own back buffers, and where these buffers will be eventually displayed is also the choice of the compositor, and it might well just decided to send them over a network connection. e.g. like what VNC does.
I think if you base your opinion on what other people say, including me, then maybe you shouldn't comment? All of this is discussed first hand on the Wayland web site and/or mailing list.
Unfortunately since I've posted a bit late, I doubt many will read this...
I use it all the time over LAN and yes even the internet. I don't find it slow. But then i am not trying to play quake or anything like that.
If information wants to be free, why does my internet connection cost so much?
We ran X on terminals far weaker than the average cell phone in the 90s.
Give me Classic Slashdot or give me death!
Maybe my memory is faulty, but for all the faults Vista had "Aero CPU usage" is not one I recall-- since the ENTIRE POINT was that the desktop was graphics accelerated (hence, no cpu usage).
So just this morning I had to reboot my Win7 machine, because I had an RDP session that wouldn't die. Was it because I hibernated the machine to bring it in to the office, disconnecting the VPN in the process? I don't know, but the "Are you sure you really want to close the window, we'll save the session for you, is that ok?" dialog box wouldn't go away and wanted to be on top.
Win7 really is a lot better than XP, and XP was a lot better than 95/SE/ME were, but I still have to reboot it a couple of times a month. And stuff doesn't die for no good reason anywhere near as often as it used to (except Firefox, but our work IT department insists on using older versions with long-term support :-) (And at least Firefox saves its sessions relatively cleanly when it dies, unlike IE8.) And since I'm sometimes using an external monitor as well as the laptop screen, when I'm just on the laptop, sometimes there will be windows I can't open because they're on the Other Screen. If I were using X, these things wouldn't be problems.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks