Hacker News new | past | comments | ask | show | jobs | submit login
[flagged] Boycott Wayland. It breaks everything (gist.github.com)
49 points by jhoechtl 6 months ago | hide | past | favorite | 63 comments



Re-configuring everything so screen sharing works is obnoxious, sure. You know what's way more obnoxious? Every single website having full access to every single pixel and keystroke going into every single application on my entire machine, which is the only reason screen sharing is "functional" on X. And on Windows, for that matter.

Also, if your auto-keyboard tool was hooking in using X debug extensions like xdotool did, your tool was broken and wrong in the first place. The correct way to submit synthetic input events is to build a synthetic input device. uinput makes this shockingly straightforward: https://kernel.org/doc/html/v4.12/input/uinput.html#keyboard.... There are even high-level bindings (via libevdev) for high-level languages: https://gitlab.freedesktop.org/libevdev/python-libevdev/-/bl....


> You know what's way more obnoxious? Every single website having full access to every single pixel and keystroke going into every single application on my entire machine, which is the only reason screen sharing is "functional" on X.

I doubt that's real, websites run in the sandboxed javascript vm and can only get what the browser (and often the user) explicitly allows.

I know that regular X applications can have access to all pixels and keystrokes, but i doubt a regular normal website can do that.

This looks more like vague FUD than anything.

Link me a normal website that can grab a screenshot of my desktop without any consent from my or I'll be keeping calling this kind of comments utter BS.


> Every single website having full access to every single pixel and keystroke going into every single application on my entire machine

Could you cite something for that?


I switched to Wayland without even noticing when I did a fresh install of Debian a few years back. I didn't realise Debian had switched to Wayland by default in the version I was upgrading to. I honestly only noticed several months later when I turned on some knobs in Firefox to enable hardware acceleration and discovered that it was running on Wayland all along.

My last experience of X11 had me fiddling with a text-based config file to disable screen tearing on a fairly common Intel graphics chipset. That was only a few years ago -- despite it being a solved issue for as long as I can remember in other windowing system such as Windows and MacOS.

That fiddling with a config file to solve such a trivial issue is a thing of the past is largely due to Wayland finally bringing Linux graphics into the 21st century. I am much happier with Wayland just performing as expected from a 21st century graphics stack right out of the box with no additional work required. It quite literally just works with no fuss whatsoever.

Thank you Wayland team, your work is much appreciated.


I remain cautiously pessimistic about it; my desktops are full of custom window management scripts, on-the-fly editing borders, transparency control, keystroke display etc. using devilspie, xdotool, wmctrl and the like. So far I have not found any Wayland compositors that can replace all those tools.

Plus, I have no use for the security model Wayland is based on; I am on a single user desktop and my apps are curated by my distribution. The browser is the only liability, but I have a separate system for my banking; otherwise, if someone pwns my $HOME, there are a billion things they can do with .bashrc and the entire .local/share folder before bothering with X vs. Wayland.

I am beginning to think that the people who say Wayland was created for a corporate environment first and foremost are correct. Sigh...


> I am beginning to think that the people who say Wayland was created for a corporate environment first and foremost are correct. Sigh...

There is a giant gap between your use-case (no third-party apps, totally separate machine for accessing sensitive websites, etc) and a "corporate environment".

The vast, vast, majority of users (yes, even Linux users) would like to access their bank's web page without worrying that some security flaw somewhere (maybe even in a "curated" app they installed via official repositories) is allowing someone to upload screenshots of their browser window to some nefarious third-party.

I'm not optimistic about Wayland, either, but I'm sure as hell not satisfied with X.


you could be very happy with Wayfire :), it's very customizable, hyperland too

i learned about wayfire here https://youtu.be/s8UbKM9R4p0?si=Y1O8qBdMB1FjpXXA


It works pretty well for me on my latest Debian 12 / KDE build. I record loom videos. I screenshare via Slack huddle as well as Google Meet. I use modern apps like vscode, sublime text, spotify, 1password, etc. I'm even connected to an Apple 5K studio display. Everything works except the ability to control my monitor brightness, which is working its way thru the kernel right now.


That seems a bit hyperbolic. Wayland certainly breaks too much of my stuff to be suitable for use, but there are many others who use it successfully.

I think it depends on what you're doing with your machines.


Is the author stepping up to take over X.org?

X.org is a small step away from abandonware.


It's systemd all over again. Scream and holler about how terrible it is, yet nobody provides anything better.

Either the things continue to rot and get worse over time, or we get something modern like Wayland and deal with integration issues.

Fast forward a few years, and the noise will mostly be gone, just like with systemd.

It turns out... most people just don't like change.


> Scream and holler about how terrible it is, yet nobody provides anything better.

Or rather, no one can to provide anything "better" because no one agrees on what exactly is better.

It's obvious that sometimes, in order to advance the status quo, you really need to exploit the free manpower that comes from the "chasing change for the sake of trying shiny new things" group. Every developer has been there once or twice: it's well known we prefer to write shiny new things rather than maintain old things, _even_ when the later is frequently the better option.

But it also obviously comes with negative consequences. In a couple weeks there is going to be yet another inevitable rant in HN about how Linux breaks the ABI for desktop applications every other week, which prevents Linux from taking over the desktop, and this type of unbridled shiny new thing chasing _is_ almost 100% to blame.

Certainly, you are not paying for it, so the inevitable cycle of useless rewrites just to keep (volunteer) developer interest is necessary. But at least one ought to also empathize with the people for whom their entire platform keeps moving under their feet for little apparent benefit.


There's core issues with the X11 protocol from my understanding, which means if anyone decided to take up the task of modernizing X.org there would be a big dust-up anyway.

X11 and X.org are ancient, and we certainly seem like we can do better. Maybe Wayland isn't the best, but if it's better than X.org then that is indeed progress - temporary pain or not.

There's a saying military folks use often - "suck it up buttercup". Since nobody seems willing to actually defend the merits of continuing to use X.org/X11, then we do need something better.

People seem to forget X.org is about 20 years old - and wasn't perfect when it was first released either.


> Maybe Wayland isn't the best, but if it's better than X.org then that is indeed progress

Unless, of course, you need functionality that Wayland doesn't support.


Sorry but this is precisely the example of shiny chasing I was thinking of. If you think that a "core issue" that is so important (sarcasm) that apparently you don't even know what it is or what usecase it breaks then this is hardly a reason for claiming that "it's ancient and we can do better". "It's ancient" is also not generally something that can be used as a criticism. You could just put yet another patch on top of it. Everyone does it. Practically no one uses the core X API anymore, but you need to implement it if you want _your_ older programs to work.

Win32/the windows API is practically the same age, has a million more "core issues", it's a clusterfuck of patches at this point (see Wine), and yet it's going to become the de-facto ABI for Linux games in the near future, if it already isn't, just because at least it tries to be minimally stable. See the multiple HN articles about it....


Nobody forces anyone to adopt Wayland. The distro maintainers are choosing Wayland. Most of us have outsourced our concerns to the distro maintainers.

Wayland didn't happen in a vacuum either. There were/are other options, including remaining on X.org.

Wayland isn't even new. It's been around since 2008.

This all means "chasing the shiny" is not what's happening.


As TFA says, people _are being forced_ to adopt Wayland. You yourself are saying that "you outsource your concerns to the distro maintainers, and some are choosing Wayland", which effectively implies that you are being forced to use Wayland.

I am also forced to support Wayland if I want to make Linux desktop software. Which means (again) the next application or game I would make is likely going to target Win32 only instead of Linux since it changes way too damn frequently for no reason. The argument "if you complain about Wayland, just improve X11!" goes both ways. The "shiny new thing" chasers are forcing me extra work to maintain my own software, and I am also not paid to do it.


Nobody is forced. Just like with systemd, there's plenty of distros that still don't use it if that's your thing. Today, they're mostly niche distros for people that just cannot adapt...

You can choose not to support Wayland in your app if you want. As market-share grows, your available reach will shrink. That's the same as with anything...

There's good reasons Wayland is being adopted in major distros - and it's not "the shiny" like you asserted.

> the next application or game I would make is likely going to target Win32 only instead of Linux since it changes way too damn frequently for no reason

That's ridiculous. We're talking about one major change in 20 years and you're acting like it changes every few months. Your game won't even exist in 20 years, so it doesn't matter. Nor do you have to even care about what protocol/compositor/lib is being used unless you're doing something strange - the engine will take care of that for you and probably make it a checkbox.


> Nobody is forced. [...] You can choose not to support Wayland in your app if you want. As market-share grows, your available reach will shrink.

What is the point of claiming "no one is forcing you to choose X" while at the same claiming "but if you choose Y you will face the consequences"? In this case the consequence is a million frustrated users not being able to say, take a screenshot, spamming my inbox like crazy, me abandoning Linux desktop development and everyone getting frustrated at the state of the Linux desktop yet again.

> There's good reasons Wayland is being adopted in major distros - and it's not "the shiny" like you asserted.

Even in your own messages you are throwing the argument that "at least Wayland is maintained and Xorg isn't", which is basically another way of saying that it has developer interest, and my claim is that it has developer interest because it's new.

> Your game won't even exist in 20 years

The software I am talking about is actually already older than that.

> Nor do you have to even care about what protocol/compositor/lib is being used unless you're doing something strange

As mentioned in TFA, there are several extremely common usecases which are broken by these changes. Certainly Wayland is just part of the problem, as it is pervasive to this world.


If you're software is older than 20 years, then you had to deal with this same issue ~20 years ago.

ie. it's a non-issue... do the work and update or don't. That's your choice.

Wayland is only slightly newer than X.org - and it's been on the horizon for years and years already. If you haven't updated by now, then you made that choice.

The folks maintaining X.org know there are issues that cannot be overcome without a major re-write and protocol change. The change has to happen even if it was a X.org v2... and you would still be complaining.


also the x12 protocol has the same wayland concept on mind, so wayland is x12, and xorg developers are the one working on wayland, who is better to know how hard is to maintaing the software than the same mainteiners?


It is not some magpies chasing the next shiny thing that are abandoning Xorg. It is the Xorg developers that are leaving it to rot, because they don't want to maintain it.


> It turns out... most people just don't like change.

Is this a surprise? Change almost always comes with some pain and loss. But people will accept it if the benefit of the change outweighs that cost.

The problem is really when change is forced on people, but it brings no benefit to them in excess of the cost of it. That's just a loss to people. And it's something that our industry rarely understands.

Often, in our industry, we just see "oooh, shiny new!" and don't see that the change isn't really improving anything for ordinary people using the software in the big picture.


No, that's a really bad analogy: systemd offeres comparable features to SysV init and much more useful functionality outside of pid 0. It even had a program[1] to automatically convert old SysV init scripts to systemd unit. In fact the main criticism is that systemd tries to do too much by trying to replace a lot of traditional UNIX software cron -> timers, sudo -> polkit, udev -> systemd-udev, consolekit -> systemd-logind, etc.

I've never seen a complaint that systemd breaks existing setups. Wayland, on the other hand...

[1]: https://www.freedesktop.org/software/systemd/man/latest/syst...


> yet nobody provides anything better

No, we got systemd because it was better. Both theoretically and in practice. We can quibble about complexity and configuration quirks until the cows come home, but it is objectively better than InitV and the things like Upstart that were bumbling around trying to solve the same problems. It won on merit, not apathy.

And I think the same is true for Wayland. It's far more complex than just starting every system and user service so the teething issues are that much bigger, but when it works and you get a VRR desktop, it's just feels breathtakingly light and responsive.

I don't miss X. It wasn't just rotting, it was objectively worse. And all this is from a Nvidia users who's still battling XWayland sync issues.


“People don’t change their mind, they just die”

A quote from Musk about why he doesn’t work on immortality, but I think the same principle applies here: those who made the noise will continue to be upset while the user group adds new users who are happy with the “way things are” until the noisy ones are replaced entirely.


Did you see all the noise and fight within Debian when it moved into wayland?

I'm certain you didn't, because it's completely different from systemd.


Why don't you enlighten us?


Well, have you seen any community infighting about it?

There isn't any, because for wayland, as you said, nobody is providing any alternative, while that's false for systemd; there's no discussion about the capacity of the developers to work in a community, while that's still not clear at all about systemd; the change is being made for this piece of software alone, without interference of widely popular software pushing their dominance around and without redesigning the entire OS, none of what was true for systemd.

The situation is so dissimilar that I can't really understand how you one can honestly claim it's the same. It's either a completely naive observation made from somebody that didn't look at anything, or not honest.


It's similar in that people are complaining without doing anything about it... and in a few year's time people will forget what they were even complaining about. Nothing stops someone from developing something better.

There are alternatives to Wayland and X.org. People just don't use them for whatever the reasons may be. Wayland is not new either - Wikipedia says the initial release was 2008.

The distro maintainers and DE developers know a lot more about this stuff than random internet users that complain about any change... so much like the systemd fiasco, the professionals like it and the users complain for petty reasons.

Oh no, your GUI app has some new bug, what will you do? Tell the developer to update their stuff... pretty simple.

X.org was far from perfect when it was first widely adopted, and it's had 20+ years (well, ~40 years if you want to be pedantic) of patches and work-arounds applied while being "mainstream". Now, Wayland will enjoy the same treatment since all of the major distros are poised to adopt it.

An awful lot of what was relevant when the X spec was being dreamt up (in the 80's) is completely different today.

Even the maintainers of X.org openly talk about it largely being abandoned and full or issues that are un-fixable without major protocol and implementation changes. Which means... a v2 would be just as disruptive as moving to Wayland, but Wayland has decades of a head start.

People enjoy complaining about change. It's pretty simple.


> It's similar in that people are complaining without doing anything about it...

Yeah, after being told that plenty of people were doing something about systemd, that's what you take from it?

I guess being uninformed isn't an option. You seem to have some emotional attachment into not looking at what happened there.

That said, yes, everybody that wants to do something about X11 is doing that by improving wayland. It's a completely different situation.


People enjoy complaining, never step up to help, and when someone step up, they discover the shit show that is trying to fix xorg, that's why the development is so much more focused on wayland, the developers know, that why xorg is dead and the only improvements are for xwayland


Yeah, and this list looks very out of date too. The push to wayland was really hard, but a lot of issues have been fixed. I don't doubt that it is already better than x.org in most common cases.


Does anyone know how good the HiDPI support is in wayland? I have a secondary display that has a different pixel density from my primary display. Will it just work? Does anyone know?


I'm currently running 2 different screens at two different scaling resolutions, one at 125% and the other at 150%. Works fine. KDE Plasma 5.27.5.


Different density per monitor is something Wayland handles better than X11. https://news.ycombinator.com/item?id=25970690#25972514


I run Sway and I can set a 2x scale per output easily. Not sure about other WMs.


It works without issues for me with gnome fedora 38


This should honestly have a (2020) in the title, which is when this was first written.


Someone will need to explain to me why I need a networking stack between me and my GPU. And before anyone points out that direct rendering is the primary way X11 is used today, that's exactly my point.


Well if you communicate with the GPU over the standard PCIe bus then you're using a networking stack for that.


You're right about PCIe, fair enough!


I haven't had any issues with Wayland on Fedora (Gnome)

I use Zoom, Chrome, Steam, VScode and other things involving programming, working and gaming.

I'm on an AMD GPU/CPU and using a 144hz ultrawide monitor


Do you do multi monitor? Is there screen tearing on videos or fast moving things?


I'm extremely pedantic about high refresh rates, tearing and mutli-monitor workflows - though I recently upgraded to a single 144hz ultrawide and it's been great.

For a little while Chrome would max out at 60fps and it was quite annoying, but now it runs at 144fps (no vsync) and it's quite pleasant. Despite there not being vsync in Chrome, there is no tearing.

There is no screen tearing using the desktop normally, and no tearing when playing Steam games.

IIRC, mutli-monitor support was actually better under Wayland for me because I previously had 2 27inch monitors, one was 144hz and the other 60hz. Having different refresh rates on each was an issue on X.

In general I have found it to be a smooth, consistent experience and I couldn't really tell it apart from X unless I knew what to look for.

That said, I use Chrome for a large portion of my application roster - Discord, Slack, etc. I, unfortunately, use the native Zoom client because their web client doesn't mirror my webcam and it's too jarring to see myself like that haha.

I don't use OBS or anything like that, and I don't know what support is like on nvidia GPUs - I might move to nvidia next generation so I'm a little anxious that they'll cramp my Linux style.


By 'everything', nothing I notice in my day to day use of wayland for hours of work or personal use and a diverse set of applications?


The frustration is understandable but I don’t think that sticking with X11 with all of its cruft, anachronisms, and rough edges is much of a solution. Regardless of what’s going on with Wayland, X11 is a dead end, as has been expressed by devs who’ve worked on it.

So the real question is if not Wayland, then what? X11 needs a successor, and it’s not as if there’s a plethora of options.


Well said.

I am not a GUI programmer but I have watched heaps of talks from the X11/Wayland devs to get a handle on the arguments and it seems to me that while Wayland has some actual architectural issues (screensharing is hard) they pale in comparison to X (the cruft of remote sessions + thin clients, the security issues) and most of the issues people have with Wayland are that it does not provide continuity with X. Like even the post here “Wayland breaks everything and they expect others to fix it”.

Yeah, it sucks having to rebuild everything for a new architecture but we aren’t doing it because it’s easy and we are not doing it because it’s fashionable. We are doing it because X is making it hard to deliver the desktop that needs to be delivered.

Much like systemd, for me, the pros have far outweighed the cons. My computer functions as I hope it to and I believe to be getting the best of modern software.


It is very sad that this has been flagged. There are so many legitimate issues listed in that webpage; people do need to be informed of their existence before choosing Wayland, and Wayland devs need to speak up about their intent to work on those issues or consider them non-issues, so we as users can act accordingly.


It doesn't break anything I use, and it's a lot faster on my pinebook than X11 is.

Not seeing why I should boycott...


It appears the argument here is "because things written for X11 don't work on it".


"That's a bingo!" as Christoph Waltz's infamous character once said.

Mass adoption of Wayland will compel applications to update, modernize. Pressure should be placed on app developers if something still doesn't work (it's not like Wayland is new or anything...).


Or phrased another way: we don't care about all the needless work we are causing because we can just bully others into doing it for us.


I was using Wayland as my default for a while but switched back because of some issue that I can’t even remember. I just didn’t real like figuring it out at the time and haven’t bothered to go back. But, before that i didn’t notice any problems. Saying it breaks everything is way over the top.


Screen sharing and global hotkeys have been my only pain.

Pipewire and desktop portals have solved certain aspects of screen sharing, but not all of them (since apps arent updated to use those portals yet).

I feel like global hotkeys could easily be another portal. Let me flag apps with full global background listening ability, or simply let me say which keys an app can listen to. Then apps don't need a rewrite, they can keep just background listening as they always have, and my DE can decide what even to send to them.

If I don't want discord listening to keypresses, then discord will just think it's weirdly quiet without ever knowing if it has the permission. If I do want discord listening, then nothing has to change from Discord's end and it just starts working.


Wayland seems stuck in a vicious circle. People don’t want to use it because it causes issues with their applications, and the issues take forever to get fixed because there isn’t a critical mass of people using it.


Linux Mint, X11 :)


Change can be painful yes


particularly if it's forced upon you, and you were just fine before.


Sure but X had loads of tech debt and a pretty big architectural flaw that was a security risk.

Two birds and one stone.


X doesn't have a security risk unless you mistrust the software running on your computer, in which case you have already lost.


As someone who could never stand desktop Linux, I don't understand the Linux community adversity to Canonical Mir. The client server architecture of X11 and Wayland is not worth it. Just stream bitmaps instead


Canonical was (rightfully) criticized for Mir because they were yet again doing their own thing instead of collaborating with the rest of the community and then expecting everyone else to cover the cost of supporting their special NIH solution. Technical considerations don't even begin to matter at that point.




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

Search: