14 ms·
> Wayland solves no issues I have This is a common sentiment, but it is kind of funny. Because software engineers working for companies will know the struggle
by jchw 6y ago
> Wayland solves no issues I have
This is a common sentiment, but it is kind of funny. Because software engineers working for companies will know the struggle of trying to justify reducing technical debt, improving security practices, etc. but fail to see why these things are useful to them personally when the tables turn.
Wayland indeed “breaks a lot of shit” but it’s not an accident or done due to incompetence. Also, it’s worth noting that since there is not one Wayland server the way there is one Xorg server, that not all of this applies evenly. For example, wlroots-based compositors like Sway do not suffer from the screen recording issues as Sway just supports a permissive screen recording API out of the box. I do think the XDG portal idea is a good idea, though, overall, and that the security improvements will be worth the toil eventually.
But more to the point, that the problem is that moving away from Xorg as a display server really needs to happen eventually. The legacy is holding back desktop Linux quite a lot. Issues like supporting modern high DPI displays or multi-GPU setups are ones that Xorg struggles with that Wayland can be made to handle more elegantly (in case of DPI, already does significantly.) It’s not just that. There’s tons of weird old crufty garbage in Xorg. Clipboard is weird. Drag and drop is weird. Wayland is simpler and makes improvements that are welcome, like a good API for keeping window configuration synchronized to help eliminate “imperfect” frames.
No doubt there are issues. I have some choice words about the decision of GNOME to push for using dbus to communicate cursor size changes on high DPI setups, and I do not like the way client side decorations are favored in Wayland.
- PurpleFoxy 6y agoThe author obviously hasn’t tried plugging a high dpi monitor in to a laptop if they don’t understand what’s wrong with X. Wayland solves so many of my problems and so far the only thing it breaks is screen capture in electron apps. And not even all electron apps. Discord has no problems.
- enriquto 6y ago> The author obviously hasn’t tried plugging a high dpi monitor in to a laptop if they don’t understand what’s wrong with X This is the only actual, honest, problem that I've ever seen about X. Still, it does not seem a really fundamental problem, it must surely be solvable from within X? Do we really need a full-rewrite of X, unstable, with new bugs and less functionalities? (many of us don't use "desktop" applications and it will break screen capture tools, and other things that are dear to us like xwit, xdotool and the like). Just for that silly mixed-resolution screen problem? I have observed this problem, but to me is a minor, mostly irrelevant nuisance. Losing xwit would be a major problem.
- canofbars 6y agoThe problem has been crippling the Linux desktop for many years now and it still remains unsolved in X which must indicate that either it is not realistically possible or it is so much work that no one is willing to do it and likely never will. The transition to Wayland is largely finished now. Electron added support last year and eventually the last of the electron apps will update and everything will be done other than nvidia proprietary driver support. There are so many minor improvements from wayland that are less noticeable like the lack of screen tearing, the possibility of sandboxing apps.
- enriquto 6y agoWayland has existed since more than 10 years and it has still not been able to release a usable system. I'm not willing to lose things that I use everyday just because some idiots want to move their windows between screens and see that they don't change their apparent size. Seriously, this is not a crippling problem. You can easily change the size of one program once it is on the desired screen. What kind of savage keeps moving their windows through different screens?
- canofbars 6y ago>Wayland has existed since more than 10 years and it has still not been able to release a usable system. Fedora has has it on by default for about 4 years now and its perfectly usable. I use it every day. The problem is much more serious than you are explaining. While using X, on my main monitor, UI and text becomes so small I can not even read it or click the icons. I'm not talking about the window size, but the UI and text size. With wayland the app can switch from 200% scale to 100% scale as it crosses the window border. On X you must pick either 100% or 200% and stick with it on all monitors.
- Filligree 6y agoMy display scalings aren't 100% and 200%, however. They're 125% and 160%. Can Wayland handle this? If not, what's it really solving?
- michaelmrose 6y agoThis is not the only challenge
- Aardwolf 6y agoWhat do you mean by high DPI monitor? I have a 32" 4K monitor, is that high DPI? It works perfectly in X for me. I don't see any screen tearing when moving a window fast across the entire screen either, if that was the concern. I also could set up large enough font sizes in cinnamon and browsers.
- PurpleFoxy 6y agoThe laptop part is important. Your laptop likely has a 1080p screen which needs to be at 100% scale while 4K monitors usually need to be at 200% scale. X does not allow this.
- Liskni_si 6y agoX does allow this, but it needs cooperation from clients, which in practice means that Gtk and Qt need to implement it, and they decided to only implement this for Wayland (which also needs clients to implement this!) because for them, X is dead and not worth supporting. It's not a problem of X per se. It's a deliberate decision to not implement a feature for X.
- edflsafoiewq 6y ago> But more to the point, that the problem is that moving away from Xorg as a display server really needs to happen eventually Yeah, to a "better Xorg". The problem is people don't believe Wayland is a "better Xorg".
- jchw 6y agoI don’t agree that what we need is better Xorg. Xorg was a client-server based display server design from back when bitmapped displays and their respective UIs were in their infancy. And although it was certainly good for a time, I really think the idea of client-server UI has aged about as well as Polio. Even at the time it was computationally expensive (especially compared to say, Windows basically just jamming the UI into the kernel) but now it’s just crufty, inefficient, and weird. I don’t think there are many design decisions from X11 that you really want to keep anymore. Seriously, dig into the X11 protocol, what would you want to keep? If you want it to be feature compatible, a lot of cruft is going to need to come along for the ride. There are some aspects of X11 that aren’t so bad, especially more recent bits. Personally, I think XI2 is relatively nicely designed. But on the whole, I just don’t think what we want is better Xorg.
- bipson 6y agoAnd for me, this is the main Issue: belief People are flaming and screaming about their beliefs, demonizing systemd, Wayland and what-not with FUD, baseless arguments and non-arguments, because they "believe" these things are bad and must die. If I want to talk about what runs on my workstation as if it was religion, I install Temple OS. If I want a modern (and basically following sane/safe architecture decisions) display protocol, I run Wayland. The linked post is just one thing: superfluous. It helps no-one, a waste of energy and time for everyone involved.
- vidarh 6y agosystemd adds a concrete and substantial set of features for me. I eagerly embraced systemd for that reason - there are things I don't like about it, but it gave me lots of new benefits that justified the effort. Moving to Wayland would force a bunch of changes on me for the sake of no functionality I care about. That's the big difference. Given it provides no benefits to me that I care about, I won't move until staying on Xorg is more effort than replicating my current setup on Wayland, and as it stands it seems that's likely still years away.
- elric 6y ago> [...] reducing technical debt, improving security practices, etc Reducing technical debt by rewriting everything from scratch (almost?) never works. It's the baby and the bathwater. It's the sort of thing that seems attractive to junior developers, but more seasoned folks know that the legacy system contains years of embedded knowledge and workarounds for "real world" issues. The new, conceptually beautiful system always fails to capture that embedded knowledge, and ends up breaking many things in many ways for many people. Perhaps we did need a new display server, perhaps Wayland is conceptually better than Xorg, but it'll be many years before it reaches feature parity, if it ever does.
- dataflow 6y agohttps://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/ https://www.joelonsoftware.com/2000/04/06/things-you-should-...
- oytis 6y agoThis is why you need tests, otherwise you're stuck with your legacy forever.
- viraptor 6y agoThere are also cases where the embedded knowledge and workarounds collected over years are a problem and can be solved in better ways by nuking the whole section. It's a 36 years old project after all. But it takes deep understanding of the Xorg system to tell which case it is... which I expect most people on HN do not have.
- yoz-y 6y ago> Perhaps we did need a new display server, perhaps Wayland is conceptually better than Xorg, but it'll be many years before it reaches feature parity, if it ever does. I haven't followed the development at all but, Xorg is 16 years old and Wayland is 12. It seems counterintuitive that feature parity could not be attained in this time unless it's for philosophical reasons. Edit: Thanks for pointing out that Xorg is actually much older. My argument indeed doesn't hold.
- eitland 6y ago> Because software engineers working for companies will know the struggle of trying to justify reducing technical debt, improving security practices, etc. but fail to see why these things are useful to them personally when the tables turn. Problem is, ever so often what should reduce technical debt ends up also reducing "technical assets" even more. Firefox is a perfect example of this, they reduced technical debt by selling of so many features that it was sometimes hard to see a single unique selling point except not being owned by what I think is the worlds largest data miner (and quitter)! For someone who used to use and advocate Firefox this hurts. What is left is certainly better than Chrome on a number of points (except being bug compatible with Chrome) but the differences are now so small on every point except "not being owned by Google" that they are hardly visible to non tech folks. Edits: a bunch above, mostly to soften and clarify. Also: IMO the current management at Mozilla inherited a fortune of goodwill, a best in class web browser and significant tech debt. They supposedly traded goodwill and features for reduction in tech debt but a few years later I suspect they squandered most of it on coolness because if there was less tech debt now, some of the old features should now be trivial to add back.
- michaelmrose 6y agoFirefox has treesyle tabs which has zero good alternatives on chrome. Tridacyl, vim like bindings for your browser + ability to bind javascript or native shell is more powerful than chrome alternatives. Chromium is losing google sync and chrome and chromium are Effectively destroying adblocking sooner or later courtesy of manifest v3. Ublock origin and treestyle tabs alone make a compelling case and are visually and functionally distinctive.
- simias 6y agoTridactyl is extremely quircky due to the limitations imposed to Web extensions though. I remember good old Vimperator to be more reliable. I get why they did it though, allowing extensions to effectively take over the browser sounds like a recipe for disaster. Too bad there isn't a way to opt into it when it's actually what you want.
- j1elo 6y agoSave the obvious distance, I kind of see a bit of similarity with the Python 2 to 3 transition; it breaks downstream programs and processes that shouldn't break. Another similarity I see is that Xorg is like the Linux Kernel of GUI applications. Ideally, you just shouldn't break "userspace". I agree that some stuff is definitely broken in Xorg, like High DPI setups. But I also believe that's no reason to break a myriad other setups that are working well, right now. This constant "1 step forward, 2 steps back" (from the point of view of the final consumers, who really only care about the result, and not the means) is so common in the ecosystem of GNU/Linux based O.S. It's also why I see the mantra of the Linux kernel so utterly fascinating and inspiring. It takes real work to build something and keep it working for decades with a minimum of breakage; starting from scratch looks then like child's play in comparison. I guess the problem is the same as always: money. In a parallel universe where Xorg is at the base of Windows, Microsoft would just throw millions at it to improve the architecture and fix issues, while at the same time trying to limit breaking changes as much as possible... but that requires willingness to do it, and deep pockets.
- rob74 6y agoAs a complete outsider - ok, I'm a developer, but I haven't had the pleasure (?) of writing something that interfaces directly with Xorg yet - I have been reading for years about Wayland being the way forward and how Xorg is dragged down by a long history of dubious design decisions and features nobody needs anymore, and I was secretly wondering: if this is really the future of desktop Linux, why doesn't it gain more momentum? This post is a bit too ranty for its own good, but it has a valid point, and one that is unfortunately common in the open source community: because you have no monetary obligation to your "customers" (=users), there's not really a lot that forces you to maintain backwards compatibility. And because a Linux distro is made up of thousands of applications, many of them not in active development anymore, changing such a fundamental component (without providing a "compatibility layer", which I have no idea if it would be even possible) will break a lot of applications that may never be "fixed".
- canofbars 6y ago>if this is really the future of desktop Linux, why doesn't it gain more momentum? Nvidia is the major blocker here and there is very little wayland devs can do to fix this. Fedora has actively discouraged using the proprietary nvidia driver for a while now and they ship wayland by default since the open source driver works fine. I saw that ubuntu is also shipping wayland by default soon for amd and intel users.
- Nursie 6y agoHow is the open source driver when it comes to compute and 3d gaming? Just interested if it works OK.
- canofbars 6y agoIts extremely slow and does not support CUDA. I think the problem is nvidia blocks them somehow from changing the clock speed on the gpu so it gets stuck running in its slowest speed.
- 6y ago
- tannhaeuser 6y agoI haven't seen many desktop apps emerging in the last decade, so whom is that "legacy is holding back the Linux desktop" argument addressed at? X may not be the most modern architecture, but it's still the API almost all F/OSS desktop apps are ultimately written and tested against. For many apps, wayland doesn't bring a new perspective, but end of life with no new apps taking their place. For other apps, wayland means additional testing and porting effort. And wayland, like gnome and almost every other "innovation" by RedHat, brings fragmentation into the free desktop world also for BSD and Mac OS ports. Desktop app development, being starved off developers anyway, doesn't need a "Python 2" moment, that is, a decade+ long phase of transition in the name of dubious progress, or other impediments getting thrown in its way. The end result is simply that less usable software will exist.
- pjmlp 6y agoWe (desktop devs) eventually gave up on it and are enjoying our Windows/macOS/Android/ChromeOS setups instead.
- AshamedCaptain 6y agoIt would be funny that at the point where it seems that Linux desktop hardware support is at its peak, the actual use of Linux desktop would be at its lowest. I don't think that's the case, though.
- pjmlp 6y agoGNU/Linux gets used alright, on IoT, servers and VMs, where the desktop is irrelevant. While Linux community can pat themselves on the back for having Linux kernel as part of ChromeOS and Android, they tend to forget it is hardly exposed to userspace frameworks used by app developers.
- adrusi 6y agoChrome OS straight up lets you install Linux desktop apps. It runs a wayland compositor.
- phkahler 6y agoI have to agree about client side decorations. But my biggest issue (I use gnome) is that it is now the compositors job to remember window sizes and positions, and they are not doing that. I understand and agree with the reasoning that an app can't influence its environment and position itself. But someone has to do it. And automatic placement is not a substitute for remembering the users placement.
- simion314 6y agoThough as developer you should already be aware that programing against 1- different incompatible targets is extremly painful, so why the hell they did not implement a Wayland server too, is seems a cheap excuse "wayland is just a protocol, all the issues are in the implementation you use". I am expecting someone would comment that browsers are a good example, and my answer is go check the contenteditable and for example how text selection works and all the issues people had creating a rich text editor that works on all browsers using it.
- swiley 6y agoI for one prefer the multiple "weird" clipboards in X.
- bluGill 6y agoI'm guessing you prefer the selection "clipboard" and the primary clipboard. There are a couple more clipboards that nobody uses. I agree the selection is sometimes handy, but I've accidentally hit the middle button where I didn't mean to just enough times that I'm ready to give it up. I rarely use them to hold two different things.
- sam_lowry_ 6y agoI use SELECTION and PRIMARY all the time
- pantalaimon 6y ago> Also, it’s worth noting that since there is not one Wayland server the way there is one Xorg server, that not all of this applies evenly. This is what killed XMPP and it's likely to kill Wayland too.
- krzyk 6y agoExactly this: Wayland solves no issues I have (It is very similar to systemd, and the motto on page https://nosystemd.org/ https://nosystemd.org/ that is what I think about systemd also: If this is the solution, I want my problem back.) If one doesn't use multi-GPU setups or high DPI they don't need Wayland, yet (later they will either have no options (like with systemd) or will buy better screens). For me e.g. I don't know if I have a problem that Wayland may solve - I have not issues with Xorg, I don't like using more than one screen (I forces me to move my head left-right, I prefer single large screen, with full sized window) and I don't have high-dpi screen (I think, at what DPI does it start? My laptop has full-hd with 14", so probably not). But later when such high-dpi screens will be the norm it would be nice to use them.
- iforgotpassword 6y agoI feel the same. Xorg just works. My dev machine has intel onboard gfx with two screens attached and an old gefore 8 (I think) to drive a third screen, using nouveau. Zero config required, X just combines them as if it were one card with three outputs. Wayland? No chance. Screen sharing in Jitsi in Firefox? X doing just fine, Wayland not a chance (using Sway). So X just works fine out of the box no matter what, while Wayland is a broken mess that reminds you of X 15 years ago. Oh but Wayland solves screen tearing, which I guess would boost my productivity while coding by 500% so maybe it's worth the hassle.
- enriquto 6y agoNotice that you can use hidpi screens with Xorg and it works perfectly. The only problem occurs when you mix screens with very different pixel sizes on the same display and you want to move windows between these screens.
- GekkePrutser 6y agoAlso, mixed-DPI works pretty well here on X. I just scale my low DPI displays at 50% with XRandR. It looks just as good as on Mac.
- Liskni_si 6y ago
- Aardwolf 6y ago> The legacy is holding back desktop Linux quite a lot. But I'd rather have it be replaced by something that's like X but supports higher resolution then (4K works for me with X though, no issues), rather than with something that doesn't allow screenshots, xdotool automation, clipboard, ... in the name of "security". Wayland seems like a move to take away control from the user to me.
- sildur 6y ago> Clipboard is weird. Hopefully you are not referring to the fact that there are two clipboards in X, because I really like that "weirdness", and I'm really used to it.
- karmakaze 6y agoThere's no 'winning' this discussion. The users clearly want faster horses.
- rstuart4133 6y ago> Wayland solves no issues I have Indeed, it's funny they would think it was meant to solve issues they had. The justification for it was never X11 doesn't work. It was always "it's becoming impossible to work on". As it happens, Wayland does solve a problem I have. The HDMI port doesn't work under X11 on my Lenovo X1 2nd gen laptop. It does under Wayland. Granted, that's because no one wants to work on X11 any more, so new or unusual stuff doesn't get added. (The X1 gen2 is indeed unusual: the HDMI port comes off the Nvidia card rather than the intergrated graphics. The X1 gen3 fixes that nit.) Which brings us the full circle: Wayland may fix no issues he has now, but the X11 code base being so much of a pig will mean he has issues with it in the future. I've now moved to Wayland, and it was under sufferance. It's forced me to use Gnome3. The Gnome3 taskbar and I are not compatible ("what a complete waste of space" springs to mind), so I'm not that happy about it. Debian's alternatives system for selecting a Window Manager (now the compositor under Wayland) seems to be completely broken. But Wayland itself: a few paper cuts, touchpads not working after suspend and things like that - nothing serious. But my god it's fast, and amazingly remote X11 connections (ie, "ssh -X") still just work. And the code base is much smaller. People are comparing Wayland to systemd, to me it's not at all like systemd. Systemd was more complex, in lines of code literally 100's of times larger than then things it replaced, and never delivered on it's speed promises, and seeks to replace everything with Systemd. On all those metrics, Wayland is the reverse - it even encourages mutiple implementations.
- TwoNineFive 6y ago> moving away from Xorg as a display server really needs to happen eventually "It has to happen because it has to happen" is classic logical fallacy anti pattern.
- rbreaves 6y agoI agree with probonopd on many things, but I will concede that the benefits of this rewrite for hidpi and likely other features is needed. The dependencies for things may shift more however to the DE layer and that is ok - but it will make things more complicated for many developers as they will have to test against DE's more methodically than what they had been is what I suspect. I am picking up on this from writing app that cares about the currently focused app and with x11 that is easy to deal with. Wayland explicitly denies it from happening, only the DE can give me that information and I have to work out how to work with all of them individually if I want to retain parity. There are definite cons to that as it limits the DEs that I can support vs having the capability retained in Wayland.