In theory yes. But leaving all extra functionality to the compositor makes it really complex so the freedom to write programs like these is great. I wish there was more freedom for things wayland clients can do
And with a display server protocol not designed for a low trust environment you wouldn't need to abuse unrelated extensions to backdoor in useful functionality.
I dunno; X11 was a pile of ugly hacks that we accepted because they were functional/useful. Thus far Wayland has been elegant at the expense of missing features, but if we can get all the missing features I kinda don't care if it involves some degree of ugly hacks.
And in 2042: I dunno, Wayland was a pile of ugly hacks we accepted because they were functional/useful. Thus far Zooplah has been elegant at the expense…
Insofar as you are even making an argument here, instead of simply childishly parroting what someone you disagree with has said, it's a nonsensical argument — a slippery slope fallacy or something similar: if we replace our display technology stack once, next thing you know we'll do it again next week!
Simply because we replace an outdated protocol that didn't and couldn't have take(n) into account the needs and technological capabilities of today (because it was made long before then) with a protocol that is better designed for modern technology and modern requirements once does not mean that it has to happen wantonly and repeatedly — it may or may not happen again at all. There's no forcing function there. Whether it will be replaced again will be determined by whether the fundamental structure of how our computers are used and the graphical technology we use to display things shifts in such a fundamental way again... In which case we should absolutely rethink our display technology instead of layering more shit on the big ball of mud.
Xorg's design was fundamentally intended for time-sharing mini-computers, where graphical thin terminals would connect to a central computer where the actual applications ran, and the apps would send display commands to the terminal in return. It was also designed for an era where there was no such thing as GPU acceleration regular graphical applications, so every application would want to communicate with a display server to explain to it what should be displayed instead of directly to hardware. It was also originally designed without support for compositors, when compositors have now become the main thing that displays servers even do in the first place at all, and so therefore should be merged into them. Things have changed significantly since then.
Of course, there are protocols layered on top of XORG to account for all these things, but it means that there's a ton of extra complexity and functionality laying around inside it that isn't needed, and much functionality and deficiency left on the table, which is exactly why Wayland exists.
If we never see such a substantial change in display technology, again, then there will be no reason to reinvent Wayland.
And if you argue that despite the requirements and constraints of display technologies changing so drastically, we should still not replace XORG in fear of it, precipitating some sort of eternal shifting and changing of display technology, then that is simply conservatism taken to the level of insanity. My personal humble opinion, I think we should change our software when our needs and requirements change enough that simply adding more mud to the ball of mud produces a subpar and product.
> Insofar as you are even making an argument here, instead of simply childishly parroting what someone you disagree with has said, it's a nonsensical argument — a slippery slope fallacy or something similar: if we replace our display technology stack once, next thing you know we'll do it again next week!
It's not a slippery slope fallacy that refactors are not guaranteed to improve anything in the long run. The costs in adapting all graphical software are bad enough but when you are even asking end users to change the software they use and how they use it to adapt to your display server then you need to seriously reconsider if the change is worth it.
> a protocol that is better designed for modern technology and modern requirements
What requirements are those - of a free desktop operating system or of an appliance running untrusted crap from a commercial app store?
> Xorg's design was fundamentally intended for time-sharing mini-computers, where graphical thin terminals would connect to a central computer where the actual applications ran, and the apps would send display commands to the terminal in return. It was also designed for an era where there was no such thing as GPU acceleration regular graphical applications, so every application would want to communicate with a display server to explain to it what should be displayed instead of directly to hardware. It was also originally designed without support for compositors, when compositors have now become the main thing that displays servers even do in the first place at all, and so therefore should be merged into them. Things have changed significantly since then.
And X.org has managed to adapt to all these changes. And even if there are breaking changes needed it doesn't mean you have to throw out the whole thing.
> Of course, there are protocols layered on top of XORG to account for all these things, but it means that there's a ton of extra complexity and functionality laying around inside it that isn't needed, and much functionality and deficiency left on the table, which is exactly why Wayland exists.
And with Wayland you already need tons of extensions to support very basic desktop functions, with varied and often incompatible support between compositors. So instead of having that complexity in one display server it is now multiplied between various wayland compositors AND applications.
> It's not a slippery slope fallacy that refactors are not guaranteed to improve anything in the long run.
Yeah it's not like we're just getting things thanks to Wayland that other OSs have had for years like proper HDR support, variable refresh rate, different refresh rates for different monitors, not having constant screen tearing, reasonable security, support for a modern GPU acceleration (Vulkan)... Plus, I would prefer a system designed by people that cared about actually having clean, maintainable, up to date codebases and protocols, instead of the backwards-compatibility morass that is Windows. That's part of why I like Linux — it's made by people that care about the craft and the future, a lot of the time, instead of bending over backwards to make legacy business customers happy.
> The costs in adapting all graphical software are bad enough but when you are even asking end users to change the software they use and how they use it to adapt to your display server then you need to seriously reconsider if the change is worth it.
I think they did seriously consider it. And sure Linux has never asked people to change what software they use, totally.
> What requirements are those - of a free desktop operating system or of an appliance running untrusted crap from a commercial app store?
This is just such a disingenuous rhetorical question. Of course I mean the requirements of a free desktop operating system. It's also silly, because 90% of the time an "applience" (whether you mean that literally or mean that in the sense of an iPhone) wouldn't be running "untrusted crap," it would be running only applications the company making the device approves of. Whereas we who are free to run any software we want, from ANYWHERE, on our computers, who aren't forces to run only things that have been signed by our "betters" have more need of something that is secure by default and gives us agency to choose what our apps have access to instead of simply assuming they should have access to everything.
Plus, the needs of a free desktop OS fundamentally includes being able to run commercial apps which might try to spy on you, or apps you don't completely 100% trust, because unfortunately we live in this dystopia where free software doesn't cover everything and we can be required to run proprietary software to communicate with loved ones or do work or even play the games we enjoy.
> And X.org has managed to adapt to all these changes.
Poorly, with a ton of unnecessary cruft that we don't need or use anymore cluttering up the code base opening up security vulnerabilities and making maintenance harder. That's why the Xorg maintainers eventually gave up on it and moved on to start Wayland. Plus, it's fundamental protocol and model of the world is just wrong and inefficient for the modern workstation, and you can't fix that by just adding more code and extensions to the ball of mud.
> And even if there are breaking changes needed it doesn't mean you have to throw out the whole thing.
When the fundamental model the entire code base is built on no longer makes sense for what it's being used for, even if it sort-of works, I think it is.
> And with Wayland you already need tons of extensions to support very basic desktop functions, with varied and often incompatible support between compositors. So instead of having that complexity in one display server it is now multiplied between various wayland compositors AND applications.
Lmao that's a false equivalence. The problem with Xorg is that the extensions are layered on while leaving in* the old things they obviate. So you have everything you need, but also everything you don't. The whole jungle comes with the banana. Meanwhile, Wayland has a small easy to implement core, and then each DE/WM implements just the protocols they need, so that everything isn't massively overcomplicated, but composable and customizable to the needs of each. Isn't that what Unix people like?
> variable refresh rate, not having constant screen tearing, support for a modern GPU acceleration (Vulkan)...
These all work under X and have worked for years. HDR support is also possible under X and I'm confident that different refresh rates can also be made to work without breaking applications. The only real difference Wayland brings is the "security" model and for an open desktop OS with trusted programs that's more of an anti-feature. I don't want a consumer appliance but a system where I am in control.
> Plus, I would prefer a system designed by people that cared about actually having clean, maintainable, up to date codebases and protocols, instead of the backwards-compatibility morass that is Windows.
Maintainable is a meaningless buzzword if you throw out the system instead of maintaining it. And backwards compatibility is seriously underrated.
> I think they did seriously consider it.
I have yet to see any evidence of that.
> And sure Linux has never asked people to change what software they use, totally.
Linux is a kernel and one that takes the backwards compatibility of the userspace API very seriosuly. You can use pretty old software on modern kernels just fine. That is what all system components should strive for.
> This is just such a disingenuous rhetorical question. Of course I mean the requirements of a free desktop operating system.
Then your position makes no sense.
> It's also silly, because 90% of the time an "applience" (whether you mean that literally or mean that in the sense of an iPhone) wouldn't be running "untrusted crap," it would be running only applications the company making the device approves of.
And what the appliance operator approves of is more often than not largely untrusted crap that would have been classified as malware only a decade ago.
> Whereas we who are free to run any software we want, from ANYWHERE, on our computers, who aren't forces to run only things that have been signed by our "betters" have more need of something that is secure by default and gives us agency to choose what our apps have access to instead of simply assuming they should have access to everything.
We have the option to containerize untrusted software and we actually have trustworthy open source software available along with a social mechanism to protect us: distro maintainers.
> Plus, the needs of a free desktop OS fundamentally includes being able to run commercial apps which might try to spy on you, or apps you don't completely 100% trust, because unfortunately we live in this dystopia where free software doesn't cover everything and we can be required to run proprietary software to communicate with loved ones or do work or even play the games we enjoy.
A) no it doesn't and if it did you'd actually care about backwards compatibility. B) if you want to run untrusted programs you sandbox just those programs instead of neutering your entire toolbox.
> Poorly, with a ton of unnecessary cruft that we don't need or use anymore cluttering up the code base opening up security vulnerabilities and making maintenance harder.
Meaningless buzzwords repeated without anything to back it up.
> That's why the Xorg maintainers eventually gave up on it and moved on to start Wayland.
Yes, because it's more exciting to develop something new than maintain an existing system if you are not the one bearing the cost of breaking the world around that system. Also the companies paying those developers (mainly Red-Hat) would very much like to sell you an appliance rather than a desktop OS.
> Plus, it's fundamental protocol and model of the world is just wrong and inefficient for the modern workstation, and you can't fix that by just adding more code and extensions to the ball of mud.
Again, a string of meaningless propaganda drivel. There is nothing fundamentally different about a "modern workstation" that makes X not workable. Unless you mean that most modern proprietary software is malware, in which case, again, you avoid or sandbox that malware.
> When the fundamental model the entire code base is built on no longer makes sense for what it's being used for, even if it sort-of works, I think it is.
The fundamental model works just fine and not just sort-of.
> Lmao that's a false equivalence. The problem with Xorg is that the extensions are layered on while leaving in* the old things they obviate. So you have everything you need, but also everything you don't. The whole jungle comes with the banana. Meanwhile, Wayland has a small easy to implement core, and then each DE/WM implements just the protocols they need, so that everything isn't massively overcomplicated, but composable and customizable to the needs of each. Isn't that what Unix people like?
And Wayland also comes with Xwayland. And you are seriously naieve if you don't think Wayland will look different once it is actually able to satisfy all desktop requirements.
I think at worst we simply have different preferences for how our free desktops should approach security, not that I "don't want a free OS," and I'm extremely tired of people like you dimissing people that disagree with you about how a free desktop operating system should work as simply not being true Scotsman — not wanting "true freedom" or something — it's very frustrating and it makes nobody want to deal with you.
I want programs on my computer to ask for my consent for access to anything that might be nefarious or personal. I don't want to have to rely on a small group of people who have decided they are qualified to choose what software is safe to run and insert themselves between me and the people who developed the software I actually use to introduce arbitrary patches and remove or add arbitrary features. This is a big part of why I refuse to use Debian ever. Instead, I want a system that is self-sufficiently secure.
You want programs to have access to absolutely everything on your computer by default, except the random selection of largely not relevant tasks allocated to the root user, and want to go through the effort of sandboxing manually when you don't trust something. You're fine with relying on a small group of maintainers deciding what software is and isn't safe for you to install and protect you from upstream bad features.
I want a system that is secure by default and has good defaults for that security, and you want a system that requires you to go through extra hoops to make things secure if you want them and you'll probably never actually do that because it's so inconvenient and manual to actually make things secure.
These seem not like on the one hand the requirements for an appliance and on the other hand the requirements for a free desktop and more like different preferences for a free desktop environment.
> A) no it doesn't
Then you are living in fantasy land. I would prefer my desktop operating systems to actually be useful in the real world. I fundamentally do not understand and reject this idea that on a free desktop offering system, somehow by virtue of being free software, you'll only be running open to our software or software you trust ever, and that somehow by virtue of being an appliance, that suddenly means people will run untrusted software. Those things aren't inherently related and it doesn't make sense to pretend they are.
> Also the companies paying those developers (mainly Red-Hat) would very much like to sell you an appliance rather than a desktop OS.
Ah, I see you're one of those conspiracy theorists. I think I'll back out of this discussion now — I've had one too many experiences with such.
Yeah, wouldn't it be great if every application I had open could read my entire screen and act as a key logger to collect all my passwords and personal information? Obviously, since I installed the app, that means I have to trust it completely, and not trusting it completely is just silly!
Yes it really would be. It's the reason I use Linux in the first place, to have freedom to do whatever I want. I don't need linux to protect me from Windows Recall. I chose linux because it already doesn't have stuff like that. And the system (used to) treat me like an adult.
it's where the security boundary is. The system should protect me from unwanted software getting on the system. Once a piece of software starts running, I do want to give it full access to the system. If not, I'll run it in a container. All the protections wayland offers are to protect against a piece of software someone had to already have access to install. If you are that paranoid, set up selinux properly. Which nobody does, cos it's a pita. Enforcing permissions for everything on everyone is a similar pain in the ass.
If non-corporeal entities could move within my home invisibly and observe my activities silently or change things in my environment at will, I’d definitely consider it.
If it was practical to have some way to a priori prevent the appliances in my home from seeing me or listening to what I do, while still being able to use them for their intended purpose, then I would certainly use it. Since there is a practical way to do that on a computer, then I'm going to use that if I can. In the same way that I use live narrowing fuzzy search for almost all of my interfaces with the computer and would certainly use that if it were physically possible for physical objects as well, but it just isn't. There are many things that we can do on the computer that we can't do in real life and thus we request that the computer do them.
Furthermore, in fact, to the extent that it is possible, I do in fact do this: I flat out refuse to install appliances in my house that would have the capability of passively listening to every word I say or watching every move I make with microphones or cameras — no Alexas or Google Homes or Nest security cameras or smart toasters or anything of the sort. Whereas installing applications under Xorg is essentially the equivalent of having every appliance in your entire house come with microphone and camera that is always on, and just having to trust that they don't actually do anything with that data. Every application installed under XROG essentially has the capability to surveil you and simply choose as not to, whereas I would prefer the digital equivalent of only having appliances in my house that do not have microphones or cameras, or must explicitly ask my permission to use them — Wayland.
This is exactly why SpectrumOS (not in a useable state yet) is intriguing to me, as well as qubes OS’s very recent efforts on practical gpu acceleration.
The thing is that Qubes OS uses child Xorg servers per application to make it so that applications can't read the screen or the keyboard from other applications, whereas Wayland simply builds that into the protocol level so that you don't need that horrible hack. Likewise, it needs VMs to isolate each application or environment from each other and the host, and to make the host immutable and reset on reboot. And we can do all of that now with containers and sandboxes and immutable image-based distros. Not as securely, but at great benefit to performance and interoperability. So personally, I think while Qubes is still the gold standard if all you care about is security, if you want a good balance of security and everyday usability, Fedora Silverblue with distrobox and Flatpaks and a Wayland DE/WM is acceptable enough, as long as you harden the polkit permissions and a few other things like that. And yes, yes, I know the FUD about Flatpak *not being a sandbox" lol
That only determines who/what can connect to the X server at all, it's either a host/user/client with a cookie can connect to the X server or it can't at all; that has no bearing on me wanting to be able to use graphical applications that are able to connect to the display server without having each one of the graphical applications so connected to be able to read all my keystrokes and the output of my entire screen.