I get where they're coming from but I still think Wayland's broken by design. It's been 10+ (maybe even more) and it still feels like someone didn't think things true. If the answer to basic desktop capabilities are that it's not present and that's 'As designed', then the design's broken
I ran Wayland for sometime but went back to x11. Key gripes
1. Screen sharing
2. Automated keystroke entry(keepassxc)
3. Many more niggles
I think the difference is that Windows is proprietary, parasitic hate-ware that warrants changing at any cost.. and x11 is libre software that works; with well supported workflows that aren't even on the agenda for wayland development.
Also I feel like I've been waiting a decade and I still can't do fractional scaling on wayland last I checked.
Windows has a lot of backwards compatibility it's necessary to support from a commercial POV, I can imagine the further back you go in their constant wheel-reinventing of GUI frameworks, the more difficult it is to patch in fractional scaling support. I've noticed the newer "metro" / tiles / win10+11 UIs look scaled natively at e.g. 125%, whilst Win32 programs have the blurry text but crisp buttons thing.
And it's confused greatly by the fact their own software appears to be layers of frameworks, eg windows explorer and the 1000 different settings apps they have..
> whilst Win32 programs have the blurry text but crisp buttons thing.
Win32 applications have to announce that they are "High DPI aware", either via a manifest file or programmatically at startup (the details have changed several times between Windows XP and Windows 10). Failing to do so results in an upscaled, blurry UI, and failing to use the latest API may result in some features not working (such as automatic adjustment when moving a window between monitors with different DPI).
Regardless of what you think about the general topic, xorg is not well supported anymore. People who maintained it largely work on Wayland. There aren't people available to do new releases. The workflows are still there... for now.
But for that, presumably X11 will always be available? It's just that nobody has stepped up to make sure it keeps working with new hardware and software.
Fractional scaling on X is also broken beyond repair; it (usually) only scales fonts (so not icons and other elements). Wayland does have true fractional scaling, but it's supported neither by GTK4 nor by Qt5. Qt6 is the first toolkit with true fractional scaling on Wayland.
A big problem for me is that wayland promotes a vision of computing that is basically a hellscape.
Wayland supports apps that are basically untrustworthy. Apps can talk to wayland, but not too much to each others, certainly not in ways not envisioned by wayland. The desktop is a huge melee of backstabbing bastards, each shovelling as much user data as possible to their vendor.
The X view of the world is one of trustworthy cooperation. A bit naive, a festival for crapware, but also a way to unlock unexpected possibilities.
I'd rather see a cooperative, creative future where bad apples are weeded out by social mechanisms, even if it means an occasional malware victim. But understandably the IBMs of this world would rather see rows and rows of easily swappable locked down minions for their workstations, and they are the ones paying.
I fear the bureaucratic stagnation that will unavoidably follow from wayland as it is now.
If apps want to opt into cooperation then they can via other means. Unix sockets come to mind. Wayland also has established ways to opt into common cooperation demands for those apps which want to.
Cooperating via a display server seem like the wrong way for ferrying arbitrary data across processes to me.
I mostly agree with the technical concern of using the display server for ferrying data. But that's just that: a technical concern. It gives raise to android, where apps do not cooperate except to exchange ad network tracker ids.
Where we disagree is the concern that it is an app that should decide who can communicate with it. No. My desktop, my decision. This is a political concern about ownership and what it means.
It is also part of freedom of end users to macgiver their desktop as they see fit. It unlocks e.g. unexpected accessibility and workflow benefits, unforseen to the authors of the app. These experimental setups learn us better ways, after which, a professionalization and real interface can happen if enough users want it. I fear we will loose these experiments with wayland's portals.
My point was not that you can decide or not, it was that the existing behavior has been abused for purposes beyond its scope. That is to blame for these problems, not Wayland.
That X11 compatibility protocol repo isn't the worst idea, but we'll probably find that the core and extension protocols will cover everything - in a purposefully designed way - in the long run anyway.
You could say the same about memory protection and isolation, and yet, here we are.
I do somewhat sympathise with the sentiment that running untrusted apps is bad and FLOSS ecosystems are good. But even then, building a security framework around windowing does seem appropriate given the broad range of uses that Wayland will see.
> You could say the same about memory protection and isolation, and yet, here we are.
While it also serves as a security mechanism the most important benefit of memory protection is that it protects against processes *accidentally* corrupting other processes due to mistakes, invalid pointers, etc.
If you want to intentionally mess with other processes memory most OS give you the means to do it in a controlled way, with ptrace in Linux or WriteProcessMemory in Windows, because sometimes it is a useful thing to do.
The problem with Wayland is that they veto useful features they aren't interested in (that admittedly if misused could be a security problem or at least a nuisance) and they don't give any alternative way of doing them, choosing instead to punt the problem downstream to the compositors, who will each do them (or not) in a different way making the whole thing a mess.
In those, the social mechanism is removed, replacing users as the object with commerce. There is no user consortium, no committees on behalf of users, no form of governance other than a single vendor for either platform.
Wayland was unilateral. It wasn't a choice by users, but by companies.
Free Linux distributions are controlled by companies or by unpaid developers (or both), and they have decided that Wayland is a way forward, even when the whole UI platform is not yet ready. The only thing user can do in this environment is to choose different distro or create new one and see what it means to support X.
If you are not paying for it, you become eternal alpha/beta tester.
Retroactively adding security to a system where security was not a design goal is hard, so I can understand why Wayland chose to also cover those use cases.
In the Desktop Linux ecosystem the added 'security' by Wayland is indeed marginal when every app can access the whole filesystem.
> In the Desktop Linux ecosystem the added 'security' by Wayland is indeed marginal when every app can access the whole filesystem.
That's no longer the case with flatpak apps, which are gradually becoming more popular; some of them might still have access to the whole filesystem, but most of them are limited to sharing nothing or at most a couple of specific directories.
Most of that Github post is straight up incorrect. I don't understand why it hasn't been removed, or why people keep parroting it, or even giving it a mention.
First, cause people gaslight those whose usecases werent covered by Wayland compositors, and then tell us 'You use it wrong'...
Cause Wayland fragments the software rather than unifying it. Can't switch to sway from i3 cause many tools are just unavailable. Why would I want to bite into tons of lemons and jump through hoops when my system works on x11? The whole Wayland mess is very disappointing.
The pertinent question is whether the user sees anything valuable in exchange for what Wayland does break. If users are to accept breakage, it has to be in a tradeoff for something they want. That incentive has not appeared. That means that the market for Wayland is actually not users but distro builders (c.f. systemd).
I'm relatively new to Linux but I used x11 for the first few months and switched to Wayland when re-installing/distrohopping and I really couldn't tell the difference other than screensharing, which is now fixed for my usecase.
All this to say that Wayland might be the new go-to for new users since they can't tell the difference? Idk.
My Wayland performance experience was that it broke Nvidia at a time when Nvidia was supposed to be working. The reason it didn't work was down in the weeds of this version of Mesa and that version of Nvidia, both of which were recent, and the bottom line was that X performance still exceeded Wayland's.
Security has always been a hard sell to end users because the costs are immediate and tangible while the benefits are in the future.
I think one thing that people forget is that security is always an overhead[]. Mind, I'm not saying it's not sensible* overhead --- that would depend on the use-case. It's an overhead in the same sense on how designing a bridge to be able to carry loads N% over its designated capacity is an overhead: it's an additional cost. This is also part of why so many companies are terrible with security, and consider it only an anti-liability "minimal required measures" thing (a big part, of course, is companies simply not understanding security).
In the case of a bridge, in terms of material, time, and money. In software, it depends on the program, but it's usually some combination of performance (e.g. encryption), cognitive overhead (remembering passwords, access policies, ...), accessibility, development time, and a few other things. And notably (for Wayland), features --- locking down a system naturally reduces what a system can do.
Note that this overhead can be a blocker. Accessibility is an obvious one (e.g. take those numeric keypads that randomize the order of digits presented on the display each time you want to unlock them --- blind people will not be able to use those), but features can also be a problem: if part of my work requires commonly taking screenshots (e.g. because I work as a technical writer, and need screenshots for documentation reasons), then I won't be able to do my job.
In fact, the corporate world is chock-full of (maybe even sensible!) security policies reducing efficiency of workers, or sometimes outright blocking work.
What I'm trying to get at is, security requirements depend heavily on each user and use-case. And I think Wayland's fallcy was in trying to shoe-horn everyone into this vision of a fully-sandboxed world without considering the practicalities and what people actually want or need.
For example, I keep my personal desktop (which I mostly use for gaming & FOSS work) far less secure than my work computer (which is also in my apartment, as I work from home). Because I've deemed the overhead of trying to better-secure my desktop, unlikely to get stolen from my apartment, as unnecessary overhead. Meanwhile, my laptop, which I also use for gaming & FOSS work, is more secure, as I tend to take it with me when I go on a trip. Because while the severity of a breach is the same as for my desktop, the probability is much higher.
So I have three situations, and I'll argue that no single security policy would be a good fit for all 3: (or even two)
- Home desktop => low risk of breach, moderate impact if breached[*] => low security
- Home work PC => low risk of breach, high impact if breached => high security
- Laptop => moderate risk of breach, moderate impact if breached => medium-to-high security
That, I think, is part of the issue people have with trying to sell Wayland's flaws as "security". It's basically a one-sided "I'm changing the security policy, and you better pray I don't change it further". When said security might be more than just undesirable, but an active obstacle. At the end of the day, Wayland is a tool. It has a job and a purpose, and yet it can't even properly do some things of the tool it's meant to replace. Because "security".
([] If you disagree that it's an overhead, then I'm going to expect that every single door in your home, even the fridge & closet doors, are packed with as many heavy-duty locks as will fit on the physical door. And that each door is always locked unless you're currently actively interacting with the door. For starters.)
([*] Yes, I realize the issues with an attacker being able to access all my accounts and such, but I'm putting it in relative terms compared to the work PC.)
Do you use multiple monitors with different dpi? If you do, then there is plenty of incentive for Wayland because getting proper scaling across monitors is IMPOSSIBLE under X11.
Xorg server will be security patched for as long as RHEL has to keep supporting it for RHEL 9, but it won't be in RHEL10. Xwayland and its dependencies are still maintained going forward.
Wayland is a good image of the main issue a company can have with developers.
From the point of view of the Dev, the product that was created is perfect, satisfying in term of design/technical specs.
But the dev does not care about the users experience. He does not realize that the most important is not how it is done or to be conceptually perfect but to reply to user needs. To do the job.
No one cares about the thing being changed/reworked, to use x, wayload or whatever but everyone expect basic features (available for decades everywhere) of Desktop to work easily out of the box.
Like screenshots.
If you can do less things than what you can do on windows, that is a huge failure.
And consequently, the "Year of Linux on the desktop" never materialized.
And instead of working to address the issue, most of the "community" refused to acknowledge there was one. Suggesting otherwise was the start a flame war.
The fact that simple acknowledgment is still a work in progress after 3 decades is a less than hopeful sign for the future.
Wasn't the issue that X wasn't a great user experience - screen tearing, bugs, etc?
There's some argument to be had for what features are "basic", but as far as I know, I've been on Wayland for a couple of years now, and e.g. screenshots, screen sharing, multiple monitors all work. The post mentions things like remote control and drawing tablets, which I understand are important to people - but I think everyone would agree they're a notch above screenshots?
I'm getting so tired of the "X11 is so horrible it had to be replaced (with something less capable but conceptionally cleaner)" spin by the Wayland hipsters.
I remember using an SGI workstation around 1992 which had a perfectly usable and complete X11 desktop environment, which according to Wikipedia was 5 years after X11 was released (1987), and 8 years after the X Window System was invented (1984).
Wayland has been in development for 15(!) years, has a much smaller scope than X11, and it's still a hot mess. I doubt that the 1980's programmers were so much better or more productive than the programmers working today on Wayland, which in turn means there must be something fundamentally wrong with the basic idea or design of Wayland?
Basically, moving on to an X11 successor should be a no-brainer for all Linux desktop users and not require one justification blog post after another why some things don't work anymore as they used to.
The computing world has changed since the 80s, when X11 was a prescription acceptance solution.
Networks could be trusted as a security perimeter, the handful of sources for the software running on your system could be more easily trusted, there was no level of malware as we see it today, not everything was connected and talking to each other...
Times change, requirements change, thereby software has to change.
I think nobody really argues that X11 is outdated and should have had a successor by now, just that Wayland turned out to be a bad replacement.
There is actually a really good point in the article that "(desktop) Linux isn't a platform", but instead a fragmented mess of individual frameworks and systems (which after the Wayland transition may or may not eventually reach feature parity with X11 again).
This fragmentation in the Linux desktop world is indeed the core of the problem which Wayland should have helped fixing instead of making it worse by spreading functionality that was centralized before over even more unrelated systems (meaning just more things that can individually break).
Compare that to non-desktop Linux, which actually is a platform (and because of the simple "Don't Break Userspace" rule has wiped the floor with other operating systems in data centers).
You can lay a foundation for a building in a couple of days and then spend however long you want building the whole rest of your house on top of that. If later you find out that the foundation has cracks or is otherwise compromised and you want to replace it without replacing the whole building, it's going to take a lot more than a few days to fix it.
The issue with Wayland is that we now need a new re-implementation of tools foreach compositor. Yes, compositor - previously in X11 known as Window Manager. You will end up with tools being scarcely available.
Why aren't we building a compositor with plugable/programmable components? That would make it behave more like Xorg, where there is a primary implementation, so things like screenshots, global hotkeys, and other things work consistently, but we can swap out different window management capabilities.
The key thrust of the article is that Wayland isn’t broken because it was designed to behave this way. But, that’s exactly what’s broken about Wayland.
If Wayland is "broken" because it does not support some use case, then by the same reason X is also "broken" - it also does not support everything you want from the desktop environment. You might argue one is more "broken" than the other, but when the we have more mature Wayland UI platforms this will not matter at all.
The problem is X is a lot less broken than what is actively trying to replace it.
The fact that this post was written in the first place is a litmus test of how utterly broken Wayland design is if it has to be defended by a core KDE developer.
I don't think X is a lot less broken. It is just better supported by UI toolkits. In both cases you need additional stuff to have UI platform. In case of Wayland that stuff is just less mature.
You can find similar posts for every change - not only about Linux. The only thing existence of such posts prove is that people have strong opinions about something.
>how utterly broken Wayland design is if it has to be defended by a core KDE developer.
Huh? That makes no sense. If the dev had not defended Wayland, would you have taken that lack of defense as evidence that wayland is good? If not, then it is irrational to take the existence of this defense as evidence that wayland is bad:
55 comments
[ 3.1 ms ] story [ 126 ms ] threadI ran Wayland for sometime but went back to x11. Key gripes
1. Screen sharing 2. Automated keystroke entry(keepassxc) 3. Many more niggles
Get x11 out of my cold, dead fingers.
Also I feel like I've been waiting a decade and I still can't do fractional scaling on wayland last I checked.
Same on Windows. I have a feeling, that for some reason, the fonts and the widgets are scaled separately and then stiched together.
And it's confused greatly by the fact their own software appears to be layers of frameworks, eg windows explorer and the 1000 different settings apps they have..
Win32 applications have to announce that they are "High DPI aware", either via a manifest file or programmatically at startup (the details have changed several times between Windows XP and Windows 10). Failing to do so results in an upscaled, blurry UI, and failing to use the latest API may result in some features not working (such as automatic adjustment when moving a window between monitors with different DPI).
Regardless of what you think about the general topic, xorg is not well supported anymore. People who maintained it largely work on Wayland. There aren't people available to do new releases. The workflows are still there... for now.
https://wayland.app/protocols/fractional-scale-v1#compositor...
Wayland supports apps that are basically untrustworthy. Apps can talk to wayland, but not too much to each others, certainly not in ways not envisioned by wayland. The desktop is a huge melee of backstabbing bastards, each shovelling as much user data as possible to their vendor.
The X view of the world is one of trustworthy cooperation. A bit naive, a festival for crapware, but also a way to unlock unexpected possibilities.
I'd rather see a cooperative, creative future where bad apples are weeded out by social mechanisms, even if it means an occasional malware victim. But understandably the IBMs of this world would rather see rows and rows of easily swappable locked down minions for their workstations, and they are the ones paying.
I fear the bureaucratic stagnation that will unavoidably follow from wayland as it is now.
Cooperating via a display server seem like the wrong way for ferrying arbitrary data across processes to me.
Where we disagree is the concern that it is an app that should decide who can communicate with it. No. My desktop, my decision. This is a political concern about ownership and what it means.
It is also part of freedom of end users to macgiver their desktop as they see fit. It unlocks e.g. unexpected accessibility and workflow benefits, unforseen to the authors of the app. These experimental setups learn us better ways, after which, a professionalization and real interface can happen if enough users want it. I fear we will loose these experiments with wayland's portals.
That X11 compatibility protocol repo isn't the worst idea, but we'll probably find that the core and extension protocols will cover everything - in a purposefully designed way - in the long run anyway.
I do somewhat sympathise with the sentiment that running untrusted apps is bad and FLOSS ecosystems are good. But even then, building a security framework around windowing does seem appropriate given the broad range of uses that Wayland will see.
While it also serves as a security mechanism the most important benefit of memory protection is that it protects against processes *accidentally* corrupting other processes due to mistakes, invalid pointers, etc.
If you want to intentionally mess with other processes memory most OS give you the means to do it in a controlled way, with ptrace in Linux or WriteProcessMemory in Windows, because sometimes it is a useful thing to do.
The problem with Wayland is that they veto useful features they aren't interested in (that admittedly if misused could be a security problem or at least a nuisance) and they don't give any alternative way of doing them, choosing instead to punt the problem downstream to the compositors, who will each do them (or not) in a different way making the whole thing a mess.
Conversely the locked & secured Linux platforms - Android and SteamOS are currently a festival for crapware.
Wayland was unilateral. It wasn't a choice by users, but by companies.
If you are not paying for it, you become eternal alpha/beta tester.
In the Desktop Linux ecosystem the added 'security' by Wayland is indeed marginal when every app can access the whole filesystem.
That's no longer the case with flatpak apps, which are gradually becoming more popular; some of them might still have access to the whole filesystem, but most of them are limited to sharing nothing or at most a couple of specific directories.
All this to say that Wayland might be the new go-to for new users since they can't tell the difference? Idk.
Security has always been a hard sell to end users because the costs are immediate and tangible while the benefits are in the future.
In the case of a bridge, in terms of material, time, and money. In software, it depends on the program, but it's usually some combination of performance (e.g. encryption), cognitive overhead (remembering passwords, access policies, ...), accessibility, development time, and a few other things. And notably (for Wayland), features --- locking down a system naturally reduces what a system can do. Note that this overhead can be a blocker. Accessibility is an obvious one (e.g. take those numeric keypads that randomize the order of digits presented on the display each time you want to unlock them --- blind people will not be able to use those), but features can also be a problem: if part of my work requires commonly taking screenshots (e.g. because I work as a technical writer, and need screenshots for documentation reasons), then I won't be able to do my job. In fact, the corporate world is chock-full of (maybe even sensible!) security policies reducing efficiency of workers, or sometimes outright blocking work.
What I'm trying to get at is, security requirements depend heavily on each user and use-case. And I think Wayland's fallcy was in trying to shoe-horn everyone into this vision of a fully-sandboxed world without considering the practicalities and what people actually want or need.
For example, I keep my personal desktop (which I mostly use for gaming & FOSS work) far less secure than my work computer (which is also in my apartment, as I work from home). Because I've deemed the overhead of trying to better-secure my desktop, unlikely to get stolen from my apartment, as unnecessary overhead. Meanwhile, my laptop, which I also use for gaming & FOSS work, is more secure, as I tend to take it with me when I go on a trip. Because while the severity of a breach is the same as for my desktop, the probability is much higher.
So I have three situations, and I'll argue that no single security policy would be a good fit for all 3: (or even two) - Home desktop => low risk of breach, moderate impact if breached[*] => low security - Home work PC => low risk of breach, high impact if breached => high security - Laptop => moderate risk of breach, moderate impact if breached => medium-to-high security
That, I think, is part of the issue people have with trying to sell Wayland's flaws as "security". It's basically a one-sided "I'm changing the security policy, and you better pray I don't change it further". When said security might be more than just undesirable, but an active obstacle. At the end of the day, Wayland is a tool. It has a job and a purpose, and yet it can't even properly do some things of the tool it's meant to replace. Because "security".
([] If you disagree that it's an overhead, then I'm going to expect that every single door in your home, even the fridge & closet doors, are packed with as many heavy-duty locks as will fit on the physical door. And that each door is always locked unless you're currently actively interacting with the door. For starters.)
([*] Yes, I realize the issues with an attacker being able to access all my accounts and such, but I'm putting it in relative terms compared to the work PC.)
https://lists.x.org/archives/xorg-announce/2023-December/thr...
From the point of view of the Dev, the product that was created is perfect, satisfying in term of design/technical specs.
But the dev does not care about the users experience. He does not realize that the most important is not how it is done or to be conceptually perfect but to reply to user needs. To do the job.
No one cares about the thing being changed/reworked, to use x, wayload or whatever but everyone expect basic features (available for decades everywhere) of Desktop to work easily out of the box. Like screenshots. If you can do less things than what you can do on windows, that is a huge failure.
And instead of working to address the issue, most of the "community" refused to acknowledge there was one. Suggesting otherwise was the start a flame war.
The fact that simple acknowledgment is still a work in progress after 3 decades is a less than hopeful sign for the future.
There's some argument to be had for what features are "basic", but as far as I know, I've been on Wayland for a couple of years now, and e.g. screenshots, screen sharing, multiple monitors all work. The post mentions things like remote control and drawing tablets, which I understand are important to people - but I think everyone would agree they're a notch above screenshots?
I remember using an SGI workstation around 1992 which had a perfectly usable and complete X11 desktop environment, which according to Wikipedia was 5 years after X11 was released (1987), and 8 years after the X Window System was invented (1984).
Wayland has been in development for 15(!) years, has a much smaller scope than X11, and it's still a hot mess. I doubt that the 1980's programmers were so much better or more productive than the programmers working today on Wayland, which in turn means there must be something fundamentally wrong with the basic idea or design of Wayland?
Basically, moving on to an X11 successor should be a no-brainer for all Linux desktop users and not require one justification blog post after another why some things don't work anymore as they used to.
Times change, requirements change, thereby software has to change.
There is actually a really good point in the article that "(desktop) Linux isn't a platform", but instead a fragmented mess of individual frameworks and systems (which after the Wayland transition may or may not eventually reach feature parity with X11 again).
This fragmentation in the Linux desktop world is indeed the core of the problem which Wayland should have helped fixing instead of making it worse by spreading functionality that was centralized before over even more unrelated systems (meaning just more things that can individually break).
Compare that to non-desktop Linux, which actually is a platform (and because of the simple "Don't Break Userspace" rule has wiped the floor with other operating systems in data centers).
So it is kind of frozen set of POSIX stuff, good enough to have OS agnostic programming language runtimes on top, and that is it.
It is no accident that the new wave of FOSS IoT OSes aren't based on Linux, rather on MIT/Apache/BSD based kernels.
The fact that this post was written in the first place is a litmus test of how utterly broken Wayland design is if it has to be defended by a core KDE developer.
You can find similar posts for every change - not only about Linux. The only thing existence of such posts prove is that people have strong opinions about something.
Huh? That makes no sense. If the dev had not defended Wayland, would you have taken that lack of defense as evidence that wayland is good? If not, then it is irrational to take the existence of this defense as evidence that wayland is bad:
https://www.lesswrong.com/posts/jiBFC7DcCrZjGmZnJ/conservati...