Posted
by
EditorDavid
on Saturday August 20, 2016 @06:00AM
from the finally-happening dept.

An anonymous reader writes: Fedora 25 will finally be the first release for this Linux distribution -- and the first tier-one desktop Linux OS at large -- that is going ahead and using Wayland by default. Wayland has been talked about for years as a replacement to the xorg-server and finally with the upcoming Fedora 25 release this is expected to become a reality. The X.Org Server will still be present on Fedora systems for those running into driver problems or other common issues.
Fedora's steering committee agreed to the change provided the release notes "are clear about how to switch back to X11 if needed." In addition, according to the Fedora Project's wiki, "The code will automatically fall back to Xorg in cases where Wayland is unavailable (like NVIDIA)."

I've read the x.org codebase. Mostly to discover the grey areas in the protocol when I was working on a X/Window server running on ms-windows. The x.org code is not pretty but that is mostly due to being an old code base.

The X protocol has its problems and quirks too, particularly when dealing with long latency between server and client. It was designed when using high-level primitives (eg "draw line to (x,y) in color Z") made sense. When client just use such primitives the speed is impressive. But some 10 years ago clients started doing client rendering and just sending bitmaps to the display server. Mostly that meant higher bandwidth and fewer round-trips. Whether that is good or bad depends on the clients and the environment.

I have followed the progress of wayland a bit, and I have actually seen some of the presentations. It seems to me that wayland initially was infested by the type of developers that think that all they need is direct access to video memory, and for remote applications all you need is VNC-style full-desktop remote. Of course people who use remote X think that that is a myopic and arrogant view. It seems that wayland has gained some developers in the past few years who have more common sense and one of the new goals is to support remote X clients in a root-less fashion. When they have implemented that and also made sure that both clipboard and X-selection work then I'll give wayland a shot.

My understanding of why X needs to go away is that it comes down to security. The xdg-app/flatpak story is completely useless if you can have perfect isolation except for the graphics stack. X makes it trivial for one application to grab the graphical content of another process, but you can't securely implement a screen lock.

My understanding of why X needs to go away is that it comes down to security. The xdg-app/flatpak story is completely useless if you can have perfect isolation except for the graphics stack. X makes it trivial for one application to grab the graphical content of another process, but you can't securely implement a screen lock.

This is all out of date.

Firstly, programs can only grab each other's windows if you give them permissions to. X has security mechanisms to prevent it if you wish to prevent such things. The easiest way is to do X over SSH, and disable trusted X11 forwarding. All that does is use XAuth to mark the client as untrusted, and you can do that without using ssh.

The breaking out of sandboxes article a while back by Matthew Garrett only worked because in Ubuntu's implementation it treated the sandboxed programs as trusted. That's Ubuntu's fault not X, and in fact running his test program as untrusted demonstrated the X security mechanisms work just fine.

The screen locker one is both overblown and wrong. It's true that if something else has a full grab then the screen locker can't supersede it. In that case, you can't start the locker and it;s usually incredibly obvious. If the screen locker succeeds, it is secure and you can't break out of it.

But now it's also simply wrong. If you run a compositor, that intercepts ALL input events even with grabs because it has to be able to map them to the correct coordinates. If your screen locker is part of the compositor, then it is completely secure. I believe that's in fact exactly the same mechanism that's idiomatic in Wayland.

Just because something is possible 'in principle' with X11 is not enough. Doing security the right way needs to be easy and obvious, as does doing away with security, as does knowing which of these is the case. Possible but not easy means most won't do it; easy and default means most do, which gives a kind of 'herd immunity' where speculative attacks are likely to fail rather than succeed. This 'herd immunity' makes it more expensive for attackers to target, since the population of viable targets is small,

The xscreensaver daemon is a critical piece of security software. The reason for this is that, as a screen locker, any bug in the program that causes it to crash will cause the screen to unlock. As soon as xscreensaver is no longer running, the screen is no longer locked. Therefore, great care must be taken to ensure that the daemon never crash. And that it especially never crash as a result of (hostile) input from the keyboard or mouse.

Yeah that's not inherent to X though, as we can see by screensaver not suffering from that flaw. Youcould if you like make a Wayland compositor use a third party locker, which would disappear on a crash. Either way, the most secure way is to have the locker built into the compositor, which is supported in both X and Wayland.

Anyway the problem you and Jamie Zawinski describe haven't been a practical problem for years. I don't know of a single distribution which even installs xlock by default. They all use xs

Wayland was founded by the X developers who wanted to call it X12 but realized that people would freak the hell out if they fixed it the way that it needed fixing, based on their experience with X11.

Did you know that X11 has no security and that any stupid app running at the same time as your password manager can steal your keystrokes? Wayland fixes that, among other improvements to the 1980's architecture of X11.

If you were curious about things needing fixing in X11 then you'd just google it. You'd also due of old age before getting to the bottom of all the reasons why X11 is a great way of doing things if you're in the 80s but no so much on the past 20 years.

Oh, I agree. I'm not sentimental about X11, however there is some good amongst the bad so it would be good to keep that. I would have googled it myself however I have an injury and can't spend a lot of time at the computer right now.

Did you know that X11 has no security and that any stupid app running at the same time as your password manager can steal your keystrokes? Wayland fixes that, among other improvements to the 1980's architecture of X11.

False. X11 has a perfectly good security model. The trouble is almost no distros enable it by default leading people to think this is the case. If you run untrusted clients as untrusted (e.g. using ssh with ForwardX11Trusted set to false) then they can do none of those things.

I've read the x.org codebase. Mostly to discover the grey areas in the protocol when I was working on a X/Window server running on ms-windows. The x.org code is not pretty but that is mostly due to being an old code base.

The X protocol has its problems and quirks too, particularly when dealing with long latency between server and client. It was designed when using high-level primitives (eg "draw line to (x,y) in color Z") made sense. When client just use such primitives the speed is impressive. But some 10 years ago clients started doing client rendering and just sending bitmaps to the display server. Mostly that meant higher bandwidth and fewer round-trips.

Bandwidth does not matter nowadays and using Xrender than drawing commands does not really use more round-trips. In fact, Xrender was exactly designed for this purpose. The round-trips come from badly-designed clients, and synchronous use of the X protocol although it is designed for asynchronous use. I have have image viewers which work perfectly fine over the network also they move a lot of pixels.

Bandwidth does matter, and in some ways more than ever, for two reasons:

By now we have highly portable devices with enough computational capacity to do out in the field what would only two decades ago have required a few shelves full of Crays – but in the same time we have managed to unlearn how to efficiently use bandwidth. Many applications of computing or telecommunications still work in environments where bandwidth is a scarce resource. Not every service goes through fibre or LTE.

We have so many devices out there that every modest reduction in bandwidth use per device runs up to a sizable gain.

But some 10 years ago clients started doing client rendering and just sending bitmaps to the display server. Mostly that meant higher bandwidth and fewer round-trips. Whether that is good or bad depends on the clients and the environment.

Actually they started doing that back in the 90s, the X primitives were already very outdated when KDE/Gnome launched in 1998/1999. And this is really the core issue, if you want a modern looking Linux with gradients, transparency, animations, anti-aliasing and various pretty effects you let a graphics toolkit do the job and hand X a bitmap. And they run roughly as bad under remote X as under VNC, because under those circumstances they do pretty much the same thing.

But some 10 years ago clients started doing client rendering and just sending bitmaps to the display server. Mostly that meant higher bandwidth and fewer round-trips. Whether that is good or bad depends on the clients and the environment.

Actually they started doing that back in the 90s, the X primitives were already very outdated when KDE/Gnome launched in 1998/1999. And this is really the core issue, if you want a modern looking Linux with gradients, transparency, animations, anti-aliasing and various pretty effects you let a graphics toolkit do the job and hand X a bitmap. And they run roughly as bad under remote X as under VNC, because under those circumstances they do pretty much the same thing.

The applications that do work well using remote X are the same applications that shy away from the "render bitmaps" strategy and with their primitives they look... primitive.

The idea that remote graphics works only efficiently when sending line-drawing primitives over the network is a myth. The applications which do currently not work well are those which do have a lot of round-trips. Most of the time for stupid reason because the toolkits stopped caring about remote X. But this has nothing to do with being bitmap-based. In fact, the XRENDER extension was introduced 20 years ago (or so) to make remote X work exactly for this reason. And yes, it works. I have a special-purpose i

We can sit in the corner happy with BlackBox window manager or similar, and they're functional enough to get the job done. But if you want free software to conquer the world - which I very much do - we're going to have to make something that the other 99.7% of the population wants to use for their desktop. That requires the eyecandy, sorry.

If FVWM was going to conquer the world, it would have done it twenty years ago. Again, no disrespect to fans of BlackBox or FVWM or anything else that uses the X p

Does Wayland, at this stage, provide the same level of functionality that Xorg does? Does everything just work or do all the applications need to be re-achitected to work properly. If I can't ssh -X me@remote WhateverFuckingApp& then I am not even remotely interested in hearing about Wayland, let alone trying it.

After 17 years of daily use, the Linux desktop has come way too for for me to tolerate a major step back or reduction on feature set with the mere promise of improvement in coming months(years), again. KDE4, Gnome3, and Unity were the absolute-last-straws for that scenario.

From now on, new stuff has to be a major improvement in quality, features, functionality, without sacrifice for me to tolerate the interruption in my workflow and the relearning, for the n-teenth time, of basic desktop operation. If the application or feature doesn't make me say; 'Oh wow, I really want that!', then it can FOAD

The days of change for the sake of change, or change for the sake of a programmer's fantasy of technical superiority are over. I expect the Linux desktop to work and to get out of my way so that I can work or play.

X11 forwarding should be enabled with caution. Users with the ability to bypass file permissions on the remote host (for the user's X authorization database) can access the local X11 display through the forwarded connection. An attacker may then be able to perform activities such as keystroke monitoring.

I think the most important usability features X11 has over Windows and mac is the suberbly powerful cut paste and remote display paradigm. If I can use those X features in Wayland I'll be happy, otherwise, I think you have a point Mr AC.

I switched from Windows to linux because I was sick of that shit, change for change sake. I want change for the sake of a usability improvment in a computing interface that I am compelled to use because it makes me more efficient at using a computer. I am an advanced user and I want an advanced interface. For me that is an ambidextrous mousing paradigm, remote windows, more advanced cut and paste, multiple desktops.

Frankly, UI configurability in linux has gone backwards since it got more popular, workspaces interfaces have *less* functionality than it did in 2008 when I could drag windows between workspaces and you could configure just about every aspect of gnome to customize your linux desktop experience. I didn't want a Mac or Windows UI and since their UI's adopted workspaces the functionality in linux seems to be dumbed down and advanced linux GUI features being domesticated.

Wayland looks like it is answering the need for backwards X11 compatibility with Weston so it remains to be seen if it will take the powerful features of X11 and leave some of the atropied aspects behind.

In XFCE you just click and drag it with the mouse as the workspace switches. No hotkey required.

You can also just use the mouse to switch to workspaces. Just move the mouse to the edge of the current workspace and keep going, it will just switch. No hotkeys, no clicking. There is even an adjustable "resistance threshold" so you can make it more or less resistant to accidentally switching workspaces during normal use of the cursor. I keep mine pretty low because I like to move around freely... and because it

Another one - is there a fully compatible equivalent to X -query $hostname? I should have the option to connect to servers on my network however I need/choose to. I have users that use ssh to do remote X over a VPN to Solaris boxes, etc; and these all need to not break. And it's important to keep the heat on Fedora because what ends up in Fedora will be in RHEL 8.

Personally, I think I'm going to end up with a lot of unhappy users, or end up with Solaris workstations being deployed with the direction Linu

You missed where they're moving away from that X (and XDMCP is currently broken in Fedora anyway, and has been for a few years now). And don't be so sure that my power-guzzling SGI systems have less IO bandwidth and less RAM then a cell phone does. Plus the OS is much nicer to work with and works far better then Android or iOS does anyway.

No. But no window system will ever provide the same level of functionality because arbitrary shit like the ability to send a 3d output of a window frame by frame to a printer were dumb in the first place.

In all seriousness though the main purpose of Wayland is to gut the insane amount of functionality X11 provides and instead go back to the unix philosophy of do one thing an do it well.

Fedora 24 is THE reason that I'm now running CentOS 7 on my machines. Screw the constant need to upgrade / reinstall the OS, screw the constant need to figure out how to fix things that stopped working with the newest version, screw the lack of updates in basically a year (because who is stupid enough to upgrade to a new OS immediately when it's released?), screw the idiots who think that change for the sake of change alone is a good idea.

Nobody's enthusiastic about X. We're not not happy about a replacement that lacks the features of X that we loved and in many cases relied upon.

And no, I don't want to hear that only "1% of users use the XSERVER variable" or that the underlying implementation wasn't very good.

Hardly anyone uses GNU/Linux, but we'd never accept that as an argument for abolishing the operating system and requiring Windows.

As for the latter - it doesn't matter if it's not perfect, it works damn it. I can manage a remote instance of LibreOffice as an app integrated on my desktop. I do this.

We'll be happy with Wayland when it's as good as, or better than, X11. Not when the underlying code is temporarily easier to understand (you think it'll stay that way?), but when its feature complete, by our standards, not by the developers.

It is feature complete. What you want is the ability to do absolutely everything which is one of the big problems in X11. So carry on using it. You won't ever find a replacement if your criteria is that it needs to be feature comparable.

You can run a light X11 server on top of Wayland with no more overhead than Xorg. Anyone that care about networking X11 application would already have xserver ruing on his preferred OS. Running X11 over Wayland is no different to them.

If you don't see that already you are either ignorant of Xorg or Wayland.. or both.

People are starting to push back against the like of dnf being a replacement for yum,but does a very poor job of providing real compatibility with yum - silently doing something_different_ with the same command arguments.

Same w/Wayward. The important features are *now* being pasted on top of the sourcetopology, not an integral part of its design, as they should have been.

What people rail against is the removal of choice by these "software authors." They're notclever enough to have their new stuff run side

The code base of X is OK. Yes, I have read the code of many different open-source projects (and some close-source). But the real problem is not the code at all, I don't mind if somebody decides it needs to reimplement the X server for some reason. The real problem with Wayland is breaking backwards and forwards compatibility with a universally supported protocol instead of carefully revising it in a backwards compatible way (which would easily be possible with extensions). This is just insanely stupid.

Congratulations! You have just figured out why they called it a new name ("Wayland") instead of calling it "X11 release 8". They wanted to clean everything up so keeping compatibility wasn't an option.

And I'm glad you told me that the code is OK. Are you an X11 developer? Because I've watched YouTube videos of X developers telling me the code is brain-damaged and they are tired of dealing with it.

Cue negative Wayland comments by those who have not read, or do not understand the X.org code. Who do we hope will maintain the codebase? There's what, four men still alive, who can do the job?

My experience with Wayland is "It's half working and twice as slow as X11". To obtain wide acceptance, performance tuning and shortening of execution path lengths are needed.

Finally, from a terminal mode, (there is of yet, no wayland terminal), it is impossible to start a gui program. Typically, while in Wayland, enter terminal mode and invoke gparted, or qt-creator yumex-dbf or other. Most will not start execution

I use the desktop for work, since April 2011 Linux desktops have promoted Eye Candy above Functionality.
I am not just moaning about Fedora here, these are generalized complaints.
Will I be able to switch instantly between windows/desktops ? probably not, there will be some lag due to the necessities of Eye Candy. Will I have a visual indicator of which documents I have open, nope, I will have to rely on subtle clues hidden at the edge of the monitor to hunt for them. Will I be able to quickly and easily navigate/tab down to some little used graphics program, nope I will to use a graphic menu clicking all over the place and making sense of the whole screen or even worse have to google for the name and type it in.

By April 2011 you mean Gnome 3, right? Then continue using Gnome 2, it is called XFCE. There are also other equivalent "sane" DEs - like Cinnamon and Mate but I do not see there a difference, XFCE is a safe bet.

By April 2011 you mean Gnome 3, right? Then continue using Gnome 2, it is called XFCE. There are also other equivalent "sane" DEs - like Cinnamon and Mate but I do not see there a difference, XFCE is a safe bet.

I use the desktop for work, since April 2011 Linux desktops have promoted Eye Candy above Functionality.

Welcome to Linux in the desktop. This is what many in the Linux community are pushing in an effort to beat Microsoft in the desktop. No wonder they are mostly spinning their wheels. Fortunately, we (still) have alternatives in the Linux world.

These are nothing to do with Wayland, but upon what you build upon it. Wayland provides a protocol for local programs to render to client buffers and efficiently pass these to the compositor, and to pass event information back to the application, and essentially little else. All additional functionality is a matter of how you design your compositor (of which Weston is just a sample implementation), and your compositor does not _only_ have to talk Wayland. It is important to understand the software engineering concept of coupling, namely what happens when the design of one component mandates behaviour and design of another component. Minimising this maximises flexibility, but perhaps gives you less 'for free'. An extremely lightweight compositor designed for getting work done is not out of the question, and most likely there will be a proliferation of compositor designs as there was for window manager designs in the earlier days of Linux.

Makes one of us. The VPN software that I am required to use to connect to my clients at work does not work with Windows 10 to start, and my laptop's GPU (Quadro FX 880m) is out of the question thanks to Windows Update constantly installing the wrong driver and breaking everything. Solaris 11, on the other hand, handles everything without issue, with X11 and Nvidia drivers out of the box (unlike Windows or Linux)....

A little round dot, ASCII 0x2e, is a period. You sound like a child when you call it a "full stop".

The little round dot is called a "full stop" in all english speaking countries of the world except for the united states. It has a single defined meaning of "ceasing" which is how it works grammatically when applied to a sentence.

A period is both a time frame in, and a biological process during which you better not piss off your wife.

Not knowing the defined difference between American English and British English and then calling someone childish because of it says more about you than words ever could.

You need to go get some "petrol", visit the "chemist", check under the "bonnet", and make sure the spare tire under the "boot" has air. I'll be getting some gas, going to the drugstore, checking under the hood, and making sure there is air in the spare tire under the trunk, like any normal guy. And remember, there is no "a" in "clerk". Any other grotesque expressions and pronunciations I should know?

There's really only one thing you should know, there are close to 900M British English speakers in the world and 600M American English speakers. So when you insult someone based on not using American English all that happens is you look like a little bit of a cunt.

Hmm I'm using Fedora on my server/home theater PC and work/home notebook and I've tried Wayland but it had some limitations. When the mouse pointer changes from arrow to a caret (for example) the mouse motion seems to slow down. Recently I've discoved xdotool and obviously it doesn't work with Wayland.
Let's hope X11 will be supported for awhile until this things are fixed.

God, every news about Wayland is worst then systemd news. Sounds like all Slashdot readers are using remote desktop over X and this will be the reality for all the users in the world in the desktop/mobile.

So, the question seems to come down to whether Wayland can do remote apps as effectively as X can, either by itself or by way of some kind of extension. I've read the entire thread so far, and no answer, not even a theoretical one.

So, the question seems to come down to whether Wayland can do remote apps as effectively as X can, either by itself or by way of some kind of extension. I've read the entire thread so far, and no answer, not even a theoretical one.

The thing is, X cannot even do remote effectively anymore - at least not with modern DEs/WMs. We're way past the days of rendering with geometrical primitives.

Wayland is attractive to its developers because it explicitly implements a much reduced feature set compared to X11. Quite a few of the X11 features are historic and not of interest to very many modern users, but then again there are some features that are useful and Wayland doesn't offer a replacement for them.

X11 includes a rendering API for 2d graphics, and through extensions, for a variety of compositing and other more "modern" operations. Wayland provides no rendering API at all. Wayland is just a graphics compositing server with input support. It's a small fraction of what X is. It gives you a buffer to write your pixels into and you have to bring a rendering implementation to the party yourself.

This means that applications have even less coherency than they had with X11; X programs have a fundamental set of behaviors that are all the same due to using a single rendering framework. The degree to which this will matter in practice, given how poorly X programs adhere to any kind of common UI paradigm anyway, remains to be seen.

Apparently there's this thing called Mir that Ubuntu is developing that is a competitor to Wayland for the X replacement (where neither is actually a replacement, offering significantly less functionality in both cases). I guess that Ubuntu rejected Wayland and decided to roll their own. I would bet a fair sum that Fedora is pushing Wayland in this way to try to prevent Ubuntu from gathering its own momentum with Mir. I doubt they're pushing it for any reason that benefits end users. It's purely political as a means to prevent a competitor's favored X replacement from gaining support.

I have been an X user for about 26 years now and I have zero problems with it and would rather not see a replacement take over, especially one that is likely to be a step sideways/backwards from an end user perspective ala systemd. But given that Wayland by itself is not nearly as useful as X by itself, I expect that operating systems will use Wayland, at least for a while, as a layer underneath the X server. X will remain, it will just allow Wayland to own its frame buffer instead of owning it itself. And in the end, the functionality I require from X will remain because the X server will remain.