5 ms·
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
by logicprog 2y ago
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.
- account42 2y ago> 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.
- logicprog 2y ago> 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?