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.
Someone enlighten me, why Wayland?
-- 4 8 15 16 23 42
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?
Any non-Phoronix links available for this information? Say, the Linux Foundation site maybe?
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").
A shaky 15-minute amateur video of a powerpoint presentation? WHY
the ordinary VNC protocol here. (I wish people would stop saying VNC in this context.) The trivial remoting solution for Wayland is VNC-like, that is "screen scraping" (or window scraping) -- just like Remote Desktop which is the only way of doing remoting which doesn't suck utterly.
I'm always entertained by diehard linux folks who simultaneously desire greater adoption of linux on the desktop while wildly opposing any actual steps to make it a reality.
Similes are like metaphors
In Unix/X parlance, the 'window manager' is distinct from, and higher-level than, the 'windowing system'. XFree86 and X.org are display servers like Wayland but have also taken over the job of being a windowing system. In contrast, examples of window managers are twm, openbox, compiz, etc.
Take off every sig. For great justice.
If anyone actually read up on wayland, they would see that you can plug RDP or VNC or whatever you want in for remote access. SSH in an forward VNC over the session, or RDP over the session. Same effect. In my opinion, this effectively negates the argument about network transparency. I find that X over a WAN connection is completely useless anyway.
X has a lot of legacy code, and a lot of layers. A new display server/interface is what is needed to get the linux desktop up to performance par with Windows7 and OSX. I'm not trying to start a thread war here, but X without a compositor feels very old and X with a compositor feels very laggy. Wayland is supposed to solve this and still provide for backwards compatibility with apps requiring X.
Comment removed based on user account deletion
is to provide display management for linux devices that generally do not require network transparancy such as phones and tablets and which are resource constrained so the bloat of a full xorg stack is unacceptible. Clearly Ubuntu which has designs on becoming the tablet king is embracing this - Fedora also has an interest because it is the basis of the olpc, raspberry pi and other lightweight device spins. The obvious simple way to support network transparency is to run an X server as a Wayland app and this works fine so backward compatibility is easy to provide in fact Gnome is adding westin support into mutter so apps will use wayland if available and X if not. Going forward adding network transparency nativly to wayland is a fairly trivial and can be implemented more efficiently than X - according to the developers.
So:
Plusses: smaller leaner and simpler code base, backward compatibility for legacy X apps, possibilty of network transparency not based on what was state of the art 30 years ago. Tight integration into linux.
Minuses: linux only (possibly), some pain in the transition possible while support is added to distros. Developers currently focussed on solving specific problems for Tizen.
-- Back to the shadows again...
Comment removed based on user account deletion
Giving it a conspiracy look, one might interpret it as an attempt of the unwashed hordes trying to take over Linux. Instead of going the sane unix-like route of moving graphics into virtual filesystems, like it's done on Plan9, they want to essentially replicate X11, but without its good parts. Wayland is not network transparent. It still needs libraries to be linked with your software. What you get is a bit more gimicky graphics, but you loose a lot of important features.
It's perhaps not quite as bad as the proposed move to binary log files, but still it offers next to no advantage for quite a bit of cost.
Replication of functionality between the kernel and X11 could be elimnated easily, buy building an X11 server that accesses the kernel.
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.
That isn't the term i would use.
---- Booth was a patriot ----
Its more than more complex, its makes the entire thing totally useless and a REAL bad idea.
Great if they want to clean things up, but to go a completely different direction at this stage of the game is ludicrous.
X works. Don't break it.
---- Booth was a patriot ----
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.
lot of comments here points to the fact that the entire linux kernel in current state is nearing expiry date and need a full rejig.
With remote X, XLib or GTK or Qt or whatever still needs to be installed on the server for such things to work. (Hardly surpising if you think about it.)
"A graphics stack that's fast enough to get 60 FPS scrolling on an embedded GPU"
If you want that sort of performance on a limited power device just write to the framebuffer directly. X doesn't have a monopoly on talking to the graphics hardware.
Same as how X11 is "implemented" on Android. It's absolutely useless.
I have my Nokia N900 running X11-based Maemo for years -- with compositing, remote X, phone-friendly window management of remote and local applications, etc.
Contrary to the popular belief, there indeed is no God.
If their implementation was compliant with X standard, it would be possible to just re-use any X window manager. And yes, that would require Wayland window to be manageable from X -- otherwise it's a shit implementation similar to "We formally support POSIX, give us government contracts!" in Windows NT.
Contrary to the popular belief, there indeed is no God.
A compositor plug-in can track changes & present this using VNC server protocol. It doesn't exist yet because it's not the focus, but it's fairly easy. Then the VNC Client under Wayland works like most any other client. Someone started on it for a Google Summer of Code project last year, but didn't finish.
Science & open-source build trust from peer review. Learn systems you can trust.
RDP wasn't much more intelligent than simple screen scraping at the time I was using it -- it may have changed since. It was still far better than X11 or VNC. It just avoided 1) being synchronous (as many programs on X11 are), and 2) the absurd JPG encoding which (AFAICT) is/was default in all the VNC implementations on Linux.
NX was a huge improvement over X11, but you couldn't take over an existing session (like in RDP), so that was basically useless for my use case.
But all of this is beside the point: The VNC-like protocol which is trivial to implement for Wayland is [b]fine[/b] for most cases (and [b]much[/b] better than the remote X11) and Wayland in no way prevents an even more efficient protocol from being implemented at the toolkit (or perhaps slightly lower) level.
I was just commenting on the error of assuming that we're talking "VNC" here.
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.
http://www.x.org/wiki/Development/X12 Even this page on X.org lists a lot of great reasons why X11 is outdated and needs to replaced, yet I don't know of any serious project to create a new, modern X. All X development is focused around fixing and extending X11. I guess X11 has become so big and so universal that there's no real desire to tear it down and start from scratch.
Comment removed based on user account deletion
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.
You can also run window managers over X, remotely or locally. In 2001 I was running cygwin on a win2k or NT box and handling the windows related to X from a linux box running enlightenment (no shaped windows, but that was due to cygwin not having support for those at the time). Presumably Wayland should be able to call up the window manager in gnome, kde or whatever until they've got their own window manager that matches the way everything else in Wayland behaves.
Wayland is an awesome project and shows immense promise to supplant the outdated X11. I especially like core concepts such as making each redraw pixel perfect and tight integration with vsync.
However all this will be for absolutely nothing until Wayland has integrated network transparency. Without that it's just another unusable toy.
"Nine times out of ten, starting a fire is not the best way to solve the problem." - my wife
"Those who don't understand Unix are condemned to reinvent it, poorly." – Henry Spencer http://en.wikipedia.org/wiki/Unix_philosophy
Wayland - my 1st thought was another similar to Widelands game...
Recipes for USA bankrupt - http://tinypaste.com/0d66f dd = dollar deluge (printed in the infinity)
Then it's obviously not designed for remote access of a 3D program and is about 15-20 years behind a "modern" system if it's designed to be used remotely.
There's hacks to get around that which are designed to get around having no 3D accelerated hardware at the desktop end but the best one (VirtualGL) involves putting decent graphics hardware on the server and you may as well just run a monitor extension cable over ethernet from the server room instead of screen scraping and sending it over the network, unless of course you need a few instances.
If there's no OpenGL then Mesa is never going to be used at all let alone help one way or another. It comes down to the directx in Wine.
Sorry, but this is looking a bit like a deliberate strawman since you are writing about a program not designed for remote access and blaming that failure on X. If it's not compatible you need to either use it as designed (on the workstation) or work around the problem with hacks (accelarated graphics hardware on the server and efficient screen scraping).
Even worse, you appear to be blaming X for something never designed for remote access or even that platform at all and it's running through an imperfect compatibility layer. How do you know it's not Wine that's at fault? It doesn't work with every MS Windows program. Sorry, what exactly is your point because your example really has nothing at all to do with your comment above about the limitations of hardware acceleration on X. Your example is not even using hardware acceleration on X so has nothing at all to do with your comment about hardware acceleration on X above.
English is a Germanic language.
According to TFV it is easy to add network transparency to wayland. They just haven't done it yet.
But the wayland FAQ says that it is a fairly complicated task
http://wayland.freedesktop.org/faq.html#heading_toc_j_8
Which is right and which is wrong?