612
No rest for the virtuous
(lemmy.dbzer0.com)
Post funny things about programming here! (Or just rant about your favourite programming language.)
Wayland development. Tons of folks yelling “X is good enough!” Where they just ignore that no one is actively developing XOrg which is pretty much the biggest X11 implementation.
Plenty maintaining XOrg but new things aren’t coming to XOrg, there’s just no one there the XOrg devs moved to Wayland.
So all these people shouting, they’re telling you keep a piece of software that’s very fragile, in a space that hardware makers are progressing at rapid pace, has decades of hot fixes, duct tape, and cruft, and nobody is actively developing for.
Like I just don’t understand the people yelling that Wayland is raping peoples wives and setting fire to their dogs. The yelling group is screaming for people to use something that nobody wants to work on and nobody is paying enough for people to work on. The code base is horrible and it easily causes burnout in three weeks or less. No one in their right mind is picking it up for shits and giggles.
So if everyone abandons Wayland, what’s the end goal? Keep riding XOrg till hardware outpaces it completely? Like I don’t understand what the Wayland haters are trying to get at. There’s so little going on in XOrg at this point and everyone seems to universally hate the code base. And a rewrite of the base sounds a whole lot like Wayland but artificially adding in X11 restrictions that make no sense since we all aren’t using PDP-11 to run the clients.
I get that Wayland has configurations that don’t work yet. All software has bugs, including X11 implementations. But Wayland is arguably a technology that is more in line with how modern hardware works than the X11 protocol will ever be. And Wayland is designed to be easy for devs to work with, not a cobble of archaic limitations due to a protocol that was designed for 1970s era computers.
That level of hate for Wayland is just this confusing Luddite cry for software that hardware that properly supports it no longer exists. The reason modern video cards do run on X at this point is because of a lot of hacks. I thought everyone understood this when we did the whole AIGLX vs XGL thing.
You're listening to loud asshats and assuming they're the majority. They're not.
One day Wayland will reach a tipping point where it will replace X. Until then, most users will just stick with whatever their distro installs. Most people don't care one way or another.
As for me, I'm probably gonna to stick with X until I have no choice because I actually use the network features that Wayland isn't replacing. That doesn't mean I hate Wayland - I've never used it - it just means it's not the best software for me at this time. Most people never do anything with X that Wayland can't do and won't notice when it becomes the default.
You know you can run XWayland and have clients connect via network?
There's still some development going on in Xorg and it's pretty much all XWayland, it's going to stay alive as a compatibility layer for the forseeable future and beyond. And as a network layer until someone thinks of something better (no, sending video isn't better, the strength of X as a network protocol is that it doesn't need much bandwidth). It's the hardware interface stuff, actually throwing pixels on screen, that's thoroughly dead.
That's cool and all, but why would I want to? Display systems are invisible when they work right, and X has worked right for me (save for some pre-EDID config issues) since the 90s. I run a program, it pops up on my screen and I interact with it. That's all I ask of it.
None of the issues I've had with X (drivers, mostly) will be resolved with Wayland. For me, it's a solution in search of a problem. The only reason I have even a passing interest is that it's (theoretically) easier to maintain and change as computing changes.
I'll move to Wayland when I have to, but right now there's no reason to not use X.
You're welcome to continue to develop and maintain X, wrapping even more duct tape around all that duct tape, noone is stopping you. Or, alternatively, you simply never had a look at the X source code -- I cannot fathom a developer who would be masochistic enough to actually maintain that codebase. It was unsalvageable when the devs started to abandon it for Wayland, fifteen years ago, it's not any more salvageable now.
And if you want to "Fix X" -- that, precisely, is wayland: X is a buggy mess of fundamentally insecure software, developed before "buffer overflow" was a thing people acknowledged as security issue. It's software from the age of
strlen
. It cannot be fixed while keeping it compatible and if you have used X "since the 90s" you know very well how much of a shitshow it is, and it does not just "pop things up on your screen and lets you interact with them". Random thing: In wayland, programs can't focus fight.Yes, there is: Making the transition faster. All this griping people are doing right now and during the last what five years could've been avoided if DEs, window managers, toolkits, etc, had actually paid attention to what the X devs were doing. All those screen sharing and global shortcut protocols could have been ready ten years ago.
Why do I care about the state of the code? It works. Perhaps all these people complaining are really just sick of your proselytization.
To paraphrase Terry Pratchett, "You only get one life. You can pick up five causes on any street corner."
Frankly, the only reason I care is the end-user drawbacks that Wayland seems to have. There are tons of bugs and issues. On top of that, I use Nvidia proprietary drivers which also causes more drawbacks and issues. It feels like at this point a third option needs to be made available. It's been 15 years since Wayland was released and it still has a large amount of bugs and isn't ready for most distros to adopt it.
I've not touched the Wayland or Xorg code, and I've not looked into why Wayland is so broken, but the major issue I see is that it's taken them 15 years to still have a buggy display server. Display servers need to be the most stable you could possibly make them. They need to be made with desktop and fullscreen exclusive apps in mind. They need to be made modern and extendable while also ensuring those extensions aren't able to crash the entire display server. They need to be robust and that's just not what you are going to find with Wayland, or Xorg, or perhaps even Linux in general.
Wayland isn't broken it's new. Let's take, say, global shortcuts: Doing it the X way means that if you can display a window, you can keylog the whole desktop. That's not acceptable in a modern design, so wayland clients are isolated from each other, and the wayland devs simply left it out, saying "if people need this, they can come up with a protocol extension to do it properly". Then, years later, desktop environment devs came around and said "hey, global shortcuts, what about that" and spent two years hashing out a protocol to do it, one that will stand the test of time. It in fact didn't become part of wayland but xdg-desktop-portal, a collection of protocols started off by the flatpack folks to enable interaction across sandbox boundaries: The application doesn't say "hey x server, give me all keyboard input everywhere" but "hey wayland compositor, if it wouldn't be too much bother and it's fine with you I'd like to react globally to this key combination".
And then random software comes along and refuses to implement things and users complain that everything is broken. Yes, code will have to change application-side for Wayland, unless your app doesn't do a single call into Xlib but does everything via toolkit there's going to have to be changes. But what did you expect you're using a library that's fucking 40 years old. A library that was written with the devs fedexing source back and forth because the internet was too unstable to reliably send two or three megabytes over night because it was still a research project.
...and along also come random desktop environments and their devs unwilling to implement standards for absolutely no reason. Not just mostly but pretty much exclusively Gnome. This mpv commit captures the opinion of the wider community quite well. (mpv's main gripe is gnome's lack of support for server-side window decorations, with the gnome devs going "tell your tk to draw them" -- mpv doesn't use a tk and is not about to start to link to one just to draw decorations which the server can do better because mpv couldn't care less how they look or what buttons they have).
Wayland wasn't the first attempt at replacing X. It has made more traction than any other attempt, though. There's no real hurry - it's not like X eats your babies and runs over your dog.
As far as robustness goes, that's mostly the driver. I've yet to see a bulletproof display system, commercial or non-commercial. If you cut out driver issues, X is on par with or more stable than other systems. It had better be, given that it's had decades of bug fixes with few new features to cause new bugs.
Feels like this is entirely just blaming the driver which isn't the cause of 99% of Wayland issues. I know obs, another open sourced project, has caused a lot of issues with Wayland. It's not driver related.
As for xorg not being a problem, in the same regard why even bother with a display server at all. The point isn't that's it's bad it's that there are better ways of doing things.
I wasn't clear. I meant that the issues with X crashing were usually driver issues. I have no idea about Wayland - I don't use it since it doesn't do what I want by design.
X does the job well enough to be invisible to most people. Yes, we need a clean start in order to move forward efficiently (lots of assumptions about computer displays from the 80s no longer apply), but it's good enough for most people's needs.
Why bother with a display server? Some people - like myself - actually use that functionality. It's not part of the design for Wayland. Personally, I think that's a mistake - especially as things become more cloud-based - but I'm obviously in the minority.
its crazy to think that such an old display server is still being used and even defended to this day. X these days feels like a small thing with way too many extensions.
It has many neat little features that will never get implemented into Wayland for security reason (e.g. want to play a video on a button in your spreadsheet app using mpv?). It was fun while it lasted, but the next generation will never be able to experience it.
You can definitely do that as wayland supports sub-compositors. You probably shouldn't, though.
How do you that in wayland? I'm very interested with crazy and useless stuff like this. On X11, you can pass a window ID to mpv with
--wid
, it'll attach the player to that window, even if that window is actually a button in a spreadsheet app.You implement the wayland server interface, launch mpv with the right environment to connect to you, then you take the buffer mpv gives you and compose it onto your window.
New things bad.
I feel like this is the answer to almost any case where many people hate on something.
[This comment has been deleted by an automated system]