GNOME Aiming For Full Wayland Support by Spring 2014
An anonymous reader writes "Canonical's plan to develop the Mir Display Server for Ubuntu rather than going with their original plans to adopt Wayland has been met with criticism from KDE (and other) developers... The GNOME response to Ubuntu's Mir is that they will now be rushing support for the GNOME desktop on Wayland. Over the next two release cycles they plan to iron out the Wayland support for the GNOME Shell, the GTK+ toolkit, and all GNOME packages so that by this time next year you can be running GNOME entirely on Wayland while still having X11 fall-back support."
So, by creating MIR Ubuntu contributed to Wayland by giving the Gnome devs a big kick in the butt?
Well played, Canonical, well played! :)
And for the record, as long as both MIR and Wayland are more or less interoperable I don't care what's behind the hood. Both are open source and will be solid by the time they come out, so may the best implementation win. A little competition every now and then is just healthy.
systemd is not an init system. It's a GNU replacement.
*crickets*
Second line.
Why does this sound like Weyland-Yutani?
Perhaps the company had humble roots as a Linux graphical toolkit developer instead of heavy industry.
Haha! Funny country is that of yours. In mine, the gnomes come from gardens and other magical places.
Nono... That's TROLLS!
Gnomes are small cute persons. They're even smaller than halflings.
Sheeesh, kids these days...
systemd is not an init system. It's a GNU replacement.
Hello, LXDE....
Yet another knee-jerk reaction from Red Hat to counter a Canonical's initiative. Even after hiring almost every Gnome developer of note Red Hat is basically reacting to whatever Canonical is doing. Red Hat has become the Microsoft of open source. I'd rather have "fragmentation" in the Linux ecosystem than its hegemonic dominance by a company that purposely directs its developers to sabotage projects to raise barriers to new contributors and drags their feet to maintain the status quo.
Canonical were the only reason anyone was even thinking about opting in on the Wayland bandwagon, and they're going with an in-house solution now. If Ubuntu (the official distribution for questionable design decisions) isn't even going to bother with it, why should anyone else?
One more reason to abandon GNOME as it moves further from its UNIX roots. It's become a culture based on negativity and we-know-better-than-you.
"I believe in Karma. That means I can do bad things to people all day long and I assume they deserve it." : Dogbert
If X11 weren't completely unusable on anything but than the fastest of networks ... then yeah.
There are compression proxies for the X protocol. NX for instance does this. After that it will work much better over networks. Most of the thin client setups use something similar, and they really do work.
The real problem is that Xorg doesn't have one in the default distribution. Negotiating for support shouldn't be much of a problem in many environments, no need to use it, but including one would really have improved the state of network transparency.
Without networking features, especially in root windowless mode, no corporate environments will use Mir.
Yes, please!
Man I hate Ubuntu,but I really hope they make Gnome finally irrelevant for all linux users.
Save Inkscape and Gimp, drop the rest.
It's been pretty hard to evolve open source display systems beyond X11 because of the immense investment in that old technology. With two contenders in Wayland and Mir, we may finally be getting the strong push needed to overcome X11 inertia.
The fact that X11 is "old" is not the issue at all (old usually means stable), but unfortunately X11 has some very severe design problems that the X11 devs have no desire to fix. One very high profile problem is that when the X11 server dies, so do all X11 applications, which is extremely bad engineering. A consequence of this is that you can't upgrade any core component of a running X11 system without killing off your entire set of running graphics applications.
Hopefully Wayland and Mir will shake up the Linux and BSD desktop graphics community a bit, enough to encourage some good infrastructure redesign leading to significantly better and more robust engineering. We can hope.
X11 was good for its time, but it's 2013 and in some areas we need better functionality.
I can't adequately express how sick I am of hearing people demand such a niche feature.
You keep hearing all of these people demanding it, so you think it's a "niche feature" nobody uses. Think about that for a minute. You hear everyone say they use it ...
I'm going to assume for a moment that you're intelligent and you can look at this with some simple logic. If you keep hearing everybody say how important it is, and YOU don't know why it's so useful, which is most likely:
a) all of the people using it don't know what they are using or why
b) the guy who does not use it doesn't know what he's missing
If you stop arguing for just a minute and ask "what benefits do all of these people get from this capability?" you might have a cool new tool in your kit.
For all the screaming about MIR (from the exact same people who say that we need "competition" for MS/Apple/etc.), I really hope that the competition part of MIR finally gets the Wayland developers to stop screwing around with Wayland like its a toy and get it to the point where it can actually be deployed in real systems. And yes, despite the chagrin of the religious radicals on this site, that means opening up dialogs with AMD and Nvidia to get driver support too.
If Canonical's move actually spurs Wayland development, then Mir is a success and a positive contribution to the open source world.
AntiFA: An abbreviation for Anti First Amendment.
You need network graphics, others don't.
This is a clear case where the graphics system needs to be switchable between networked and non-networked graphics back ends, since you can't expect those who don't use network graphics to have to endure the X11 overheads just because you need that function.
It looks to me that Wayland developers only have one desktop at home and were Windows users that want gaming on their linux box.
- What about asynchronous rendering? fast text scrolling in a windows like "find /" or "make -j32" thru a modem connection works in X11, I'd be surprised to see the same on Wayland.
- What about single GUI App running remotely: ssh to a cluster with no network card and need to start paraview or gnuplot? Should I run a full desktop with useless fancy gadgets just to see a gnuplot window?
- What about client application that freeze: Can't move the window because the decoration is done by the client?
- Wy can't I move parent windows when a modal window is open like a file selection dialog box. How do I move the parent app to see my shell window behind. Should I do the same as in windows: close the file selection dialog box move the windows and reopen the file selection dialog box?
- What about lost event because the client is buzy? I click on the button, but the event is lost because the client is buzy.....
Wayland is just a LOL in professional environment.
Thanksfully, I'm running KDE...The original desktop that Gnome tries to imitate since it's creation...I'm curious how it's manage the Wayland migration....
All GTK+ and Qt programs already do their own rendering and just use a tiny portion of X11 to "blit" their pre-drawn surfaces to the screen. There's a huge amount of unused X11 code which is just there (mostly untested because nothing uses it) and which is impeding maintenance of all the stuff that is used. Just ask the XOrg maintainers.
Network transparency will be better with Wayland because sending (compressed) bitmaps over the wire is much faster than a bunch of individual calls -- bandwith is much "cheaper" than low latency and contrary to latency bandwidth doesn't really have any practically relevant limit.
So: Please tell us what "awesome" things X11 does which cannot be done with Wayland or go fuck yourself.
I don't care if it is X11. But display across the network is critical to my needs. Everyone that is trying to replace X, for whatever motiviation, needs to stop being in denial about this issue. Display across the network that is complete transparent to the application and works for all applications is critical for some computing environments.
Karma be damned
Right, then. Carry on with the actual discussion. Sorry for the diversion.
So: Please tell us what "awesome" things X11 does which cannot be done with Wayland or go fuck yourself.
Open a remote editor on a machine the other side of the world? Have it integrated with my wm?
Copy and paste between windows on different machines without the app having to provide the copy/paste functionality?
Being able to set my preferences once, and not having to reconfigure 40 different desktops to my liking?
Get the correct DPI and fonts for the display I'm on, not the one of the remote machine?
Being able to run VMs that look and function the same as when run natively?
Get the correct DPI and fonts for the display I'm on, not the one of the remote machine?
In fairness to Wayland, that doesn't work well because the nitwits at GNOME didn't understand WHY the preferences sit on the server, not the filesystem and reimplemented it badly.
As usual.
SJW n. One who posts facts.
Here we have an identity crisis within the linux community, and I find it distressing how few people see the underlying opportunity. The decision between X and wayland/mir depends on what you think linux is. Is it an industrial-strength swiss army OS used by the technically inclined, or is it the platform upon which the tablet renaissance is being built? Of course it's both, so quit with the civil war and pay attention to what's happening in computing.
If general purpose computing is going to survive Apple, Microsoft and Google, we need a rich, high-performance compositor that can run on embedded devices AND a next generation framework for network transparency in applications, preferably in separate packages. Since I'm being dragged into cloud computing, I want to become my own cloud: I want to blur the line between my laptop, server, desktop, and tablet, but I want to do it in an open-source, platform agnostic way. I want to leave my CAD software running on my desktop and connect to it from my tablet to get dimensions for some part. I want automatic syncing ala dropbox for my LAN. I want to stream audio and video to my stereo without using airplay. I want generic compute jobs to be distributed to idle computers on my personal network. I want to lease an EC2 instance just for the week that I have to do some high-quality rendering and have my desktop parcel the job up and send it out to be executed with a minimum of manual plumbing.
In other words, I want network abstraction for input and display, a toolkit to aid with responsive UI design, local openGL compositing, a framework for exporting big, blind compute jobs, and some network utilities to help me get my services configured correctly, and I want them to be designed to work well together. Some of this is Hard but all of these technologies already exist in some form, they just haven't been integrated into a single open-source platform. Usable by consumers. Yet.
The open source community has the opportunity to stake a claim while the world of computing has been turned on its head. Fretting about X11-style network transparency at this point is like sweating over the future of IRC. (Hint: all my chatroom correspondence is now owned by some shitty company overvalued at $27 a share). When all new software is designed to run on top of webkit, will your remote GIMP even matter?
Get the correct DPI and fonts for the display I'm on, not the one of the remote machine?
Forget it. Anything vaguely modern renders client-side and gets it wrong.
X applications die with the network connection -- they cannot survive when the machine running the X server changes IP or hibernates. They are tied to one X server, so you cannot move them from your laptop to your tablet.
It has been at least 10 years since I used X forwarding for anything except the rare GUI installer or similar short-running application. VNC is much more useful.
Finally! A year of moderation! Ready for 2019?
For everyone bitching about Wayland vs X11 and network transparency, you need to watch this talk by Kristian Høgsberg. Keith and the rest of the devs have always said that remoting would eventually come down the pipeline.
And for everyone else talking about efficiency of sending pixmaps via the network, you should learn how your current stack actually works. It will be much better with Wayland.
I've used X11 since 1995, I'm very fond of it. But I also realize it needs to go...
When will Gnome support at least 10% of freedesktop.org standards?
Gnome is a dead piece of shit. /thread
Your subject line is complete and utter bullshit.
When all you have is a hammer, every problem starts to look like a thumb.
> Open a remote editor on a machine the other side of the world? Have it integrated with my wm?
It may not be fast if you're not on a compressed X11 tunnel or NX, but its very possible to integrate with my WM. I don't know what you're working on.
> Copy and paste between windows on different machines without the app having to provide the copy/paste functionality?
I've never had a problem copy/pasting between local apps and remoted in apps, but I could be wrong about this.
> Being able to set my preferences once, and not having to reconfigure 40 different desktops to my liking?
You mean Wayland allows for the rendering PC to inject a potential security exploit into every remote host it connects to? Sounds intriguing but potentially very dangerous.
> Get the correct DPI and fonts for the display I'm on, not the one of the remote machine?
Um, this shouldn't happen. The remote application should be polling the DPI, etc.. from the X server it connects to. I don't know why this wouldn't be working for you.
> Being able to run VMs that look and function the same as when run natively?
I'm not sure what your point is here at all. Its up to the VM software to setup and render into the host's frame buffer where appropriate and to expose said host environment's capabilities to the guest. How is this a failure in the display server at all?
Bye!
The reality is that X works really well and has solved a lot or problems which Wayland still does not solve. Yes, some code is not used anymore in modern applications, but this code is far from huge and it is already there. Also, it has to stay here for backwards compatibility anyway, separating it out will make the whole thing even more complex instead of simplier. Of course, the long term plan of the Wayland people seems to be that this code can be removed eventually. If Linux distributions switch to Wayland soon this is exactly what will happen in the near future (and this will also happen on embedded systems). This will then effectively break backwards and forward compatibility which has been maintained for decades. Of course there will be backwards compatibility options but they will bitrot not work for new applications using new features, not be installed by default, ... So basically it would suck. Personally, I consider this one of the worst imaginable things that could happen to Linux community.
But maybe there is a really good reason to break compatibility. So let's look at the advantages: Unfortunately, there is almost none. As the Wayland people state on their homepage, everything that can be accomplished with Wayland could also be done by extending the X server: "It's entirely possible to incorporate the buffer exchange and update models that Wayland is built on into X". So they break decades of compatibility for no good reason!
The other thing is that Wayland is small and simple now (and X is btw not bloated at all it ran fine on machines with 4-8 MB of memory in the past), but it is only small and simple because it has ignored a lot of problems which are solved with X. Basically, Wayland started with the idea that graphics is all about moving pixels. This is nice and good, but desktop applications need a lot more than graphics, they need various kinds of integration and communication protocols. So Wayland is in the process of adding all these things back which already exist in X (e.g. the recent work on minimizing) and this is way - after years of development - it is still not ready. This is also the reason why all this "network transparency is not a problem which should be solved in the core graphics systems we just add some mechanism to move pixels over the network later" is IMHO really stupid. Moving pixels is not the problem, integrating remote applications in a seamless way requires much more. There was a summer of code project to get support for remote applications into Wayland and the developer basically gave up ("Turns out it's not as simple as I thought.").
A final comment: Linux and Unix was an OS which had huge advantages when compared to other platforms because it had really great networking features. But this was never really exploited. Instead of embracing those powerful features and making them easy to use the current trend is to make a dumb OS for the masses which basically simulates what other OS do with some different GUI. This is really sad especially because we finally reach the state where we have internet connection always and everywhere and network transparency could be the basis of really cool and innovative features (and I have an X server on my cell phone and I think this is the coolest thing ever). The idea seems to be that a mobile OS needs a nice touch UI and a power efficient OS and that notion is what drives the development in the Linux graphics world now (e.g. Wayland) and this is IMHO really short-sighted and the opposite of innovative. For me, all the graphics and GUI work of the last years (also I appreciate many underlying technological advances) went along with regression in features, lack of stability (Linux is less stable for me than 5-10 years ago for graphic problems only), and GUI experiments which have not been thought through. Instead of wobbly windows, Unity, Gnome shell (and many graphics bugs) I would have hoped e.g. for support to move windows between devices (technically this works, but there was never user friendly way of doing it).
This is not a limitation of X at all. Actually there were hacks to add the feature of moving windows from one machine to the other (and also disconnect and reconnect) to toolkits (atleast GTK). For some reason, this was never really integrated. I guess wobbly windows had priority. It is sad.
Copy and paste between windows on different machines without the app having to provide the copy/paste functionality
In my experience X11 doesn't seem to even support properly copy and paste between windows on a same machine...
The best way to use Linux is to stay five years behind the development. RHEL (and derivatives, like Scientific Linux and CentOS) still use Gnome 2, it uses SysV init scripts, and everything is stable and lovely. This is what would happen for Windows and Apple too, but the development happens internally, whereas for Linux is it visible for all.
That's not to say this should be ignored, I find it very interesting and I'll consider watching the hour and a half long video in the comment above me. Cutting-edge distros are however only useful for enthusiasts, and to get real work done you need something more stable (this is not strictly true, there are many kinds of work you can do with just a web browser, but I hope you get what I'm saying). I'll be very interested to see what things get included in RHEL as time goes on. Will they include only the good stuff, or will they add everything... So in 2019 I may indeed switch to Wayland, if its' any good.
This is a bit off-topic but I'm very disappointed with the way Wayland, MIR and the general UNIX desktop community is headed for. Of course, these guys are very experienced people working on X11 for decades but I simply don't understand their motivation making Wayland the way it is.
As I understand, Wayland/MIR are simply frame buffers and event reporters, nothing else. There is no drawing code in them, no text, nothing. The creator of these servers maintain that everybody should do their own drawing and event interpretation. This is good for some types of applications but not all. Specifically, games and video playing programs will benefit from this since they don't have to deal with X11's quirks to get a frame buffer. However, other programs which simply use the display to present a user interface consisting of controls like buttons, text entries etc. will continue to suffer as they do under X11.
Since the GUI controls are separate from the display server under UNIX-like systems, there is nothing which stops the GUI toolkit authors from making massive changes in their APIs. This causes a lot of unnecessary maintainance. For instance, I have an application written for GTK+-1 from about 6-7 years ago and now it doesn't even compile for GTK+-2. I could somehow install GTK+1 along with GTK+2, but it's a lot of work. There is no way I could distribute the GTK+1 program to a client since they have to duplicate the same effort on their machines. So now, I have to port it to GTK+2 since that's what everybody has.
In the last ten years, GTK+ hasn't changed all that much from a user's point of view. There may be new widgets, the internal structure of the library might have been improved, but there is no change in the things it can do for me. I don't care about how Cairo can use the printer as well as the screen, I don't care about bidirectional text which I never encounter, I just want to display a button and do something when the user clicks it. Why exactly do we need 10 different GUI toolkits for this simple and very common task?
If the display server itself somehow provided controls, I believe many people would prefer that to the wide array of different GUI toolkits which have to exist due to current circumstances. One advantage of native controls would be consistent look and behaviour. I have tons of applications on my machine and they all use different GUI toolkits, which don't behave or look the same. I can't theme my system because it works only for the 'primary' GUI toolkit, everybody else is ignorant of those settings. Windows did this, they implemented native controls as part of their OS and everybody uses them. Some do it directly, some do it thru a wrapper but in the end all programs present you the same kind of radio button, same kind of combo box etc. The Windows applications I wrote ten years ago look and behave exactly the same as applications I wrote last year.
If we had such a thing as a native control on Linux, I think many people would use it. In response to this, the display server guys (now also the GUI toolkit guys) would probably be more cautious about changing the APIs because such changes would effect a lot of people. I say this because it's what happened with the Windows display people. They didn't want to break old applications so they kept their APIs.
For example, I have some programs written in the same time frame as the GTK+ application, which use only Xlib calls. These still work flawlessly on my brand new computer with a brand new graphics card. Same applies to my Windows programs from the same time frame as well. I had used native controls for them and they still work, nobody changed the necessary APIs behind my back, and they didn't really need to. A button is a button. You print some text on it, the user clicks it. That's it.
If I had so much developer power as these guys, I would at least give a thought to this issue, but they seem to prefer optimizing games and video instead of providing a stable, clean and fast interface for other programs that u
In my experience X11 doesn't seem to even support properly copy and paste between windows on a same machine...
What, mark with left button and paste with middle button doesn't work? If so, it must be a program that bypasses X and does its own thing (like some Gnome or Qt crap).
That's true, there is even an example that moves windows between displays in the gtk-demo program that comes with GTK. GNU Emacs supports it as well I think.
Not to have mod rights.. (And this was before I even read any of the posts.. I just knew it was going to be a lively debate.)
I used to do X forwarding, but these days you can remote mount the filesystem in userspace and execute the remote apps locally. The server doesn't have to keep X11 hogging server memory and I get local graphical acceleration. Xorg has features that aren't available in Wayland, and Wayland has a performance advantage because it sheds those features. If it's an old application, X11 is still available. If it's a Wayland-only application, it will have features and performance beyond the limits of X11.
/. complaints in those threads) with ALSA being the lower level component. Wayland (and/or Mir) are heading towards being the lower level component, and network transparency (lets call it PulseVideo) could come later.
Network transparency of audio was done through PulseAudio (lots of
If you are going to be running terminal emulators, there's SSH, you very special person. The reason why you'd be running X11 over network would be for real, actual GUI programs and good luck doing that over half the globe, unless you enjoy your 0.1 fps interaction and all the fun that comes from that. Quite literally on networks where VNC can do the whole desktop at 32 bit FullHD and acceptable performance even letting you attempt to play some OpenGL game provided that it doesn't require very low latencies, on that same network just by opening a 1024x768 window that's not even changing (in particular, win server 2k8 login screen running in KVM) even though the connection is being compressed by SSH nevertheless X11 can make your average wireless AP drop your connection if not outright hang for everyone within a minute or two, yes, honestly and I'm not making this up.
Fair enough, we can teach all X applications to handle disconnections from the server and somehow wait for a signal (coming from where?) to create a new connection. Good luck with that.
Meanwhile, every other remote GUI has had this problem solved from the beginning.
Finally! A year of moderation! Ready for 2019?