Kanapickas considered this separation "good practice" and therefore the new release candidate is X.Org-only.
+1 for Kanapickas.
For both this and taking up the slack.
I'm staying with X.Org.
More than three years after X.Org Server 1.20, released in May 2018, a release candidate for 21.1.0 has been posted. The Linux display server remains widely used despite the introduction of Wayland, first released in 2012 and intended to replace X. The future of the software, in terms of significant new releases, was in doubt …
Wayland has far too many issues to be a general release product, and IMO it always will have far too many issues to be a general release product.
Sticking with X.org until I see a very good reason not to ... and believe me, the world of Corporate "I just luuurrrvs teh systemd-cancer" Computing is NOT a good reason!
No, I'm not going to detail them here, not enough hours in the day. Try DDG.
Linux has a terrible habit of "throwing the baby out with the bathwater..." Thankfully X remains. It has a number of features Wayland doesn't (and vice versa). To deprecate X due to Wayland would be doing just that -- throwing the baby out with the bathwater. If it ain't broke, don't replace it and don't abandon it.
Let X and Wayland continue in active parallel development (or at least maintenance). As long as there are talented and generous souls like Kanapickas, along with others, that can and will step in and maintain the project that is a win for the Linux desktop. Linux was founded on user-choice. If you simply turn system init and the graphics server over to freedesktop.org -- there is no choice involved -- you take what freedesktop gives you.
Running Kubuntu 21.04 here. X.Org is **all** that works. Wayland is marked *experimental* and the few times I've tried it yielded a big fat nothing. After the listing of services et al finish, the login screen is presented, if you enter your credentials and select Wayland, it crashes back to the previous services listing so hard the only recourse is to hard reboot the system. If you choose X.Org, you see the desktop and everything is good in the world.
Until it can at least run the KDE desktop on my old graphics card (Nvidia Quadro K420) and an Intel i7 with 32 GB ram they can keep it.
I'd suggest the issue is not Wayland at all but the graphics driver that the desktop's backend is calling. Old NVidia cards are notoriously hard to make work with Linux because NVidia haven't bothered to maintain the binary blobs properly.
As AC points out, they maintain older cards on an older driver branch. Fedora users will find these in RPM Fusion. 390 series goes back to GeForce 400 (released 2010) and was updated July this year, current 470 series goes back to GeForce 600 (released 2012). While I'd certainly prefer an open source driver where they could theoretically be maintained forever (I like that my ICE 1724 soundcard is still supported), that's a pretty good lifetime. (In practice they wouldn't, kernel folks dropped 386 and are currently talking about 486.)
My current problem is actually a Fedora system with i915 (open source) doing weird things (Wayland and X...) with characters occasionally, while the same Fedora release on a machine with gtx 1060 is fine.
"The Linux display server..."
Xorg is not part of Linux nor does it require Linux. It is useful, and widely used, atop numerous other kernels, even including Xquartz for MacOS/Darwin, virtual framebuffer type servers for Windows, and the same range of hardware display management you get on GNU/Linux for FreeBSD, illumos, and several others. The section of the release notes starting at https://gitlab.freedesktop.org/xorg/doc/xorg-docs/-/blob/master/general/ReleaseNotes.xml#L263 provides a discussion of supported platforms and the kinds of support Xorg has for each.
People still seem to misunderstand what "Wayland" claims to be, that it is *just* "a protocol for a compositor to talk to its clients as well as a C library implementation of that protocol.", and *not* actually any kind of functional "implementation", as is, in contrast, X11, "an open source implementation of the X Window System".
Any "want'a be" X11 replacement would seem to initially have only one simple requirement, to "copy existing X11 functionality". That's all, a Wayland Client providing full X11 Server functionality to existing X11 applications. Instead, now, after 13 years of Wayland "development", that has totally failed to happen. Basic hardware configuration, with xrandr, does not work. X11 client-server networking, does not work. Often, copy-paste does not even work.
In practice, the term "Wayland Server", means something quite different from the common meaning of "X11 Server". It is claimed that "Wayland is intended as a simpler replacement for X", insinuating that it necessarily provides all of: Networking, Compositing, Display Management, Window Management, Color Management, and Security. So far, in actuality, "Wayland" is nothing more than a new compositor hack with a better security model. There is no networking, no display management, no color management, and I think people still argue over how to perform window decorations in the window management.
I can only hope that, some day, some talented young developer, ambitious enough to "rush in where angels fear to tread", might swap-out the "compositor" part of X11 with some Wayland innards, to provide a satisfactory X11 evolution.
Quote: "....default on Fedora if you use Gnome3 but its not in use if you use xfce...."
Gnome3 is an abomination (despite its glossy exterior). Here at Old Guy Central, all machines are on Fedora34/XFCE4. Simple, lightweight.....what more could an Old Guy want?
Then there's the problem of remote terminal access (as in $ssh -X -C -l user -p 12345 192.168.1.200). To the best of my knowledge, pure Wayland STILL does not support this sort of thing....which just happens to be essential for admin tasks.!
... what more could an Old Guy want?
Rather off topic, but only to answer your question:
That Xfce4 gets fixed and rid of all the bugs it has, once and for all.
Because there's absolutely no way I will be moving to the abomination the next versions of Xfce will become.
Several reasons. SSH is secured with keys, so there is no need for an extra VPN layer. VNC needs to be tunnelled over SSH/VPN as it is insecure. RDP is for M$ systems only. The command-line SSH re-direct with -X can be created as a simple script with an icon that can launch the "thing" from the desktop.
Usage example: my CentOS 7 server has no GUI - it is all managed via the command line. The exception is the HPE RAID controller, which is operated via a browser (Firefox, in this case). To avoid the need to install a heap of unnecessary stuff and have a GUI wasting resources, I can simply install Firefox, and run its graphics via SSH -X over to another Linux system (desktop/laptop with GUI). From there, I can control the RAID array without needing to take the server offline - where I would then need to plug-in a keyboard, mouse, and screen. Yes, the server has iLO, but thanks to the updates to Java, the iLO remote screen is now FUBAR.
Without in any way detracting from your central point of the immense usefulness of remote X... RDP is actually not just for MS operating systems, there are servers and clients for *nix as well.
In fact, given the death of FreeNX I might end up having to use XRDP in production as a replacement - it actually seems to work very well. Feels kind of wrong though!
Ours is working okay, using EPEL packages (RHEL7, Gnome is a no-go, so need MATE) on RedHat from Linux, Win and Mac clients. However trying to get a working install built from source did not go well. It's basically click and go, but few knobs to tweak if something isn't working right (have had to track down some not-very-well documented server and user config files to address a couple of issues). Nice compared to VNC and the like in that multiple users can have persistent sessions and no funny X config work needed. I guess RDP functionality is probably similar.
 X2GO_NXOPTIONS="sleep=0" in /etc/x2go/x2goagent.options. Nice feature to sleep the session when disconnected, but the opposite of what people need if they're carrying out long-running processing.
 Mac to X2Go to VMware issue with key code mappings, requiring ~/.vmware/config line "xkeymap.nokeycodeMap = true". I guess not strictly an X2Go issue.
After reading a bit about it I'm now going to answer my own question.
X11 works like a server by waiting for applications to connect to it and start pushing their drawing instructions.
SSH -X works by starting a dedicated X server, then starting an application that will eventually connect back to it. Drawing instructions are replayed by the local X11.
A VNC server (such as vncserver) uses the same trick of starting a dedicated X server for applications to connect to but the network protocol is different. For reasons of trust it is a good idea to tunnel this through SSH -L
So why run VNC when it's just another layer of complexity? Because it's also a layer of compatibility. A client might be running Wayland or Windows or whatever thin clients use. Alternatively some VNC servers actually use Wayland instead but the client is unaffected.
It comes down to personal taste. The closest argument to a deal breaker which I can see is that a remote desktop protocol typically transmits the entire desktop whereas SSH -X transmits only the application's window.
When compared to X11, Wayland is smaller, safer, and more likely to be maintained in future. Neither is enough to outright kill the other. When hardware compatibility is an issue use X11, otherwise don't fret about it.
You've not quite got the ssh -X bit right.
When you do this, it is assumed that you have an X11 server already running on your local system. What the -X flag does is to create either a named socket or a network listener on the loopback address on the far system that matches the X11 semantics. This allows a client running on the far system to run the X11 protocol through that local network port or named socket, exactly as if it was using network or socket communication to a local (as far as it is concerned) X11 server on the far system, even though there is no such beast.
But what happens is that the ssh remote endpoint accepts the data, and tunnels the session through an encrypted side band of the ssh session, and delivers it to the equivalent named socket or loopback address on the system that the X server is actually running on. This is bi-directional, so the X session just runs through the tunnel.
The interesting thing is that this is taking advantage of the communication neutral way that the X protocol works. If you can get a bi-directional binary network session between two systems, you can almost certainly run X11 through it.
Originally, back in more trusting times, you would just run X11 across the network using an open listener on the system running the X server, and give the address to the client, but as security became more important, it became necessary to put mechanisms in place both to encrypt the traffic, and to control access. X got a number of enhancements (like Xauthority and others), but it often became much easier to use ssh to run an X11 tunnel that most of these fell by the wayside (Xauthority is still used, though).
Also, (but please don't tell some of the people who configure firewalls), because X11 tunneling through ssh does not require anything other than port 22 that ssh works with (and other ports can be used), if you have the ability to run a direct ssh sessions between two systems, you can tunnel X11 (and in fact many other protocols) between the systems. But keep that quiet, because it's enabled me to do things that the security people who are not in the know think that they are preventing!
VNC and RDP are essentially both remote control applications that drive the console. This limits it to just one person controlling the system, unless you put some virtual frame buffer support in the far system.
X11 is and was always intended to be a remote access solution that allows multiple people to run graphical programs on a remote system, and does not touch the console.
Back in the days of thin clients, particularly X terminals and X Stations, you could also fully drive multiple user sessions from a single system without having to resort to basically lightweight virtual machines the way that Windows Terminal Server worked. I'm not sure how modern virtual desktops work on Windows, I'm sure it is better than it used to be but X11 used to work very well.
Although VNC and RDP have got better, it used to be that they were much less efficient at passing the session across a network. X11 evolved in an environment where 10Mb/S was the normal network speed, so had a large number of efficiencies built in right from the initial design that passed the graphics primitives across the network, and relying on the X11 Server to render them, rather than bitmaps of all or part of the screen like VNC and RDP do.
There are some things that remote X11 was never good at. Sound support is an extension, and not that well integrated. It's also not that suitable for passing rapidly changing images (like video) across a network, but then I don't think you'd want to do that using VNC or RDP.
The primary reason X11 is losing the battle is because it can introduce bottlenecks when you run both client and server on the same system, as you do on a workstation. Also, some people don't like the way that traditional font handling works, where the client program does not have complete control of the rendering of the fonts, but has to rely on the X Server's list of fonts. But this has changed over the years, and modern X11 clients often render into a pixmap, and squirt the pixmap to the server to display. This is not the most efficient way of working, but it allows the client program complete control of how it's display appears.
It is also the case that accelerated graphics only work, or maybe just work best when you have the client and server on the same system.
I still prefer to use X11 rather than VNC or RDP, because I find the experience better, but then I'm not a typical modern user.
Gotta give props to xfce here as well. Unfortunately, they still haven't fixed its issues with extending the desktop to the left. If you have, for example, two monitors and need to have the primary monitor on the right with the secondary monitor on the left, xfce just can't handle that. It's the main reason I've had to switch to KDE (I agree with your Gnome sentiments). I still use xfce on my laptops that only have a single screen.
Please get the point..........it's absolutely not about "the best in the best of all possible worlds"!!!!
It's about what works for this user.......and Gnome3 is NOT THE ANSWER!! Pure Wayland is NOT THE ANSWER!!
So....I know the answer will probably be sub-optimal!!! XFCE4 is sub-optimal.....BUT IT'S BETTER THAN MANY OF THE ALTERNATIVES!!
Please get the point ...
... IT'S BETTER THAN MANY OF THE ALTERNATIVES!!
I get it, always have.
Which is why, much to my chagrin, I am still using Xfce4 on my main box.
But, quite convinced that Xfce is steadily going to the dogs, my next stop will probably be a customized Openbox type setup, like Philip Newborough's #! Linux.
BTW: there's really no need to shout, OP.
The corporate problem (or a big slice of it anyway) is security architecture. It is a mantra that no system within a secure zone may initiate a connection to an external system. This prevents a compromised secure zone from spreading its woes - and data - to the world. But x.org runs on the server in the zone, and once an admin or other user has logged on, the x.org server initiates outbound "push" messages to update the user's screen. Forbidden! So how can the poor remote admin get a GUI desktop on the secure system?
The old answer was Windows NT >shudder< and many a pure UNIX/Linux environment has had an NT box lying in there like long covid, unsupportable and subject to sudden resurgences of BSOD, but irremovable.
Wayland is designed to run the connections the approved, secure way round.
So for the corporate infosec architect, Wayland doesn't have to be better than x.org, it just has to be better than NT. Not, I think you will agree, a very high bar.
I look forward to the BOFH's take on it, hint hint!
(FWIW I run Devuan+Mate at home, so x.org is my personal friend and Wayland spends its time with SystemD, getting drunk and crying into their beers.)
Professionals use the tools that exist to get the job done. If the only tool that exists is a GUI the professional uses that to get the job done: the prima donna stalks off in a tantrum mumbling about professionals and the amateur decides to write a replacement tool which, if it is ever finished, will be finished five years after the system for which the GUI was the only interface has been decommissioned.
Am pleased to be an amateur: my command line interface for Symbian is nearly complete now.
You've fallen into the same trap as many others.
The X server is the thing that controls the screen, keyboard and pointing device and runs on the closest system to the user.
The program running on the remote system is the client, sending the data to the server.
The communication between the client and the server is fully bi-directional, there is neither a push nor a pull, although the client program will initiate the connection to the server.
Even though I am a user of X11, I would not encourage the use of X11 between different security zones, even using ssh as a tunnel unless I absolutely had to to get something done. Unfortunately, even using ssh to encrypt the data and Xauthority to control access, there are enough sideband attacks that are well know which could be used to compromise your X11 server and the other clients that are attached. And if the system in the remote zone has been compromised, then a privileged user on that system has all sorts of ways of attacking you through the session.
Am I an old over the hill Linux specialist because I hate Wayland & SystemD?
I still fail to see their benefits and to me it still feels like Alpha code trying to solve problems in the wrong way.
I also hate DevOps because it simply equals forcing your customers to beta test software without actually telling them.
Should I retire?
I suspect that seeing as a number of the Wayland developers are also X developers they have a fairly decent idea of X's shortcomings are are trying to fix it.
Devops can work, the problem is that far too frequently developers don't understand operations' point of view, and it ends up being a badly thought out mess that satisfies neither operations or the end user.
Systemd can die in a fire though. There's problems with sysv init, but from what I can see systemd doesn't care about edge cases, and that's important if the intent is to be an essential system service. It's offering insufficient advantages of Windows' approach, with all the disadvantages of limited system recovery and repairability.
I've watched some of the presentations about Wayland as it has been described at various Linux conferences, and while I agree that some X.org developers have become Wayland developers, that doesn't mean that they've carried across the things that makes X11 so useful.
The primary example is XWayland, which the main project just see as a relatively minor compatibility component for legacy systems.
But treating it like that just goes to show that they've ignored the primary purpose of X11. It was always meant for remote systems, and having the clients running on the same system as the X server was just an example of a normal session. Originally, even though both components were running on the same system, it still went through the network layer, so it was not even a special case, at least not until they added the shared memory communication model in X11 release 3 or was it 4.
But the X11 model does not work that well for accelerated graphics, client side rendering, high bandwidth windows (e.g. video) and a number of other things that are expected to work well when running on the same system, like desktop workstations. Over the years, there have been extensions added to the different implementation of X servers to allow some of these things to be more efficient (like Xrender, Xv, Mesa and Vulcan, and many others), but these have often been seen as just patching holes rather than fully embracing what is needed for high performance graphics systems.
When Wayland came along, I was interested, but felt that over time it has concentrated on same-server graphics systems at the expense of the original design goals for X11. Thus, as I am more interested in graphics-over-the-network, and with legacy Unix systems that are never going to receive native Wayland support, I've tended to stop following Wayland, and go back to core X.org with the necessary extension on my Linux systems.
I have never put Wayland into the same category as systemd (few things are that bad)... on the other hand it claims to solve problems I don't have and after all these years completely fails to do the basics that X has done for decades. My original tentative optimism about it has waned - I don't think we'd be missing much if it went and quietly died in a corner somewhere now.
Arcan looks much more interesting...
"Should I retire?"
Probably, because it's obvious that the stupidity of others is harming your mental health or at least your well-being and enjoyment of your time alive. Since working for other people greatly increases your exposure to that stupidity and its carriers, it stands to reason that you'd be a happier person if you retired. Spend your time alive doing things you enjoy or value instead of being angry about other people's ill-informed choices. But don't take advice from random people on the Internet, either; you'll need to work that out for yourself.
I'm in the same boat. With 40+ years of Unix experience under my belt, including time at AT&T and IBM's AIX support Centre in the UK, and 25 years of Linux experience, I'm finding it increasingly difficult to even understand the thinking behind many of the newer technologies, and even the direction that Linux is taking.
Increasingly, it is looking to me as if the Microsoft way of developing, deploying and managing systems had managed to poison the Linux space, and I've often found that many Linux admins just do not understand the original relationship between Unix and Linux.
The thinking behind such things as Systemd, Pulse audio and Wayland appear to owe much more to the monolithic design model than the KISS model that originally was the driver for Unix, and dare I say it, early Linux design.
When it comes to DevOps and Agile, I feel that there are a number of environments where these models make no sense whatsoever. Safety critical systems, and systems where the reputational or financial impact of letting errors through to production systems require full regression testing, and I've never been a big fan of relying on automated testing as the primary testing regime. So while you could use Agile or DevOps to get you to the point where you need to do the full system test, having that last step actually makes a bit of a mockery of any fail early fail often methodology, as some errors just may not appear until that last stage.
My official retirement date is about 6 years away, so I'm just counting down, hoping that I can keep myself busy while trying to ignore as much of the things that wind me up as I can.
... as if the Microsoft way of developing, deploying and managing systems had managed to poison the Linux space ...
... as if?
It has poisoned the Linux ecosystem.
And what is worse, it has done it with a lot of help from within the Linux ecosystem.
Systemd, Pulse audio and Wayland are the exact opposite to the KISS model.
I keep them off my boxes.
From my point of view, after far too many years of work with M$ OSs, the one thing I can say is that systemd behaves just like M$'s infamous registry and that is no coincidence.
To quote another comentard here at ElReg:
" ... takes root in its host, eats massive quantities of resources as it grows, spreads unchecked into areas unrelated to the initial infection, and refuses to die unless physically removed from the system, all the while doing absolutely nothing of benefit to the host."
ie: just like a malignant tumour.
I too try to ignore as much of the things that wind me up.
But then, I also read ElReg. 8^D
Have a good weekend.
Biting the hand that feeds IT © 1998–2021