6 ms·
> out of their system I spent some time last year digging around in Wayland and I've got to admit that I was surprised to learn that there really isn't anythin
by zppln 1y ago
> out of their system
I spent some time last year digging around in Wayland and I've got to admit that I was surprised to learn that there really isn't anything really there. Like, there is no "system". I had read that "it's a protocol" but I hadn't fully internalized it. I'm honestly a bit surprised anyone has adopted it. It almost feels like a scam. :) When I checked you couldn't even get your window decorated without an extension (that Gnome decided to not support so you have to bring your own decorator there?).
- IshKebab 1y agoYeah I think the fundamental mistake they made was trying to standardise a display protocol without a display server. They changed it so that everyone who previously just wrote a window manager now had to write an entire display server. The open source community just doesn't have that much manpower.
- jchw 1y ago> They changed it so that everyone who previously just wrote a window manager now had to write an entire display server. Not entirely true. Now if you want to share the "display server" bits you can plug in a library like wlroots or Smithay. The real issue, if any, is that most of those bits are not standardized; or at least, only the libwayland part. Of course, that's not even the entire story either. When X11 servers were basically entire operating systems that ran as root, implemented print servers and directly touched /dev/mem, only a lunatic would want to maintain multiple of them... but now on Linux and even some BSDs, you can fall back to GBM/DRM/KMS/libinput/etc. for most of your "hardware" needs, the OS is doing the OS things. Wayland is also just simpler than X11; The current day cleaned-up X.org is still around 5x larger by SLOC and much more complex than wlroots. So how come GNOME and KDE both built their own display server? Well really, they didn't; they took their existing compositors they had for X11 anyway and grew Wayland server limbs out of them. In practice retrofitting Wayland into existing compositors is still hard, but if you already have written a compositor and window manager it's still probably easier than writing a new one from scratch. And for KWin, I believe they're also making use of Qt's Wayland compositor infrastructure, too. Something that took me a long time to understand is that people are just unhappy no matter what. Not that all of their points are invalid, just, it's often not even really about that; the specific points are often just the obvious weak spots, like the classic "Wayland can't screen capture" meme (totally fair point, but persisted so long that some people still don't know it hasn't been an issue for years.) This right here is just another one of those. Notice that when many Linux distros unified towards a singular init system, systemd, people came out with pitchforks. Were they all spouting incorrect nonsense? Well, blah blah UNIX philosophy, but largely no, there were plenty of valid complaints about systemd and what it meant for the Linux ecosystem, but it wasn't really about that. Same with Wayland! Wayland did the exact opposite, and defined a set of protocols anyone could implement, allowing you to choose your compositor. Seeing as people hated what systemd did and wanted to preserve "choice" in the Linux world, you'd expect that people would like what Wayland did, but instead everyone is just pissed about fragmentation now. You can pick apart that argument and try to figure out why it's wrong or and invalid comparison and I'm not going to try to fight anyone on that. You can also say that the argument is made by different people and maybe that's true too (though personally I believe "people who hated systemd" and "people who hate Wayland" forms more of a circle than a venn diagram.) Even if it is, the outcome is the same: you're damned if you do and damned if you don't. What I do know is that desktops on X11 stagnated with the same sorts of problems they always had and with Wayland a lot of that got unblocked. X11 will probably be in the same crappy state it's in today and Wayland will continue iterating and improving over time. I'm sure there will be a lot of pain along the way, and I agree it isn't always pretty, but it is what it is. Software isn't a beauty contest, and there's a good reason why "elegant" stuff rarely wins in the long run.
- magicalhippo 1y ago> Seeing as people hated what systemd did and wanted to preserve "choice" in the Linux world, you'd expect that people would like what Wayland did, but instead everyone is just pissed about fragmentation now. As a mere Linux user, who's occasionally been annoyed at systemd and as mentioned have had poor experiences with Wayland implementations, I've been wondering about the alternate timeline where systemd and Wayland swapped approaches. That is, systemd was just a set of protocols along with reference implementations, so people could say swap out journald to something that logged to text instead of a binary database etc. And Wayland instead just did the whole kitchen sink, becoming the basis for the Linux desktop of the future, instead of fragmenting the existing ecosystem even more. Probably a lot of good reasons why it wouldn't have been better, but it would be interesting to see what might have been.
- eliaspro 1y agoWell, with systems that's actually the case. It's suite of mostly loosely coupled tools and services and you totally can swap out or disable many of the components however you like. They mostly just use DBus and/or Varlink for IPC and use some common shared libraries to prevent code duplication across the whole project.
- mqus 1y agowell, no? Systemd actually also delivered all of the implementations of those protocols and barely no one cared to fit their previous solution to their standards? Rather, it was the opposite, systemd could also run your usual service shell scripts for a while. Sure, there are similarities in the sense that you started out with 0 service files at the beginning and no GUI toolkit implemented the Wayland protocol from the start, but the thing itself is pretty different. Systemd wasn't designed by committee (and many people still have gripes about this). Wayland kinda is.
- deleted 1y ago[deleted]
- saurik 1y ago
- gf000 1y agoA window manager is just an X11-ism. It's nothing more in that parlance than a Gnome plugin. There are "Wayland display server toolkits" out there, so you can just build whatever you want without reimplementing a wheel. But an additional layer allowing for these plugins that X has is just added complexity that not every diplay server would want - e.g. a custom display server for a thermostat.
- arboles 1y agoEmphasis on the plural in "toolkits", X has one standard interface running on people's computers that window managers target. X environments end up having common behavior regardless of window manager, and for application developers having to target each Wayland display server with its own subset of protocols has to be less appealing. That is what that comment was getting at. Application developers don't want to log your keyboard and aren't oblivious to security. The lack of a standard Wayland display server is a real grievance.
- gf000 1y agoWhere is that common behavior, is that GNOME's one, KDE' one, or the million tiny window managers' ones? Would you swear that no "application" developer would want to log my keyboard if we include the transitive dependencies of every single nodejs/python/etc package that I use for regular-ass development? Because we have seen how trustworthy supply-chains are. But sure, you can definitely drive a car without a seatbelt on, it's just not a good idea.
- michaelmrose 1y agoX and Wayland from the perspective of desktop Linux is for computers and what would be good for thermostats is irrelevant. It makes more sense to have an entirely different thing for embedded
- gf000 1y agoWhat about a car entertainment system? A kiosk that is basically a full touch-based desktop, but only displaying a single app? Where is the line?
- panick21_ 1y agoThis just false. There are libraries you can use to get most what you need and you can only change the things you care about related to window manager. And many systems have done that. Libraries are somehow a good way to share software, but not when it comes to display managers? The claim about OpenSource manpower is also false. We have multiple high quality compositors and despite any issues, there is quite a large amount of homebrew and other compositors. If you want something like X11, you can built on something like Mir.
- mqus 1y agoThe point is: The libraries are not from the same people that build the standards, meaning: there is no "primary implementation" that everyone agreed on. ("agreed on" already is one of the problems, X11 was mostly just developed and everyone got "the thing" and had to use it, for better or worse. In Wayland, KDE, Gnome, wlroots, etcpp first have to agree on a common protocol to implement... and we see how that is going)
- gf000 1y agoBesides there being a large overlap between the "people that write the standards" and library authors, how is there no primary implementation and why does it matter? It's literally an XML document that can be used to generate C code for the server/client, that can communicate via a binary protocol. This is just a faulty sentence. If you meant that there is no general consensus on which extensions are "core core" and which are completely optional, that might be a more reasonable criticism.
- 0points 1y ago> They changed it so that everyone who previously just wrote a window manager now had to write an entire display server. Hence wlroots was born.
- teleforce 1y ago>Like, there is no "system". I had read that "it's a protocol" but I hadn't fully internalized it. I'm honestly a bit surprised anyone has adopted it. It almost feels like a scam. I feel you. I was there before and after Wayland. I was there when they promised you toward the promise land of the year of Linux Desktop and allegedly X11 is the main hurdle. X11 is a proper system and protocol, and it seems the Wayland folks just ignore this. The two main reasons were given by them at the time were X11 has archaic architecture (reverse client and server concept) and, the X11 code is ancient and a mess. I'm kind of sold on their first idea of Linux need a clean windowing system so we can have something nice like RDP in Windows. But their second points on the codes debt is rather off. It did occur to me at the time it will be much easier to come up with a clean room implementation of X11 system and protocol rather than come up with entire new windowing system, than hope entire people and industries will use them. After all Linux basically is a clean room implementation of Unix. I think the main problem is that at the time there's no authoritative figure like Linus on the non-kernel Linux part or what I called Linux user environment. At the time there was Miguel de Icaza of Gnome fame but at the time he seems too much involved with another promise land of Windows .Net and Linux people cannot come to term with the idea of we should just use Win32 as other comments have suggested here. It's proven later that .Net is an eventual failure as expected and Miguel reputation suffered because of that. Strangely to be honest I have never read Linus comment on Wayland but why would he? He's laser focus on the kernel and he's happy to admit using Fedora in the middle of the Red Hat Fedora bruhaha.
- ChocolateGod 1y ago> X11 is a proper system and protocol It's really not, it's designed for drawing on remote terminals over a network (it even has a print server), not hardware accelerated devices. Things like HDR, multiple refresh rates, mixed DPI, passive compositing, hardware planes are just harder to do. There was a reason Android didn't use Xorg and instead used SurfaceFlinger (which shares more design with Wayland than Xorg).
- gf000 1y agoWhat I don't understand is why do "GNU Linux" have such an adverse reaction to anything Android? Like why wasn't SurfaceFlinger got adapted for both?