Hacker News new | past | comments | ask | show | jobs | submit login

The problem with Wayland is really that people understand it to be a drop-in replacement of X11, or something close to it. But it's not a replacement of X11. You don't "switch to Wayland", despite what that GDM button seems to indicate. Wayland is just a protocol, whereas X11 is a protocol and entire system around it.

So Wayland is not a replacement of X11. Gnome on Wayland should be a replacement for Gnome on X11. KDE on Wayland should be replacement for KDE on X11. Sway on Wayland should be a replacement for i3 and X11. But as you can imagine in this equation, KDE, Gnome and Sway are permitted and required to take on more responsibilities.

You might take issue with the fact that a lot more of the display stack gets tied up in specific desktop environments. It's KDE and Gnome and Sway that are not providing you these command line tools/screen recording/clipboard access. I don't mean to say this as nitpicking or that """Wayland""" (whatever that means) is dropping the ball, but this is really the responsibility of the desktop environment (or WM) in Wayland's design. Wayland is just a protocol.

What you're observing as shortcomings in Wayland is really a lock of pace and direction of development for (e.g. Freedesktop) standards that standardize clipboard access/screen recording use cases, and the adoption of those standards. The Linux community seems to have been hit by 1) not realizing Wayland does not replace X11 and 2) realizing that, not being to coordinate standardization well of the pieces of the X11 stack that should be replaced as well. If you need to replace X11, you need a lot more than just Wayland. But that seems to keep on catching people by surprise.

I think it'd be helpful for the future of the Linux desktop if more people recognized that.




No matter how horrible X may be, it has a lot of value for end users. Almost all of this value is in the ecosystem around X.

You can't capture an ecosystem unless you provide that value, plus the activation energy needed to persuade people to change.

systemd (as an example of a large, recent, change to the "whole system") touched end-users far less than X so the pain was felt mainly by distributors and sysadmins.

Time and again, software that's "better" fails in the market because it doesn't provide the things that users need, want or use.

Backwards compatibility is usually key when trying to capture a large, long established user base. ...and that means backwards compatibility even (or especially!) with all the "bad" or "wrong" stuff. This is one of the things that makes software "products" much harder than software "engineering" (which in turn is "harder" than computer science).

Science is how it works. Engineering is getting it to work and productisation is getting people to adopt it.

Wayland has to solve problems that end-users actually care about rather than just being better in technical ways.


To be fair to """Wayland""" (again, whatever that means), Gnome on Wayland seems to be a lot better when it comes to the core smoothness of the desktop experience. I have never seen tearing on Gnome on Wayland, and with X11 I saw it every day. I haven't used KDE on Wayland extensively, but in my short time with it it was a lot less glitchy graphically speaking than X11. For all the shortcomings of the """Wayland ecosystem""", there seems to be true technical merit Wayland has over X11. If only because it fundamentally solves X11's buffer sharing problem.

But the writing's on the wall. This change is not coming about through market forces as you're suggesting, but where the developer's interests are. And that's pretty clear X.org's development has slowed down significantly compared to whatever is happening around a Wayland ecosystem. Although sadly not as much effort is put into the stuff that is needed outside of Wayland.


I think tearing may be one of those personal preferences where the population is divided down somewhere near the middle, but people on either side can not fathom the existence of the other as anything other than some sort of bad-faith exercise in contrarianism. At least, I for my part could never imagine ever willingly giving up a "real feature" (my perception!) like xdotool for the cosmetic benefits of no tearing (which to me feels like a problem on the importance level of "getting the blinky blue LEDs on your GPU fan to work"), but at the same time there is clearly a large number of people on tech support forums, stackexchange etc. to whom it is of show-stopping significance, as evidenced by the effort and time put into achieving non-tearing and how often it is presented as a self-evident killer feature of systems like Wayland.


That tearing issue even comes from a tradeoff space: a couple days ago on another thread about X people were noting that to avoid the tearing Wayland seems to have higher latency, and some people (and I would be one of them, were I to experience this) care way more about lower latency than "never ever ever see tearing".


I can't find the story you're talking about here, but one thing that would be good to understand here is whether this is some flaw in the Wayland protocol, or whether this is an implementation issue in a specific Wayland compositor like Gnome's Mutter. People tend to blame a lot of issues resulting from immature implementations on some unspecified "Wayland" (whatever that means).

All I can find is that in the past Mutter had lower latency for its Wayland implementation when compared to it using X.org, but it seems that Mutter's latency story has always been iffy in the past. FWIW it seems that Sway for example has finely grained input latency tweaks built in while being Wayland compliant [1].

[1]: https://github.com/swaywm/sway/releases/tag/1.4


...which was a peculiar discussion because I don't think anyone mentioned that just about everyone runs X today with some combination of DRI2 or DRI3, which involves plenty of latency, boundary-crossing, and buffer-copying.


> The compositor is evil

> First, I want to make it clear that I’m not accusing the compositor of true evil, which I define roughly as deliberately causing suffering. There’s unfortunately too much of that in the world. I mean it in the more metaphorical sense that it causes serious problems and forces other parts of the system to be more complex to work around its limitations.

https://news.ycombinator.com/item?id=24466929


> but people on either side can not fathom the existence of the other as anything other than some sort of bad-faith exercise in contrarianism.

I do not understand this position. Why attack Wayland? X.Org works, it would probably work for another 10 years, XWayland maybe 20 years. If X.Org is such a marvel surely someone would maintain it.

There are a lot of options to support X.Org — programming, hiring, donations, asking company to buy license from the vendor that maintains it. Companies buy all sort of licenses, office suits, editors, I have not seen buying Linux licenses.


> I do not understand this position. Why attack Wayland? X.Org works, it would probably work for another 10 years, XWayland maybe 20 years. If X.Org is such a marvel surely someone would maintain it.

Because most people are dependent on distributions to provide them with a standardised setup, packages and security updates, and few distros have proven willing to support more than one option for a component as central and dominant as the display server. Sysvinit also works, und unlike Xorg doesn't even have the problem that graphics hardware will eventually leave it behind; and yet, it is now basically impossible to avoid systemd and its many tentacles if you want a mainstream-compatible Linux experience with timely security patches, because its proponents have successfully persuaded every major distro to adopt it and drop everything it replaced. Wayland, unfortunately, is not willing to exist as just another option until it has reached feature parity with X11; rather, it is competing with it for a limited resource (distro support) now, and poised to go in for the killing choke.


In other words you believe distro maintainers does bad job. They push product that is not ready.

I've seen enough arrogant quotes from systemd developers. But it solves user problems. Arch Linux was first among systemd adopters, boot become much quicker. And I think it solves maintainers problems, that's why it was adopted so quickly.

Oh, I've heard GNOME also helped adoption, but is it systemd fault or GNOME fault? I believe GNOMEs. As I know OpenBSD does not run systemd so it is possible if people care enough.

I do not use PulseAudio, but I have not tried since 2008 (pushed by Ubuntu, wrong choice). Maybe it works, ALSA works so I do not care. If I cared enough about ALSA, I'd support its development like maintaining Firefox ALSA backend.

> Wayland, unfortunately, is not willing to exist as just another option

I do not believe this is developers attitude, more like your opinion. You would gain nothing by attacking Wayland. Some developers would burn out sooner, same developers that could have implemented features you need. And lets face it no one wants to work on XFree86, not you, not me, hardly anyone. Because it is a mess:

> The size isn't so much the issue, it's the design. The xfree86 ddx seriously believes that you have one video card driving one monitor with one keyboard and one mouse, and anything beyond that only works well because we sank a ton of effort into it. (It used to have code to disable interrupts! From userspace! What could go right.)

> X is a tremendously successful project whose core design and reference implementation do not reflect how computers work anymore, in ways that make it painful to develop and maintain as the system display server.

https://news.ycombinator.com/item?id=24925189


I equate obsession with tearing with not being serious about the topic. I can't think of any single thing that tearing ever interferes with getting done.

That said, it's been years since I saw tearing on X. I can't really even remember what it looked like, or when it went away. Intel graphics used to crash all the damn time, but I don't recall ever seeing tearing on it. Is it an NVidia driver artifact?


I would agree with you about not seeing tearing... except that it only applies to the "desktop experience". Any time I'd watch a video with, say, VLC media player, I'd get absolutely horrendous tearing that was nearly unwatchable. And upon switching to Wayland it would all disappear.


I'm really surprise at the tearing argument here. I've had Nvidia, AMD, Intel and Matrox graphic cards, sometimes on Intel other on AMD, so I've known tearing ... But that have been fixed for me with the introduction of double buffering and GL compositor. Waaaayyy before Wayland even existed. So that argument does not really fly with. Granted, internally those combo are ugly and clunky. And Wayland might have a cleaner design.

But in the vast majority of cases, X11 implementations have worked for the end user. It certainly did for me. Wayland does not. I've never managed to have it working smoothly for me !

As a user (like in a user story you could say), I don't care that the Wayland protocol does not cover X11 protocol, I want my screengrabber and my video to just work. And if it is "cross-platform/desktop" the better. As a user I do not want a different set of bugs because I use a Gtk screengrabber and a Qt video editor and the Wayland team decided it was not in their scope to handle it. IMHO, sadly, it ends up in nobody's scope and/or in code duplication.


Maybe the problem is precisely that Wayland is not an X replacement, because that has led to a situation where there is a certain mismatch between the different pieces of the stack. Few people really understand what Wayland actually is, and how it works, and how it all fits together, which means only few people are actively working on the ecosystem.

Love it or hate it, but systemd has been around since 2010, and is almost ubiquitous by now. Wayland has been around since 2008, and it still seems more like a tech demo for most use cases rather than something that is production ready. There is clearly an issue with this project.


> Maybe the problem is precisely that Wayland is not an X replacement

For the understanding of all of this by the community, certainly. But Wayland could have never been a direct replacement for X. The problem with X is not that it's old or poor quality. Even if that were so, that is fixable. The problem with X is that its fundamental design principles are not suited to a desktop made after the early 1990s.

The reason X is much more entrenched than being a display protocol very much has to do with every X running system having a standardized X server any system process can talk to. That client server principle was fundamentally flawed and Wayland fixes that, but that very same client server principle allowed this X ecosystem to thrive. Any "X replacement" that did away with X11's core design problems would therefore run into not being able to replace the ecosystem in the same way.

If there would have been a coordinated effort to replace X, we would have needed a much broader initiative pop in 2010. An initiative where Wayland is one component, something like PipeWire another, and some Freedesktop IPC standards for e.g. accessing the clipboard and other features provided out of the box by X11, and reference utilities implementing those standards.

But coordinated efforts like that are not really how the free software community works! So Wayland just evolved out on its own. It started as a small effort by developers frustrated with X11 the display server protocol. The community then proceeded to take the line "Wayland is a replacement for X.org" and then ran with it, creating confusion everywhere, and stifling progress to replace X11 in the process.

Systemd is quite unique in the free software world because it's a tremendously coordinated effort and has taken on a broad scope. And just look at the sheer amount of vitriol that ended up getting just for those aspects of the project. It's just not how the community likes to operate, or at least a vocal minority does not like this.


That is all true, but the question then becomes whether Wayland will ever be widely adopted. For most users X is good enough, and replacing it with a quasi beta-quality implementation is not appealing to them. As long as there is only a very small group interested in developing the Wayland ecosystem, it is unlikely ever to get to the point where users (or distros) can be convinced to adopt it.

The way things are currently going, Wayland may turn out to be another HURD: it's always a year away from being ready, and there are some enthusiasts working on it, but in the end, it is supplanted by a more pragmatic solution. And the only way that is happening is once X is falling apart enough that some company like Redhat coordinates an effort to replace it.


Yes, this process of moving away from X11 has been terribly mismanaged - by not being managed at all really. But it's not quite as dire as you're saying.

> For most users X is good enough

It's good to understand the converse is also true. For a lot of users, Gnome with Wayland is also good enough [1]. Fedora's default install has been Gnome with Wayland since Fedora 25, which was released almost four years ago. Since then I've primarily used this non-X11 desktop on my Linux desktop, although I did fall back to X11 for specific scenarios. Debian 10 and CentOS 8 (both released over a year ago) also default to Gnome with Wayland for a desktop install. Red Hat's and the Debian Project's decisions there may have been questionable, but this is still software many, many users use daily despite its limitations. It's certainly well beyond a GNU Hurd situation even if it doesn't reach your or my desktop standards all the time.

Despite the utter mess this transition has been for years, I do think Wayland will persevere in the end and become dominant. Features users expect from a modern desktop, like fractional UI scaling, rich trackpad gestures and browser hardware video decoding are implemented more quickly for the non-X11 desktop stack. People seem to implicitly agree it's the future, although to this day some essential parts of it are still left behind. That's just the free software community for you - no centralized planning or vison, and nobody works on the boring parts.

[1]: It's only been Gnome so far that has reached this level of "mainstream acceptance". KDE with Wayland is almost there, and Sway has a lot of enthusiasm around it too.


Wayland has been enabled by default on Fedora for nearly 4 years, on Debian for 1.5 years, and on RHEL/CentOS for about the same (the GNOME editions in each case).

Sway has been working great for quite some time as well.

KDE has been lagging behind, but is finally at a place where it will be usable by the next release.

It's therefore somewhat difficult to identify with your phrasing. Wayland is already here, "ready" or not, it's taking over.


There are more than 3 Desktop/Window Manager in the Linux/Unix world, right ? What happen to the others ?


> Wayland has been around since 2008, and it still seems more like a tech demo

Look from another side. Wayland has been around since 2008 yet it accomplished something X.Org could not. It's been 30 years in development, it has tremendous market share and yet it failed. There is clearly an issue with this project.


What did Wayland accomplish? What did X not?


tearing obviously


I don't have tearing on X.


Deprecating Xorg and providing no replacement standard/protocol for almost everything it does and enables is kind of the whole problem, isn't it?


It looks like a ton of common functionality is not ready yet. It is dispersed among DEs, and this is not convenient.

I hope we'll eventually have some "wayland-goodies" package which will implement the common stuff like easy screenshooting, easy hotkey assignment, easy window inspection and control, etc. I suppose this can be implemented based just on the protocol, and not specifics of a compositor.


This was so predictable, though, considering how slow and painful it was to get to even the current level of standardization and interoperability in the Xorg+Freedesktop world. I have to assume that part of the reason is that solving the problems Wayland solves is exciting and fun (and addresses the most obvious pain points with Xorg/X11), but building the rest of the ecosystem is less exciting and doesn't draw as much focus and engineering effort.


"Wayland is just a protocol, whereas X11 is a protocol and entire system around it."

This statement doesn't make sense to me.


Wayland is a display protocol.

X.org is a display protocol, its own server implementation of that protocol, and many utilities to interface with that server. And even more stuff.

To illustrate this: if you run Gnome on X.org, you will see you have an 'xorg' binary running in addition to all the Gnome stuff. That's the X11 server from X.org. If you run Gnome on Wayland, there's no 'wayland' stuff running. There's just Gnome implementing the Wayland display protocol.

That's why this "switching to Wayland" talk is just missing the point. You're not really switching to Wayland, you're just switching to a "pure Gnome" stack, or a "pure KDE" stack, or a "pure Sway" stack. These stacks all just happen to implement the Wayland protocol in their own compositors (i.e. Mutter, KWin, Sway) because they're committed to standardization and all want to run GTK3+Qt5+Ozone+XWayland+etc apps built for Wayland.


Yes, and I don't want to switch to a pure stack from _any_ desktop environment. I want all these things to easily mix and match. And for all these things outside the pure wayland protocol (and some supposedly inside it), they don't.


I'm not sure why that's your takeaway here. Wayland exists precisely because things should easily mix and match - it should be easy to get your apps displaying/moving on any standard compositor. The same would go for other Freedesktop standards to do things like input, clipboard interaction, and screen recording.

The only difference is that all these things currently used to exist within the X.org project, and now they're in various other places (some parts in fact don't exist at all...). There's nothing stopping people from abstracting a lot of this functionality out in a library for others to more easily build their own stuff with it [1]!

If anything the efforts replacing X11 will make it easier to mix and match components, because it gets rid of the focus on the singular X.org implementation. Not saying multiple implementations of the same thing is necessarily a good thing mind you, but you can't accuse these efforts of making it more difficult to mix and match.

[1]: e.g. https://github.com/swaywm/wlroots does some of this to make it more easy to build a window manager that supports Wayland


Except wlroots cannot be the standard library due to the NVidia problem. Even after that is fixed, the different implementations are far enough along they will never be merged. We will have at least four duplicate not entire compatible implementations for the near future.

I'm sure dealing with different extensions and subtle bugs makes everyone who needs to deal with it very happy, and will help Linux desktop adoption (not). Perhaps eventually the cost of keeping up will reduce desktop fragmentation and everyone will be stuck with only a single option for an OSS desktop environment.

Wayland replaced a bad technical situation with X11 with a bad social situation with Wayland. Technical problems can be solved with enough work (e.g. Wayland itself to replace X), social problems however can persist for a long time and aren't so easy to fix. It didn't have to be that way. Perhaps it still doesn't if the community could actually standardize while prioritizing the main use cases.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: