Ubuntu To Ditch X Server For Wayland
digitizor.com
digitizor.com
There are also some big consequences for the linux landscape. The first and obvious one is that if other distros don't imitate Ubuntu they will drift farther apart. People complain about Ubuntu going their own way now, image what it will be like if they're on Wayland+Unity and others stick to X+Base Gnome.
Another, subtler consequence of Shuttleworth's announcement is the message it sends to graphics card vendors (well, NVIDIA really). Wayland is dependent on the newest linux graphics stack, very much by design. But that stack is relatively new (e.g. kernel mode setting) and nvidia never updated their driver architecture to match. I assume this will force their hand because Ubuntu is too big to ignore.
If I was selling software to primary school teachers I'd support 800x600.
If I was selling technology to engineers (especially CUDA types building render farms of thousands of nodes) you can bet your life I'd support Ubuntu. I wouldn't want to give them any reasons at all not to use my stuff everywhere, in case I accidentally opened a niche my competitor could dominate and expand from.
These days games are just a part of Nvidia's market.
So Wayland won't run on nVidia's (fast) drivers, because they still use the old model where X was in charge of the graphics card.
As the father of 8 and 5 year-olds, please don't support 800x600. Even in New Orleans after the storm, with my wife working in the public schools, I didn't see any 800x600 displays.
That, in the US. I think it's different in other countries.
About 50% have 1024x768.
Of the remainder, a significant number have 1024x600 resolution.
It's a 3rd world country, so tech adoption is significantly slower, but you have to consider that not all sites have the same readership (in this case, we have people that still consider typewriters to be acceptable tech).
NVIDIA is not legally obligated to support Linux; are they?
Yes, I think they are because of contracts with big guys that need Linux on things like supercomputers(almost all of them have linux inside).
If they need to wrap out a second series of drivers just for Ubuntu and Wayland, I'm not sure it's going to be quality material. Anyway, anything would be better than the current NVIDIA drivers, which are crappy as hell in my book. Now is this because X is also crappy, I can't tell.
http://en.wikipedia.org/wiki/Mode-setting
That's some heavy commitment to support Linux right there.
Lets start with what percent of all people who own computers have a Nvidia graphics card. Considering that the mass bulk of computers have a crappy integrated chipset, and there is also ATI/AMD out there, I can safely say <50%.
Among those 50% what percent are Linux users? Wouldn't it be expected the kind of people enthused enough to buy a discrete graphics card are also the kind of people with the interest to try Linux?
I imagine it is a number higher than 5%, maybe only 10 or 15%, but it is higher.
(In fact, I’m having trouble coming up with a reason for a desktop Linux user to buy a discrete graphics card)
1: http://linuxhaters.blogspot.com/2008/06/nitty-gritty-shit-on...
And yes, I am a dedicated unix (OpenBSD) user.
In that respect I found the chapter on X to be one of the weakest. They trot out the old "X named the client and server the wrong way around" chestnut for example...
It's a very good resource, but a rather uncritical collection of criticisms - some highlight important deficiencies, some highlight alternative implementations, some of it is out-of-date (most unices are quite stable nowadays), and some are just plain ignorant.
I recall the chapter on X being rather sensible, but I don't exactly love X either. Maybe that coloured my perception.
This has been a mixed bag: it has been good for Apple-only programs, but it significantly slowed and complicated the porting of existing and new X-based programs to Apple.
that seems unlikely in light of:
Later, of course, things like Compiz came along, but they've always seemed like weak hacks compared to things like Quartz. Hopefully wayland will change everything.
EDIT: And X11 first appeared in 1984 and wasn't released in current form until September 1987, NeXT's partnership with Adobe created their version of Display Postscript in 1987 (the first version appeared in 1986), so X11 didn't have a long history as a protocol at that point.
Wayland is theoretically superior and with iteration after iteration, I'm sure it's going to come out on top. Just don't be one of the early adopters, but that's a given when it comes to Ubuntu, in my experience (unless you really do like the risks involved with cutting edge software).
The truth is, X is just too old fashioned and it's like trying to spend time maintaining an old car from the 1970s instead of just buying a new car with electronic fuel injection and excellent brakes.
Having said that, I think that splitting the X server into one lightweight compositing manager and one slightly less heavyweight X-server-on-top-of-the-compositing-manager is less of a disaster than what we got with KDE4. I'll only start worrying when KDE and Gnome catch up and they start having UI programs talk directly to the compositing engine.
It does seem like he might be a gambling man though.
If it backfires, it doesn't take him that much further away from achieving his original goal.
1. https://groups.google.com/group/wayland-display-server/web/f...
If I interpret things correctly, the link you give explicitly describes such a scenario:
Further down the road we run a user session natively under Wayland with clients written for Wayland. There will still (always) be X applications to run, but we now run these under a root-less X server that is itself a client of the Wayland server. This will inject the X windows into the Wayland session as native looking clients. The session Wayland server can run as a nested Wayland server under the system Wayland server described above, maybe even side by side with X sessions.
So, the X protocol could still be there for quite some time to support 'old' applications, but new applications wouldn't use it anymore.
There are quite a few if's here, though. The first non-Ubuntu application to drop X support could face quite an uphill battle.
"We’re confident we’ll be able to retain the ability to run X applications in a compatibility mode, so this is not a transition that needs to reset the world of desktop free software. Nor is it a transition everyone needs to make at the same time: for the same reason we’ll keep investing in the 2D experience on Ubuntu despite also believing that Unity, with all it’s GL dependencies, is the best interface for the desktop."
http://www.markshuttleworth.com/archives/551
I don't see this as much of a threat, as long as they keep the compatibility until they realize that all those graphics effects are about as useful as 3d movies.
Both the proprietary and free software worlds waste a lot of resources on that. Even minor GUI enhancements, such as the fact I can drag a window and it stays rendered instead of giving me a wire-frame TWM style, don't enhance useability much.
Even Ubuntu has a history of pushing out reliable, mature applications for much less mature ones on the basis of theoretical improvements. Look at Empathy and Pidgin; I still get crashes from Empathy all the time, the skinning and font-size support have problems, etc., whereas Pidgin just works great. Why couldn't they have just affixed the Telepathy backend as a major player in Pidgin, or at least forked and made Empathy a Pidgin derivative? It would have worked out much better.
I'm just hoping that Arch doesn't freak out and fear that Ubuntu is becoming more "bleeding edge" than Arch and remove X for Wayland in the next three weeks.
On my laptop at home though (which I only really use for watching movies, and for hacking on side-projects that one day may become HN stories) I'm always on cutting edge Ubuntu. I love the thrill of the beta's.
So I'll do the dual strategy of letting it blow over for work purposes, and playing around in the mud for personal purposes.
There should be an Ubuntu testimonials website... Weekend project?
"We don’t believe X is setup to deliver the user experience we want, with super-smooth graphics and effects. I understand that it’s possible to get amazing results with X, but it’s extremely hard, and isn’t going to get easier. Some of the core goals of X make it harder to achieve these user experiences on X than on native GL"
My unhappiness stems from my perception that the ways I have tried to customize X and things closely coupled to X (e.g., my window manager) have proved much more difficult (and in particular have forced me to contend with much more complexity) than they could have.
This is assuming of course that people who like to fiddle with their display will stay with Ubuntu.
Not many people like to do that anyway. But if there are people who want that kind of control, it's not impossible.
X11 as a protocol is old and mature like TCP or SMTP. Just like SMTP it has some problems, but Wayland throws away some core features to fix it. Hopefully, Wayland is flexible enough to get network transparency like X11 at some point.
you make it sound like it was an advantage.
I met him personally. Totally incredable guy, who knows how to work with people.
They should make another one:
Bug #2: Apple has a majority mind-share
"Wayland is a complete window system in itself, but even so, if we're migrating away from X, it makes sense to have a good backwards compatibility story."
What sort of exciting things?
You can build it with these instructions: https://groups.google.com/group/wayland-display-server/web/b... .
We'll see, but I have a bad feeling.
Oh yeah, there's this thing called a "workstation". I hear there are a few in existence...
I have no idea how this comment mixup happened...
:(
Ubuntu must be eying a future alongside Android, which is an excellent bet.
There have been many attempts at X replacement, all well justified, and if Wayland is the best of them, it would still be better than the baroque X protocol.
Like almost every C++ programmer working in the early 00s, I too hacked on Berlin :-|
Ubuntu's goals do not seem to be nefarious, and almost everything they're pushing for the community is open-source, except Ubuntu One and the Software Center ability to purchase apps.
For me personally, now that nx makes X's network transparency actually usable, I'm not in a big hurry to go back to a non-network-transparent windowing system with a screenscraper like VNC layered on top. But I could see that not mattering for a lot of users, so it's probably the right choice.
Worse is better, and whoever ships a working prototype is best.
Sacrificing network transparency for local performance should be a no-brainer, given the use-cases.
There's really two parts to modern X programming: the window and event stuff, and XRender. The window and event system isn't bad, and it's fully asynchronous, which is a really big deal. XRender obviously can't be used for drawing by hand (that's why you have Cairo), but it's a really good design for a drawing protocol that supports a lot of possibilities for hardware acceleration.
Switching from TCP sockets to Unix domain sockets requires changing about 3-4 lines of connect code, but everything else remains the same. You get a lot of localhost performance for free with almost no changes.
Which makes sense. OpenGL is just an API, not a hardware wire-level protocol. Unless Wayland implements its own graphics drivers (which I find highly unlikely), it'll just make use of the same drivers that X uses for implementing OpenGL. And that still leaves things like input handling.
From the Wikipedia entry it looks like Wayland uses X for input and rendering, but other apps can connect to Wayland to have things rendered. Kind of like how X itself works.
The compositor can be a standalone display server running on Linux kernel modesetting and evdev input devices, an X application, or a wayland client itself. The clients can be traditional applications, X servers (rootless or fullscreen) or other display servers.
They do have fairly well thought out plans for a (probably lengthy) transition of interoperating with X applications, though: http://wayland.freedesktop.org/architecture.html
Wayland is a nano display server, relying on drm modesetting, gem batchbuffer submission and hw initialization generally in the kernel. Wayland puts the compositing manager and display server in the same process. Window management is largely pushed to the clients, they draw their own decorations and move and resize themselves, typically implemented in a toolkit library.
That last part about integrating the compositing manager and display server into the same process .. that's your main point of departure.
Well, there's a bad idea. I suppose I could see an X replacement which incorporated window management into the server, instead of into a special client; but letting all the clients draw their own borders is a recipe for chaos.
I might be completely wrong about this though, so someone more knowledgeable please explain. :-)
That's the good thing, perhaps, breaking that large and ugly X thing into small parts that we can easily understand, check, improve. I'm very glad of this and it's a great improvement. But it's still just a part, this whole idea that Ubuntu is ditching X server is so frightening. It's not happening, instead, they are breaking X into small parts, improving them, not having to deal with the insanely large X stack at once. Finally cleaning that large outdated codebase and so on.
But. If you see it as 'we're getting rid of X11 completely, not coming back again', you are going to repeat every mistake made in the last 20 years. I'm afraid that's exactly what Shuttleworth and his minions are going to do :(
What does the graphics design of OSX and Windows have to do with how X is architected? Which effects provided by the OSX or Windows interface cannot be done by a compositing X window manager?
"Both Windows and OSX do remote desktop just fine for the minority who need it."
X network transparency has nothing to do with remote desktop - as a matter of fact X doesn't have that notion or any support for it. The X protocol is strictly for per-application event and drawing. There is a huge class of problems that X can solve where remote desktop would be useless.
Someone else quoted here that Wayland needs toolkit support for lots of things (moving, resizing, decorating). Are we going to see that support (possibly contributed in parts by Canonical) in gtk (and QT/KDE, fwiw)? Or is this basically going for Unity only?
In other words:
I appreciate a more modern, desktop oriented architecture. X11 seems just too much "Mainframe terminal" focused. Which is nice - but not on my laptop/netbook or in the majority of private use cases, really.
I fear, though, that this leads to a two classes of desktops for a while: The shiny Wayland one and the poor thing that still needs X11. Note that "fear" implies more emotions than reasoning - I don't know enough about Wayland support in other toolkits yet and don't understand how it could/would work with "arbitrary" setups (Open-/Fluxbox, lxde, one of the tiling wms).
Update: I was reading up on Wayland - and completely missed the blog entry from Mark. The statement "We’ll help GNOME and KDE with the transition, there’s no reason for them not to be there on day one either." removes most of my fears.
Furthermore if you checkout waylands site, you can see screenshots of various Qt and Gtk based applications running on Wayland.
I liked how ubuntu was stable on my computer (till around 8.10 I think and 9.04 was not bad). I will miss the compatibility
Guess I'll just have to switch to a 'lighter' distro with less fireworks.
I'm sure it will pay off for Ubuntu in the end... I just hope it doesn't actually start a trend for other distros to follow suit.
Bottom line: you're good to go
You will need OpenGL, that's it. You could buy a cheap OpenGL card for your P4 for 10$.
My condolences for the Intel card. Intel had good support for many years, until... last year or so... when the Intel developers totally lost the plot and decided to break everything for everyone. And they are refusing to fix it for older cards :(.
The nice thing about hobbyist developers is that they tend to be more responsible to their users.
Ubuntu is really setting itself apart as its own OS rather than just another Linux distro.
It might take about two years for this whole thing to sort of stabilize (Wayland + Unity), but when it does, Ubuntu will be kick-ass like it's never been before.
I love it when people step outside the box.
RHEL is not likely to use it, IMO, because it's not network-transparent. And f RHEL won't use it, Fedora probably won't use it.
That said, what's setting Ubuntu apart is the fact they're moving away from the traditional stack (X -> GNOME). This is significant enough IMO. Other distros might follow, and in that case, there will be two kinda of distros: those that use X, and those that use Wayland.
I'm on Chrome. Is there a feature that lets you get control of that mess?
Edit: I apologize for the off-topic posting, but the linked website is a good example of what readers of Hacker News seem to have tricks for handling.