I can’t believe that these arguments never mention one of the central tenets of engineering: don’t fix what ain’t broke. And Wayland breaks a bunch of what ain’t broke.
X is broken in many different ways. It has a huge codebase made to support a poor design that was optimized for machines 40 years ago. No one wants to touch the code base since it is so incredibly fragile plus the original developers are much older now.
In all fairness, it did work for way longer than anyone expected. I doubt the original designers of the X protocol anticipated it lasting this long.
@possiblylinux127@Skullgrid protocol itself is mostly OK. Yes, it have many limitations, but it covers much more desktop needs than wayland/mir/surfaceflinger/etc.
But implementation is really broken.
For example, the way how some extensions override vtable is terrible: overriding functions usually should restore base function in vtable before calling it and and restore back after. Breaking this would break call chain and override function will never be called again.
I think, this is a reason why devs switched to wayland. Nobody want to reimplement x11 from scratch, but exisiting implementation is borked
How much do you k ow about computer graphics and X? The protocol is indeed not ok. It has tons of hacks and is incredibly janky. Doing basic graphics with X is so incredibly awful as you need to jump though tons of hoops.
Xlibre is backed for the most part by the singular maintainer that was still willing to work on X11 who got kicked out for being too toxic and breaking existing code. For what it’s worth, it also explicitly used MAGA language in its README for a while.
Phoenix is intended to allow for support of legacy software/DEs and provide a more modern/maintainable version of X11. It isn’t trying to compete with Wayland, it’s trying to live alongside it for environments that won’t or can’t move to Wayland. It also technically won’t be a complete X11 implementation, as it’s ignoring older portions of the protocol.
Neither option addresses the elephant in the room: The X11 protocol is still fundamentally broken in a lot of aspects. Multi-monitor support, especially when monitors aren’t the same resolution, refresh rate, or physical size, is broken at a fundamental level. It will never work even as well as Windows, which is already an incredibly low bar to clear.
Wayland is slow moving, sure, but it is a much more stable base to work with than Xorg ever was. From a security, modularity, and extensibility standpoint, Wayland is a lot better. There is a reason most of the Xorg team developed a completely new protocol instead of just reimplementing X11 themselves.
I can’t believe that these arguments never mention one of the central tenets of engineering: don’t fix what ain’t broke. And Wayland breaks a bunch of what ain’t broke.
Yeah it’s newer etc. people don’t care.
X was broken as fuck and held together by duct tape and zip ties, as long as no one looked at it wrong.
That’s great, now run birdtray.
The shit that relied on it to run, do not work correctly on wayland. Breaking existing shit is what I’m talking about.
It’s a…mail notification??
You’re complaining that Wayland sucks cause it isn’t backwards compatible with your favorite desktop widget?
OK.
X is broken in many different ways. It has a huge codebase made to support a poor design that was optimized for machines 40 years ago. No one wants to touch the code base since it is so incredibly fragile plus the original developers are much older now.
In all fairness, it did work for way longer than anyone expected. I doubt the original designers of the X protocol anticipated it lasting this long.
@possiblylinux127 @Skullgrid protocol itself is mostly OK. Yes, it have many limitations, but it covers much more desktop needs than wayland/mir/surfaceflinger/etc.
But implementation is really broken.
For example, the way how some extensions override vtable is terrible: overriding functions usually should restore base function in vtable before calling it and and restore back after. Breaking this would break call chain and override function will never be called again.
I think, this is a reason why devs switched to wayland. Nobody want to reimplement x11 from scratch, but exisiting implementation is borked
How much do you k ow about computer graphics and X? The protocol is indeed not ok. It has tons of hacks and is incredibly janky. Doing basic graphics with X is so incredibly awful as you need to jump though tons of hoops.
That that completely ignores the security issues.
And now we have a working actively developed fork of Xorg because the corporation wanted to end it. Xlibre.
And we have an implementation of X11 from scratch, in Zig, being made. Pheonix
Xlibre is backed for the most part by the singular maintainer that was still willing to work on X11 who got kicked out for being too toxic and breaking existing code. For what it’s worth, it also explicitly used MAGA language in its README for a while.
Phoenix is intended to allow for support of legacy software/DEs and provide a more modern/maintainable version of X11. It isn’t trying to compete with Wayland, it’s trying to live alongside it for environments that won’t or can’t move to Wayland. It also technically won’t be a complete X11 implementation, as it’s ignoring older portions of the protocol.
Neither option addresses the elephant in the room: The X11 protocol is still fundamentally broken in a lot of aspects. Multi-monitor support, especially when monitors aren’t the same resolution, refresh rate, or physical size, is broken at a fundamental level. It will never work even as well as Windows, which is already an incredibly low bar to clear.
Wayland is slow moving, sure, but it is a much more stable base to work with than Xorg ever was. From a security, modularity, and extensibility standpoint, Wayland is a lot better. There is a reason most of the Xorg team developed a completely new protocol instead of just reimplementing X11 themselves.