Update On Wayland and X11 Support
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.
Okay so I understand the whole desire to toss out X and it's extreme amount of legacy code, but Wayland to me seems like even at version 1 will be crippled compared to X. The no network transparency I can handle (just barely), but no apps that require full OpenGL? I've tinkered around with OpenGL ES in the past and it does not seem like an acceptable substitute when you need full OpenGL. Why are distros planning on adopting it so quickly? Are these flaws that normal users would not notice or care about?
IIRC X11 has a lot of redundancy with stuff that's already in the Linux kernel. Weyland is a compositing window manager that removes those redundancies for better performance and code maintainability. Weyland loads X11 legacy support only as needed on an app by app basis. Benefits include Compiz working much better by bypassing X.
They should get you to write their web site. I clicked the link, and after reading the summary on the first page, I still didn't have any idea WTF it was for...
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
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."
Wayland is meant to replace x.org entirely, but it simply replaces the overcomplicated xorg ecosystem with an overcomplicated mess of build-time dependencies while removing all of the features that have kept x11 on top. To make the whole situation an absolute joke, x11 integration is regarded as the most important part of wayland's code.
Fedora and Ubuntu want to switch to Wayland entirely. This is another in a series of awful interface decisions that have lead to things like Linux Mint and Scientific Linux creeping up and taking userbase away from what have been powerhouses. What I can't figure out is why no overarching community has arisen among the 'conservative' linux users. There's clearly a lot of backlash to the ridiculous things going on at freedesktop.org -- xcb, wayland, systemd, journald, et al -- but there seems to be no alternative standards committee coalescing... and that will be the death of linux as an alternative for power users.
Comment removed based on user account deletion
Comment removed based on user account deletion
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 (see "Is wayland replacing the X server").
Benefits include Compiz working much better by bypassing X.
Those who would surrender basic functionality for eye candy deserve neither.
Give me Classic Slashdot or give me death!
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.
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.
You are correct - anything else IS eye candy. And many of us ARE happy with TWM and X Terminals - because those are the tools we need to do our jobs.
I want to delete my account but Slashdot doesn't allow it.
As I understand it, X11 is horribly out of date.
It should be clear to anyone that there are some stone-age omissions in X:
- Basic transparency is either an ugly hack that glitches all the time (xcompmgr) or else a fairly extravagant system like compiz.
- Smooth fonts is an extra.
- Multiple displays is an extra.
- There are serious security flaws in areas such as screen locking. See this great series of points by the author of xscreensaver.
Then, there's all this support for legacy technologies that don't affect 90% of Linux/BSD systems, let alone the potential general market.
All in all, X11 has fundamental weaknesses, doesn't reflect modern usage and is really too big to fix. Legacy support and compatibility are so important that problems can't be fixed.
I haven't been following Wayland too closely, but my understanding is that it will address these issues as fundamentals of the system. I hope it does address each of these issues, because they are important. Performance could certainly improve on X. Let's hope it does with Wayland.
I'm not that familiar with how display servers work either, so correct me if I'm wrong about anything. No need to rage, I'm not trollling anyone.
My prediction is that it will become fashionable to whine about Wayland, lots of people will resist it for a while, but in the end it will be the most suitable alternative and only the truly stubborn and those who need X for some reason will avoid it. See the history of PulseAudio for reference.
Sorry about the identical AC post below. I forgot to sign in.
--
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.
you've just described me. I run fvwm 1.4 and I open a term window (whatever is the current default from the distro I have) and I run things. env DISPLAY has stuff and if I run an X app, a window comes up. the window mgr lets me move windows and iconify them. what the hell else do you want/need?
I believe in things being as lean as possible and having to prove or justify any excess. since the old DECwindows days, I've run essentially the same style of window mgr and 'xterms' work basically the same as they did 30yrs ago. you type in them, you can mouse in/out of them, you can scroll them. the paradigm has not changed, really, at all, in all these years.
I cannot justify a 'desktop'. I run a window mgr and windows come up as terms or apps and that's that. runs very fast and bug-free and stays up for months (and years) at a time.
I don't quite get the need to have to add complexity to what does not need it.
(oblig GOML)
--
"It is now safe to switch off your computer."
Especially any sort of OpenGL, which doesn't work over the network.
Wrong! OpenGL works over the network, in fact it was designed to.
Game! - Where the stick is mightier than the sword!
Discussions of Wayland on Slashdot tend to be all about a lack of network forwarding or missing features, so I think I'll share some of the positive things I expect to see from Wayland:
I'm not aware of any X.org implementation that's gotten 60 FPS on an embedded GPU. That's not me trying to knock X.org, say anyone should stop using it, or say people need to "upgrade" to Wayland before it's feature-complete. That's me recognizing the reality of X.org not being "one size fits all" in a world where embedded or mobile Linux (think Android) outsells (and out-deploys) Linux on big core 10 or maybe 100-to-1.
Disclaimer: A big part of my job of performance optimization of applications on Linux running on mobile devices.
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.
... 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.
The creatures outside looked from Alt-Right to Antifa; but already it was impossible to say which was which.
Except that it requires the x server (or wayland/etc) to be RUNNING on the remote machine. With remote X, I can cold-boot a machine that doesn't even have x11 *installed*, and then ssh -X into it and run any gui application I want, without EVER having to install OR RUN x11 on the remote machine. THAT is the true power of remote X.
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.
Contrary to the popular belief, there indeed is no God.
Because I used it for five years to run VariCAD on a server with no local video acceleration, displaying on client with Nvidia card, both running Debian.
Contrary to the popular belief, there indeed is no God.
No, wayland uses a socket to communicate between the client and the compositor. It is not function calls. Many calls to the client library can be (and are) consolidated into a single block message sent to the compositor. Wayland was designed for this, by avoiding return values from the calls, so they can be asynchronous (this is where Windows fails badly, and Xlib (though not X itself) also did in many cases, because they failed to realize that some calls they thought would be rarely used and thus ok to stick a return value on are used extensively).
In Wayland the client draws the window borders (and before you blurt out "but they will be different from each other and 'confuse the user'" be aware that nothing on X makes anything other than the window borders draw identically, but somehow there are all these applications where they draw their own scrollbars and buttons and text editors and they all look alike and fail to "confuse the user".)
X ICCCM window management was invented before there were shared libraries, so now there is a huge messy complex api built on top of the limited atom+value and signalling that existed in X11. Having written a toolkit (fltk) I can confirm that talking to the window manager literally takes 10 to 20 times as much code as if I drew the window borders myself. And we still have horrific problems where various window managers disagree on whether a window should vanish when the app loses focus and how "stay on top" should work, and we can't put the most trivial buttons or items in the window pulldown menu, something Windows allows and is making it increasingly difficult to port applications from Windows.
Wayland wisely has decided to scrap this mess by having the clients draw the borders.
Emulating X is trivial if you just work with the windows the X client knows about and repliate them on Wayland. The problem is that all that ICCCM stuff will need to be interpreted by something and draw window borders as well. It is not clear if this should be done by a local "act like xlib" library, or by a fake X server, or by an actual X11 window manager running on the fake X server. That's why window management is currently a "hack" because this has not been decided.
Wayland is actually simpler than X. That being said, I think it will be a very very long time, like a generation minimum, till X.org doesn't have an X for Linux. As far as games Wayland is a pure advantage.
I was running OpenGL stuff from a IRIX box in the next building on a fairly low end linux box with a low end 3D card in 2000, and it worked better than you describe. Just about everything that runs X now, including any recent purpose built terminal, is a hell of a lot better than that now.
My desktop machine at work now is getting a bit old so I'm actually posting this using firefox on a fairly fast cluster node via X. While that's not 3D some of the geophysics stuff my co-workers use involves a lot of 3D content, and I've played with Blender on some nodes during setup to see how they handle it. That's with Nvidia's accelerated driver in nearly every case.
By the way, what's the "modern CAD system"? I'm only familiar with the old stuff (I'm putting the most recent AutoCAD in that category since it hasn't really changed in years and is low end anyway) so you may have a point I'm not aware of.