All in all, I’m very impressed with the work the wayland community has done since I last did a serious look at the state of things. I’m still waiting for a stacking window manager that scratches the same itch for me that icewm does, but I’m following labwc with great interest. At this point though, I’ve established that I can live my life on wayland, and for the time being I am. Not everyone can yet though, and there’s still work to be done. Part of why I’m feeling the urge to transition to wayland is performance benefits, but the other part is so that I’ll be able to help solve the unsolved problems to make it viable for more people.
I don’t think X is ever going to die. Even if it fades away on Linux, there’s a lot of old video hardware that will probably only ever be well supported with real Xorg, on Linux and other OSes such as NetBSD. That stuff is already seeing support dropped in more recent versions of Xorg, and preservationists will need to do digging to find versions that still take advantage of everything the hardware has to offer. But, I understand now why the wayland folks have been talking so highly of it, and how drastically it simplifies the userland stack, and I’m no longer concerned that I’ll wake up to find my netbook has become unusable for modern software.
I’ve been on Wayland on both my laptop and workstation for a long time now, and there’s no way I’m ever going back with just how much better it performs than X.org. Only my main PC (used mostly for gaming) is still on X.org (Linux Mint), but that’s out of a combination of NVIDIA hardware and my satisfaction with Mint. I agree with the author that X.org won’t die, but the arrow of time is pointing in a very clear direction.
Lets not forget Wayland is now almost a decade and a half old. The good thing i guess is all major and popular options did get a Wayland counterpart. From sway to wayfire and from GNOME to KDE. A good thing is a lot of solutions to use some common ground. Such as being based on wlroots. But then again there is a lot of fragmentation involved. But this is i guess the nature of Wayland. You have to build some solution and do that alone. Fragmentation bound to happen. Personally the thing that impresses me the most is if you lets say take latest version of Debian/Ubuntu. You can install it on most hardware produced in the last lets say 15 years. And from the operating system to programs. More or less all working just fine. Latest and greatest versions on openbox, sway, GNOME, KDE … Wayland, X11 … Everything still just works. This is in my opinion such big achievement that companies like Apple with their iOS or Microsoft with Windows or Google with Android. They all together don’t come even close to that. But they are often presented as them being much better at this.
Can it do remote applications yet, or do we still need X forwarding?
notwl,
Last time I tried it did not work with my remote desktop/screen sharing apps, but may 1-2 years ago. I can’t go without them, otherwise I would have switched years ago. If I really wanted to I might be able to run a wayland host and provision a X or windows guest environment for screen sharing stuff, but honestly I feel wayland needs to get all these things ironed out.
Remote desktop is one of the reasons for Pipewire. I haven’t tried it, but it seems doable.
https://wiki.archlinux.org/title/Wayland#Remote_display
https://help.ubuntu.com/stable/ubuntu-help/sharing-desktop.html
https://www.server-world.info/en/note?os=Fedora_36&p=desktop&f=7
Flatland_Spider,
This has been the answer for a long time, but every time I check it is neither ready nor supported. Do any of the standard remote control apps support pipewire today? VNC is useful because there’s tons of cross platform tooling for it. Or non standard ones for that matter?
https://www.reddit.com/r/linux4noobs/comments/qxcvq7/whats_the_best_vnc_server_for_wayland_pipewire/
Gnome Remote Desktop uses pipewire.
https://wiki.gnome.org/Projects/Mutter/RemoteDesktop
There is a way to enable VNC instead of RDP.
There is wayvnc for wlroots based environments.
https://archlinux.org/packages/community/x86_64/wayvnc/
Gnome and sway are the two GUI environments I look at, so I’m not sure about the status of others like KDE.
I tried this again with a fresh debian install. I couldn’t actually get wayland to work at all until I followed instructions here…
https://wiki.debian.org/Wayland
The last time I tested it it must have been with ubuntu where it was enabled by default. I’m guessing it’s enabled by default on fedora too.
Anyways, the standard tools like vnc aren’t working under wayland, as we know.
I did try gnome’s remotedesktop. It only bound to an ipv6 interface for some reason ( [::]:5900 ), which is weird because my network uses IPv4. There must be a way to configure it somewhere, but at any rate I was able to test. It was buggy for me though, the session was locking up. Maybe it’s working better on fedora or ubuntu? On the positive side it’s closer than I’ve seen working before. It does seem to be gnome specific though.
Plasma was not wayland-enabled until I followed directions from the link above. Although I still don’t have a screen sharing solution for it.
Wayland was a no-go with XFCE.
wayvnc wasn’t available in a debian package and given that they don’t support either gnome or KDE I didn’t see a point in trying it.
This is one of my major gripes with wayland, by abdicating responsibility for features that many users need like screen sharing, the result has been a duplication of effort and inconsistent support between compositors. IMHO this should be completely agnostic of the compositor. A better design would have avoided this. I’d overlook these complaints if it at least worked, but it’s so frustrating that after all these years some of my fundamental use cases are still not where they need to be.
I do not want a full remote desktop, just a remote application. VNC, desktop sharing, etc are not the answer. Waypipe may work, but it seems to still rely on “ssh -X” and using XWayland (feel free to correct me if I am misunderstanding that), so why not just use X.
It’s weird that Linux started moving away from remote applications just as MS Windows started enabling it with Remote Desktop Services.
“ssh -X” is sensible enough. It was common practice to forward X over SSH since X’s network protocol wasn’t encrypted.
I can’t find any mention of XWayland in the waypipe documentation, so I’m not sure about that. Is an application pulling XWayland in as a dependency or is it a default dependency of Wayland?
Why not X? Network X has problems, and Wayland should allow better remote experiences since the session can be muxed at a lower level. The architecture should be more modular with more places to plug into.
From what I’ve gathered. I haven’t tried any of this.
It makes sense. Everyone was satisfied with SSH, and Linux wasn’t used with GUI applications. GUI applications were the domain of Windows or Mac. SSH works well, and we all know real *nix users use the command line exclusively. 😉
MS had a need for a thin-client service to compete with Citrix. The *nix world had no such pressure.
Anyway, I agree it’s annoying remote computing isn’t given more attention, and I’m happy people are working on it. Well, working on parts anyway. There’s no reason I shouldn’t be able to use a RPi as a thin client or setup a computer with multiple seats.
With thin clients, I could buy 1 server and multiple RPis, hypothetically since RPis are rare these days, and save lots of money and resources.
In the multi-seat scenario, I could buy 1 computer and some adapters, and have like 4 people using the same machine at the same time.
Flatland_Spider,
A hypothetical application based remoting would work really well with current hybrid work setups. As you mentioned, this could be RPi, a Chromebook, or a phone connected to a docking station.
In any case, one would do their browsing, multimedia, and basic management tasks locally, while connecting to a remote machine for heavyweight tasks, like software development or content generation.
And here, someone running MS Paint remotely:
https://youtu.be/YfmEm6y66NA?t=280
(Not the best demo, but shows the concept).
sukru,
I think remote applications like X, citrix, windows terminal services are an awesome feature for a limited audience. I’ve seen businesses put these technologies to good use with centralized management being the main selling point. At university we’d regularly use remote X sessions to connect to labs. In such settings the scales of economy help. However at home I can’t say I’ve had much use for it.
Why use a thin client when I’m already running a high performance desktop? Hypothetically if I were predominantly a portable laptop user, this could help push the scales towards lightweight & efficient thin clients with a server doing the heavy lifting.
X is notoriously inefficient and bloated, it would be nice to see a replacement that continues to provide network functionality, although it appears that all implementations are going to be desktop specific going forward. Under wayland, kde, gnome, xfce, etc will all need their own implementations of these features.
ssh -X has problems. One very serous problem. It bidirectional control. So the server can control the client and the client can control the server. There is a long list of security mess caused by this. Remember this means that X11 application you have on your desktop from a remote computer can control every other application you are running locally using ssh -X
The other major problem ssh -X does not handle disruptions well.
https://xpra.org/ xpra is better in this. Solves both problems.
waypipe and xpra in combination avoid the nasty case that server that remote application is on is hacked so the hack gets to worm though the network. There are Linux malware that exploit ssh -X weakness to increase it spread not that common but does exist.
oiaohm,
Thanks for mentioning waypipe. I’ll try testing it next time I need remote X11 sessions.
Alfman,
Yes, vanilla X11 forwarding is not very efficient (nor were VNC). Running Firefox for example was problematic to say the least.
Nevertheless it is a good fallback option. If some remote server has network config issues, and needs a local browser, a remote Firefox is much better than a links/lynx attempt.
It is like having sh/vi everywhere. (Not bash/vim).
sukru,
Exactly. 🙂
I’ve heard about RemoteApp, and I’ve seen Citrix in use, and I’m envious. 🙂
I want container based VDI/remote applications for my home network. 🙂
The majority of my reasons revolve around making remote work easier.
It’s easy enough to setup a VPN server to route traffic, and then I can work with the resources on my home network via a desktop or application session when I’m out and about.
A small number revolve around reducing the amount of computing resources I need on the client side.
Business reasons are the other reason I want this.
It’s really nice being able to work on a machine local to the network. SSH and tmux work fine, but sometimes I need a web browser.
Lots of reasons.
There is a crappy Chromebox you got for free which can be repurposed as a thin client connecting to the high perf desktop.
Want to share the high perf desktop instead of having two high perf desktops.
You’re on a thermally constrained laptop out in the world.
Would rather save desk space by turning the high perf desktop into a server and use an RPi/NUC/Mac Mini as a desktop.
I think things will converge at some point. A lot of the problem is everyone is trying to figure out the best way to do everything so the solution doesn’t get ripped out in 2 years.
In the grand scheme of things there are only three: KDE, Gnome, wlroots.
To me, Wayland causes more issues than it solves. Pretty much all improvements could have been achieved with an X11 extension or two, but the problems introduced by Wayland are far deeper. It is not just about the drivers and remote desktop (these are going to be ironed out before Wayland is adopted by most users). The biggest problem is interoperability – Wayland project was deliberately set out to kill off decades of hard consensus making work on how Unix desktop should work.
X11 and Posix are the glue connecting countless Linux (and BSD) distributions, UI libraries and DEs and without it we will simply have N separated OS/DEs, each with its own applications. Technically, we could rebuild the consensus over the next 10-20 years but (1) neither Wayland nor Gnome devs are interested in it and they keep changing directions every few years (so other can’t simply choose Gnome as a de-facto standard), (2) we already have it in form of X11 and we would be largely recreating it.
One day we will miss the times when only application incompatibilities we L&F and a file chooser dialog.
ndrw,
I actually understand the motives for replacing X, which has become bloated and inefficient. I think wayland developers had a good opportunity to clean that up and make the replacement a win-win for everyone. But I get some dictatorship vibes from the developers deciding what features we’re allowed to have instead of working on a plan to clean things up while supporting the features that we need. Although this project management approach isn’t unprecedented for FOSS projects, it does tend to leave many users frustrated and I’m not a fan of it because it tends not to produce “win-win” outcomes.
Without wayland, most Linux desktop environments are unusable for me. Even just typing has such an input delay, it makes X11 a non starter. The fact that most neckbearded Linux old hats can’t see it, or just refuse to acknowledge it, has been an aspect holding back desktop Linux. End users don’t really care about the details about why X11 might (heavy emphasis on might) actually have some merit, all of that is completely irrelevant.
Now we just need color management and HDR! (To be clear, only macos/ios gets that right – Windows doesn’t even handle it properly, so there’s a real chance at beating the alternatives on the market in this space.)
CaptainN-,
That’s an interesting claim. I honestly don’t notice X11 delay locally, but then I’m using H/W acceleration. Do you have data supporting this? That sounds like something that would be interesting to test empirically!
CaptainN-,
I found this comparison showing benchmarks between X and wayland for a number of games.
https://openbenchmarking.org/result/1905024-HV-FEDORA30D09&obr_sgm=y
X wins some benchmarks and wayland wins others. The very last graph shows the “Geometric Mean Of All Test Results” where they are practically tied.
I did find an interesting study measuring human response to touch latency.
https://www.tactuallabs.com/papers/howMuchFasterIsFastEnoughCHI15.pdf
They report this…
Given that X is capable of outputting hundreds of FPS, it seems unlikely that X latency, if it were there, would even be perceivable at such high frame rates. Maybe ordinary desktop applications are using a slower pipeline than games. I found this benchmark comparing browser performance between X and wayland…
https://www.phoronix.com/review/firefox-75-wayland
The results are so similar, I’m not seeing anything suggesting that X is demonstrably “unusable” next to wayland. Some X benchmarks even manage to beat wayland.
Do you have better data to use?
I’ll never get rid of X because of one (likely accidentally) amusing message that happens during the installation of official nVidia drivers:
“Checking for conflicting *X-Files* “