Posted
by
timothy
on Tuesday July 10, 2012 @09:10AM
from the hard-to-please-everyone dept.

jones_supa writes "While there's still more than one month until the Ubuntu 12.10 feature freeze, Ubuntu developers continue to work towards their tight schedule of having Wayland serve as the compositor for the Quantal Quetzal release due out in October. Canonical's intends to provide smooth transitions from boot to shutdown. Wayland is also used for session switching and other operations, avoiding traditional VT switching, providing a consistent monitor layout, using the greeter as the lock screen, ensuring that locked sessions are actually secure from displaying, and showing the greeter while the session loads. Phoronix remains skeptical about Ubuntu making the deadline."

>> Will applications need to be rewritten or modified to work on Wayland? Yes. (From TFA.)

As a developer, I'm about to get off the Ubuntu train. Every major release recently has required tweaking the UI (e.g., tray icon behavior changes). I'm not really looking forward to another migration, especially when there are Red Hat and SUSE users (who tend to buy more) who are looking for things too.

Although the more detailed answer is that GTK/Qt apps will need recompiling with an updated library. If you use X11 directly, then you have more work - except that you can also run an X server within Wayland to support native X11 clients.

I've been impressed for some time with how well the Wayland developers have thought about backwards compatibility. X11 needs replacing; complaining that its different to X11 doesn't help solve the problems.

X11 needs to be replaced? Like my roof needs to be replaced because it works and have no holes in it? But it is old, I think about 15 years, so yeah it needs to be replaced.

X11 is old, but it works. I can have multiple monitors just fine, 3D effects are working fast, games are working. Also, it is supported by all hardware vendors like AMD, Nvidia, Intel. Also I have network transparency with no additional costs. Multi-User works just fine with very easy Ctrl+Alt+F1 up to F12. I don't know why you want something else. In KDE there is also a user switcher GUI way. Boot is smooth in Fedora 14, 15 and 16.

As long as there are no drivers from AMD, NVidia and Intel, Wayland will be a wet dream of a few developers. I do not need to go back to the time where the only graphics mode was Framebuffer. My impression is from the Ubuntu developers that they like some kids who are just pushing things like they want without any though about anything. Just to be different or "cool".

First the totally unnecessary changes in Gnome with the Close/Minimize buttons; then the not usable Unity; and now the Wayland, which will be usable only after more 5 years in development and testing.

X11 is more like a roof that was originally a 40-foot timber yacht. You've turned it upside down and fixed it to the tops of the walls. Gradually, over the years, you've patched in the holes until it only leaks when the wind is in the West. You've figured out how to get a flue up through the thing. You've nailed a TV antenna to it, and sealed around the cable with silicone. When you put it there you never bothered to take the decks out, so it's almost impossible to get into and work on and the structural elements, optimised rather for the sea than for housing, make it not very useful for storage. You still have to repaint it with pretty expensive paint every five years or so, else it starts to rot, and for some reason it attracts lots of confused-looking seagulls.

Anyway, look at all the features! It's got a winged keel, a 200hp diesel engine, and a gorgeous timber and brass wheel. All the fittings are marine-grade stainless, the rigging was all almost brand-new when you installed the thing and in her day she'd do 27kt reaching across a good wind. Don't actually use much of that any more, of course, but still...

Technically the keel still violates local planning ordinance, and technically it still smells quite a bit of fish. But it's been there for 15 years and it works. There's no need to replace it.

And, in case you missed some of the metaphor there, the basic problem with X11 as a display system for desktop systems today is that none of the apps written for it actually use X11. Your multiple monitors work because of Xrandr - which isn't part of X11. Your 3D effects work by bypassing the X server and making OpenGL calls - not part of X11. It's supported by all the hardware vendors - and most of that support is in kernel drivers, not in the X server itself. VT switching works... more... or... less... until you'd actually like to switch VT before you get back from your coffee break, or your X server doesn't recover correctly. And, in case you missed it, they're not provided by X11. And I'm not sure what boot times have to do with it?

Your apps draw using Cairo or similar, not X11. They draw onto a buffer provided by the compositing extension, not X11. The buffer gets put into video memory by the compositor, not X11.

So why exactly are we keeping X11 hanging around? Why not get rid of it and halve the size of the display server code base, making it much easier to program against in the process? Why are we carting around a heuge amount of code that is of no modern relevance except to be able to claim that it is an X server? The maintenance burden of the current X server is too much and any thought of adding new capabilities horrific.

Otherwise, your arguments amount to, "No-one supports it yet so it's a waste of time." Good on Canonical for pushing it - if anyone has a vague chance of getting vendors to support it, it seems they might.

Even if I were OK with the MacOS style approach to dealing with remote desktop requirements, I would still be faced with the problem of my hardware vendor not supporting Wayland. Until that happens, Wayland a complete non-starter.

But Ubuntu is for home users, how many home users are running remote desktops? You've got all this stuff that frankly isn't need for the ones the OS is being pushed for, and which makes them system more brittle (see the classic rant from thom at OSNews about how X crashed when doing simple tasks for a loooong list of people having trouble with it in the home user space) so why not simply let X be for servers and Wayland be for home users? Choice is good, right?

But Ubuntu is for home users, how many home users are running remote desktops?

How many home users are using the command line? Why don't we rip that out too?

You've got all this stuff that frankly isn't need for the ones the OS is being pushed for, and which makes them system more brittle

What evidence is there that network transparency causes X to be "brittle"?

see the classic rant from thom at OSNews about how X crashed when doing simple tasks for a loooong list of people having trouble with it in the home user space

Sounds like a driver problem, not an X problem. He has a point in that X should be able to handle driver problems more gracefully, but I don't see what this has to do with network transparency. Can't we have both network transparency, server side window decorations, and robustness against driver faults?

why not simply let X be for servers and Wayland be for home users? Choice is good, right?

Fragmentation is bad for choice. If I want to use a certain app, I have to use the display platform that app is written for. And there is no bright line between server software and home software, so anyone who isn't an average user(and on average, almost everyone is not average) is going to be locked out of using some software.

X11 is more like a concrete-film roof: a brilliantly engineered, but difficult technology. It is also expensive as hell to build, impossible to work over, imposes the size of the house that can go under it rather than the other way around, it also really ugly, and installing the satellite antenna on top was hard and dangerous work. However, come hail or stone or even a small meteorite, this roof will withstand it all.

Although the more detailed answer is that GTK/Qt apps will need recompiling with an updated library. If you use X11 directly, then you have more work - except that you can also run an X server within Wayland to support native X11 clients.

So what's to happen to our decades worth of work in innovative and configurable window managers? Am I expected to run an X server on top of Wayland just so I can keep the Fluxbox config I've grown accustomed to?

From the FAQ: "The Wayland architecture integrates the display server, window manager and compositor into one process."

The Wayland window manager will be built in. If you want to change your window manager, you have to change the display system itself.

Particularly egregious is the choice to have Wayland clients provide window decorations. That means that no matter what window manager you have compiled into Wayland, you can't centrally control the appearance of your desktop.

What happens if I want to use a Wayland distribution that provides a tiling window manager, but my apps are coded with window decorations? What happens if I want to use Fluxbox's built in window tabbing, but none of the clients support that?

Ubuntu is the best thing to happen to Linux for all of us who dont use Linux. Its users have been faithfully beta testing for everyone else for the last 6 years:P

Just so. Except for about the last 3 years, we've been nagging Canonical as a beta group saying "hey, these changes you're making aren't working, nobody likes them, it was better in the previous release, pls fix" and they all come back with "WONTFIX. Ever. Your brain is wrong. I am as a god among developers! I went into SPACE! Muhahaha! Sincerely, M. Shuttleworth."

Can't blame you, Ubuntu just can't stop jumping sharks...if only they could have stuck to being a normal fucking desktop distro, not only would Ubuntu be much more popular, but desktop Linux would be as well. When they moved the window control buttons to the left they had already gone off the deep end.

There were little hints that they were losing focus before that - replacing the old app manager GUI with the new Software Center garbage that only let you perform one operation at a time is one that stands out - but that was the first big thing they did horribly wrong and it's all been downhill from there.

Yeah, and not being able to install Synaptic to get those advanced features back is a real bummer. Oh, wait...

They made a choice to save the disk space so they could put in a more noob-friendly package manager. Which lets you buy stuff. And fund the development of the OS which the rest of us freetards get for nothing. Whereas for those of us that miss Synaptic, we have to *endure* typing one command. Or installing it with the Software Centre, if we like irony. That sure is 30 seconds I'll never get back...

The way I see it, is.. what's the first thing you do when you close an app? Open another one.

In both old GNOME 2 and Unity, the button to open a new app is top left of the screen. So when you close an app with a top-left button, your pointer is now very close to where it needs to be to open a new one.

Windows puts the button to close an app, and the button to open one in opposite corners. Think of the extra mouse miles! I'm not sure what OS X does but it looks like you have to

The Dvorak keyboard has not yet triumphed over QWERTY, so I think moving well-known buttons for efficiency is pretty close to a dead argument, at least outside the Apple fanbase.

In my case, the first thing I do when I close an app is close another one. And then, when all twenty or thirty SSH sessions are closed, I hit ctl-alt-delete, click shutdown and go get a beer. But that's obviously just one person's use case. Some people like cupcakes better - but I, for one, care less for them.

In both old GNOME 2 and Unity, the button to open a new app is top left of the screen. So when you close an app with a top-left button, your pointer is now very close to where it needs to be to open a new one.

In other words, the difference between clicking "Open New App" and "Close this other unrelated open window and destroy all my unsaved data in it" is about three pixels, or a half-millisecond twitch in your fine motor control finger muscles. That's not a feature.

I'll get hate for pointing this out but moving the buttons without any real reason is a classic case of cargo cult usability [piestar.net] where you change something to mimic something else without understanding the WHY it is the way it is. We are seeing the same thing in windows with the upcoming windows 8, where someone at MSFT said " Nobody buys our cell phones, people buy our desktops, if we make them both alike people will buy both!" without even bothering to find out WHY cell phones are designed the way they are (h

Sure. X11 needs replacing because its hardware acceleration is worse than Wayland. X11 is actually many programs acting like layers: window mgr, compositor, greeter, locker, etc will be only 1 under Wayland. And still the design is simpler than any one. It's not that the code is being added, but that a no-longer-useful X11-style abstraction is being let-go.

I rather like that the window manager, greeter, and locker are separate processes. I can replace them. I can mix and match according to my taste. I could even write my own if I wanted. This is the Unix way.

Example: you probably use some ubuntu-y, gnomey, kde kind of bullshit. That's fine for you but I have different tastes. So I use xdm to log in, wmaker to manage windows, and xscreensaver to lock my screen. Result: my X11 install is several hundred megabytes smaller than yours. But if I want your setup it's just a small apt-get away. This diversity, choice, and flexibility are why I like the *nix desktop in the first place.

But if I read you correctly, you want it to be all 1 big monolithic process? What is it, you're concerned about context switches between these processes on today's hardware? What the hell planet are you from? The X design has worked well for decades on much less powerful hardware than I have in my pocket today. X works fine on all of my devices, just like it did in the 90s, just like it does on my Nokia N900 running at 600mhz. I will be sticking with X for the time being.

That X would be replaced... and now after all this time? I'm not sure if I'm happy about it =\
It is very interesting to see that there is an effort in this area though, to be quite honest this is the first I am hearing of Wayland. Ubuntu seems to favor having one good release, and one less stable release. You have to get your bug fixing done somehow right?

I have no comment on 'wayland good' versus 'wayland bad', but it is certainly a known quantity and it has been waiting in the wings to replace X for a while.

As you said, the dream of replacing X has been around for a very long time. No one has done it because it is a ton of work and because the changes are bound to piss off some developers and users (see "pound sand" post above).

I'm impressed that the Ubuntu folks are going to take this on and I wish them well. If they succeed then the rest of the distro's will probably follow suite.

I agree. Wayland needs to happen. We've wasted so much time, effort, and knowledge keeping X Windows up and running. I sometimes think about how much further along desktop Linux might be if we threw off the shackles of X Windows years ago. There's a reason Android and MacOS do not use X Windows.

Without X we will lose network transparency among many other great features. Let's not even mention the lack of gpu support to say the least.

VDPAU? They don't mention it, so I assume its going bye bye. Its kind of funny in that everything I use X for is everything Wayland opposes.

Just this weekend I was ssh -X into my mythtv backend to run the config program to add another capture card running X over the network, so my binary only nvidia cards using VDPAU have more to look at. I never use stupid animations and other 3-d foolishness on my desktop because I'm unimpressed; its the 2010's version of the 1980's demand that all desktop publishing projects must use a minimum of 50 different ugly fonts to show off that you can do it. I prefer my content to be my primary interest, not my window animations. Of course all of that is impossible over wayland. Thanks guys for exactly what I don't need! Maybe you could make it eink and touch screen only, just to annoy me further?

Not just VDPAU. The entire closed source NVIDIA driver isn't usable with Wayland and probably never will be. Wayland requires developers to use the same KMS framework as the open source drivers (impossible for closed source drivers due to licensing issues), the same DRI2 buffer management and command submission code (effectively impossible because NVIDIA's driver codebase apparenly doesn't work in the way DRI2 assumes it does), and even that might not be enough.

Okay, it's kind of like the difference between vi and emacs. Wayland is kind of like vi and emacs is like the X system. To a vi user, emacs appears to be doing too much. Which is what X is to the typical desktop user. In fact, the ability not to run a Wayland app remotely directly seems like a security feature, one less (admittedly small) path for an attacker to gain control of your system.

Is there such a thing as a "Wayland app"? My understanding is that the ability to run GUI applications depends on the various toolkits such as GTK+ and Qt being ported to be Wayland native. Such applications thus don't have any direct dependency on X11 nor Wayland.

Rather, the application would load a shared library which selects a display backend seamlessly at runtime. The choice to utilize Wayland, local X or remote could be handled more or less transparently, e.g. as the DISPLAY variable currently does.

I dunno about GNOME3, but Wayland is certainly being embraced by Qt5 and is a target for KDE5, so it's not true that it's an Ubuntu only initiative. What I am curious about is whether there are any plans to get Wayland into the FreeBSD family of unixes - like FreeBSD, PC-BSD, DragonFly BSD, et al? Or into Minix?

So, use X then. Most people (myself included) don't want to know how the stuff gets onto the screen, and don't see the attraction in being able to run xclock on a computer in Venezuela and have the display pop up on their local screen.

I don't know if you remember what X was like before Xorg? Or indeed, even earlier than that, when (in the early 90s) you had to sit down with the workshop manual for your graphics card to work out exactly what to poke into the registers so you could get a display *at all*, n

Yes, but this breaks the current seamless integration of remote and local apps that we have today. Presently, this works even for OpenGL based applications (although obviously slower over a network - but they run).

Seamless remote/local app integration is a cornerstone of Unix-based systems going back to at least the 1980's. Breaking this is unacceptable.

We don't currently have seamless integration of remote and local apps. For example, there is no audio or freedesktop.org notifications for remote applications. I personally use xpra to get this seamless integration. Even though the name has "x" in it is not fundamentally tied to X protocols and will probably be easy to port to wayland. The data transmitted over network is compressed bitmap.

How about people with local home networks of 2 or 3 machines? I use it all the damn time - like every single day. I run apps from a big powerful central server and display them over "ssh -X" to my low power laptop.

I know you're just trolling, but people need to realize that people DO use "ssh -X" all the time. There are plenty of other repliers to this thread who have said they do as well.

I seriously have to wonder if any of you people have jobs or if you're just unemployed and live in your mother's basement. If you had been in a Windows or Unix shop in the last 10 years you would have seen examples of both X and RDP.

If anything, the world is catching up to where Unix used to be. The demand for remote desktop functionality is actually INCREASING rather than decreasing.

My understanding is that modern (i.e. Gtk & Qt) apps actually don't use the original method anymore - they effectively exchange composed bitmaps for entire top-level windows on the wire - and because X11 was not really meant to work that way, it ends up being slower than VNC, much less RDP. So it's more like taking a method which "still works" by not using 95% of the original method, and stripping that 95%.

I think you are confusing what will be done by the widget toolkits. They will draw the window borders (just like the draw the buttons and scrollbars and text fields and a hundred other things that are MUCH harder than window borders).

Remoting will be done by a remoting wayland server. It will send the window images over the network to a remote display.

Who in their right mind would trust the Weyland-Yutani Corporation given what they did to the colonists on LV-426?

Exactly! The Hadley's Hope debacle demonstrates that you might not always need a fully network-transparent protocol with the ability to remote-administer a site from orbit - but when you need it, you really really need it.

Is there anyone who still thinks the Ubuntu release team prioritizes either usability or low number of bugs now? That's a serious question; I have no idea why this is considered a novel or even notable thing at this point. New Ubuntu release, leading edge software that's not ready for prime time is included, the release is at best beta quality software by any reasonable standard. Same story in every release going back to at least the 8.04 PulseAudio debacle.

Maybe its trying to be modern art? Not supposed to be useful, or appealing, or beautiful, or traditional, or deeply thought provoking, just intended to momentarily inflame some passions or inspirations as people walk by on their way to doing real work on Mint and Debian and android and osx etc? A feeling, rather than a thought? Like gastrointestinal pain feeling vs the thought of refactoring a data parsing and importation routine? Of course those two are probably more closely related than you'd wish, bu

Well there is this constant tension when developing software in a competitive market. You want to release stuff that's as refined as possible, but you might lose users when competitors' products evolve faster than yours. So it's a constant attempt to balance innovation and refinement.

That being said, I do think Ubuntu has gotten the balance wrong over the past few years. At least speaking for myself, the lack of polish (especially desktop environments and graphics drivers) has cause me more distress than

Who is forcing you to upgrade from 12.04 LTS? It will receive security fixes for years.

I'm stranded on 10.10 whilst I try to get 12.04 working... but I'm still getting random crashes with Unity 3D vs. nVidia. No idea if Canonical ever intend to upgrade "nvidia-current" (295.40)... so I've manually removed it and installed "nvidia-current-updates" (295.49), but I've still had a crash* so it seems the next best option available to me is the X-Updates PPA. So much for 12.04 being an LTS release though.:/

I read the article and the Ubuntu Wayland wiki. The Ubuntu developers have not set any deadline, they don't appear to have set a specific goal, they're just continuing their work on Wayland as usual. The article appears to have just pulled the release target out of the author's arse and then claimed the developers won't make it in time. From the linked page:

"When will Wayland become the default on Ubuntu?This has not been decided. This decision will be made at a future Ubuntu Developer Summit (UDS)."

So apparently the developers won't reach their goal that they haven't set. How is this a story?

To sum: If the graphics server crashes, I'd like to see it automatically restart with Upstart, and then the clients automatically reconnect.

I encourage my competitors to implement this, etc etc. You know what would be hilarious? Your buggy hardware (I haven't had a X crash in, I don't even know, certainly more than a decade) combined with root logged in and doing some admin GUI thing. X crashes. Logs itself back in. Before the user gets to interact, the GUI admin thing crashes X again. Repeat infinitely. Oh no problemo just log in as root to break that loop... errr... thats not gonna work because its root who's stuck in the loop. Wipe t

And please, no pretending that X on Linux doesn't crash. It does, and this is the 4th time I've restarted this laptop today. Hanging hard with VirtualBox.

Not arguing that at all, but I do have a bit of an issue with the inference that it crashes frequently. I haven't seen X crash on my laptop in several months. VirtualBox provides a rather unique environment.

I'd definitely like to see windows reconnect to X automatically though instead of just dying.

It's always nice to say "xxxx don't work, don't pretend it works, because it crashes yyy times/day for me". For everyone that starts a discussion like this, there are 100 others for which the xxxx just works and they do their work and are quite.

It would be nice if you share your hardware configuration, or if you open a bug report. Because for me X just works, and it just works for at least 2 years (since I started using Linux) with very different laptops and PCs. I can't recall anytime where X crashed.

After all the graphical programs are X clients. Why would a client up and die just because some server died?

This! I've wondered exactly this since about 1997, when I first got into Linux. Decoupling the X Server and clients from running in the same session... since it's network transparent and all and was designed for the server being even on a completely different machine... seemed like the obvious thing to do and it boggled me that none of the mainstream desktop environments ever did it.

I even managed to install a whole second X instance on Ubuntu once, just so that I could run Wine and Dosbox games which occasionally crashed and left the GUI in an unstable state, and then I could restart the X server without losing my main workspace. But it seemed like a ridiculous workaround for something which has inexplicably never been implemented despite being "one of the main advantages of X".

Today, no non-X app is network transparent. Tomorrow, no non-X app will be network transparent.

If nothing is changing, how can something break?

Idiot.

You know what he means. Tomorrow (if Wayland becomes ascendent), the previously X-based API's you use for drawing a GUI will migrate to Wayland and your app will have to either give up network transparency or forgo the latest version (which might be fine at first, but will eventually force you to confront some form of version/dependency/compiler/forking hell). What's "breaking" is the ease of future development...

Of course, I think defenders of X are pretty slow to acknowledge the problems with how X hand

Sadly, this is not true anymore. Many apps today depend on things like D-Bus or PulseAudio, which cannot be easily forwarded through the X protocol connection. Add a "run only a single instance of $app no matter what" mentality to the mix, and you are screwed: the $app started on a remote machine detects that another instance (on a completely different machine but the same display) is running, and tries to forward its own command line arguments to the previously running instance. But arguments like filename

Running an X server only fixes part of the problem. Sure, today, most applications are X clients, and thus running an X server on Wayland will allow for network transparency. But what happens in a few years when many applications start becoming only Wayland clients? I won't be able to ssh somewhere and run the Wayland applications, no matter what server (Wayland and/or X) I'm running locally. And even if someone comes up with a way of forwarding Wayland traffic, what happens when I'm sitting at a machin

Canonical has plans to include Wayland as a technical preview in 12.10, not as a replacement for X11. This means that they have to actually get it working at a basic level before putting it in the repositories. While Canonical is pushing Wayland, they've already said that it's still several years away from becoming a viable replacement for X11. This is just Canonical trying to push forward the development of a peice of software they believe in.

Personally I still don't understand what need there is to replace X. Instead of replacing X entirely, how about just fixing the few remaining bugs that are affecting people and causing server crashes? It would seem to be a lot less work to do so than to start from scratch with a new bug^H^H^H^code base.

is X old? Sure. But it was well designed for what it was intended to do, and as I'm not one of those people affected by server crashes, I'm perfectly happy with it.

I understand that X11 is obsolete crap and has to go, but why are they using Wayland instead of, say, DirectFB? From what I can tell (please correct me if I'm wrong, Linux really isn't my thing) DirectFB is much better supported and a more mature product.

This is what Desktop Linux is. It's companies trying to make a version of Linux which Just Works for people who don't care that it's Linux. That means sacrificing choice in the name of making the product more tailored for the users they're targeting. That's good design.

Your fundamental complaint is that Ubuntu isn't tailoring its product for you. It's a completely free and open product, planned from the start to make Linux more usable by non-technical people. And you're complaining. Despite the fact that th

It's a completely free and open product, planned from the start to make Linux more usable by non-technical people. And you're complaining.

Yes, because it doesn't actually work even for that purpose.

It's a noble goal to make computers useful for newbies. Really it is. But doing it wrong doesn't help anybody, and just because you're doing it for free (um, despite the massive amounts of cash flowing into Canonical which must be coming from somewhere) doesn't mean you get to censor valid criticism of what you're doing wrong.

I've tried several releases of Ubuntu over the years, only to give up in frustration at all the configuration needed just to (for example) get wireless to work. Finally, with Precise, Ubuntu "just works" (pretty much) right out of the box.

Yea, unless you have a Broadcom wireless card, like I do...

Know what really sucks about that? The wireless was working fine prior to the Precise upgrade.

It will work if SomeProgram is an X program, just as it does on OS X or Windows if you have an X server installed. It won't work if SomeProgram is a Wayland program. Wayland eliminates a number of process boundaries in X, moving the window and compositing managers into the main executable. This is done for performance reasons, presumably by people who have never profiled an X server and therefore not noticed that these round trips are not a bottleneck in modern systems, and at the expense of stability (if your compositing manager crashes in Wayland, your display server also dies, with X11 it can be restarted, usually without any data loss).

That's the problem. If Wayland becomes the default, we can't count on being able to forward arbitrary apps over the network. That's far too big a price to pay for anything Wayland could possibly offer.

You are going to get flooded with idiots who will say "no". That is wrong.

When you run the program, the environment will be different and this will change the code in the library that talks to wayland so that it sends the window images (compressed) over the network to a client on your local machine, which will then tell the local wayland server to display them.

This is EXACTLY how X works. When you run "ssh -X" the ONLY thing it does is set $DISPLAY to a different value. The xlib library knows how to interpr