56 comments

[ 4.0 ms ] story [ 98.7 ms ] thread
That's fine, I hadn't even gotten around to adopting GTK4 yet.

> extant issues of Wayland clients and compositors have no bearing with whether GTK5 should drop the X11 backend; file bugs for toolkits, compositors, and the protocols...

Ah yes, that does seem like a sane way to address concerns with dropping Xorg entirely. Even the Titanic shipped with lifeboats, they'd be wise to have a backup in case their "unsinkable" window server breaks on many people's configurations.

Your OSS attitude is so nineties ( when people actually built things who did not break every other year). Their idea of SW is a Titanic with some handles on the side instead of boats.
As a long-time Linux user, I do not understand how everyone still tolerates how Gnome (and Wayland) do things.

Breaking backward compatibility ought to be considered the cardinal sin of open source/free software, and they get away with it too much.

X is 40 years old. Talking about Wayland breaking compatibility there like it's a JS toolkit being dropped after 6 months is a bit silly.

Yeah, compatibility is nice, but not when it means you have security flaws innate to the system, bloat and stuff you never want but have to keep around, etc... Sometimes the positives outweigh the negatives.

Who should be the one who decides this? Nothing personal to you, sir, madame, or they, but I don't want it to be someone with this attitude.

Wayland breaks a huge amount of apps, with no good porting story.

Most of us just want our apps to be able to keep working. Linux is not a place for a wizard in the high castle to disconnectedly architect the future of Linux GUIs.

Mostly, it's the developers and those who pay them. Almost nobody is developing X11 anymore, they've moved on to Wayland. And GTK devs don't want to support it.
The code is still there (FOSS), so you can continue using it as long as you want — and even maintain/sponsor if you like. None of us is entitled to developer time (from others), so if the ecosystem moves and they wish to invest their effort on different endeavors or approaches, we can’t hold them back.
But I've said this elsewhere. Yes, we can criticize what they are doing even if we are not paying them. We can't sue them, we can't take way their money, and that is 100% fair, of course we shouldn't be able to do that.

But yes, I can absolutely say "Y'all are wasting a ton of time with this Wayland way y'all are doing things, you should go fix X instead."

So the answer to "who gets to be the one who decides this", remains "the one writing the code" and "the one choosing what to install", independent of each other.

While it's true no one can stop you telling people they should be working on what you want and not what they find valuable, you sound like a petulant child demanding people do things for you.

Sorry, your name calling here doesn't hold up at all. How they operate directly affects my work. I onboard people to Linux and this Wayland discrepancy is an annoyance I'd rather not deal with.

What I'm doing is pretty similar to dealing with, e.g. a land developer putting up a big shopping center near my quiet neighborhood. I don't have much legal recourse here, but someone who speaks against it isn't childish.

You write off the things other people care about as "pathetic" elsewhere (https://news.ycombinator.com/item?id=31973526) in this thread, your point of view seems to boil down to "things I care about should be tailored to, and other people's cares are worthless", which yes, is pretty childish.
I'll happily defend it.

I believe a free/open source desktop OS that's easy for "regular" people to use is VERY important. One of the "selling" points is "stuff doesn't break, it will work the same way it does today as it will tomorrow." This could improve the user experience for a lot of people, this could get more people interested in tech, this could save a lot of e-waste. Again, this isn't mere ideas for me -- I do this with lots of people all the time.

Now sure, you could get on your tech high horse and say "well, all those newbs should catch up." Yes, I think the people who focus too strongly on comparatively small things like fractional scaling aren't seeing the bigger picture. And that is pathetic.

Except regular people want to be able to watch a video without screen tearing, or use their nice new monitor at a resolution that suits their needs without the UI being tiny/huge. It doesn't matter if the user experience is consistent, if it is consistently not what they need, they'll still switch away.

Not breaking stuff is a great goal, but it is a trade off, there is a cost to supporting the old, and it isn't always worth paying. Just sounds like your priorities don't line up with the people actually paying and doing the work. Your attempts to convince that it's a better option by telling them they are stupid actually are misguided if you think that'll actually work.

The thing is, this story feels like BS because X never broke, in all this time. Devs can say all they want, but where's the breakage?

It's been what, a decade? And X still works fine. All I hear is this pathetic "fractional scaling" and "screen tearing!!"

X has been broken for decades.

For example, I’ve never managed to get it to be tear-free, on various hardware and software combinations over time. It got infuriating.

It’s part of why I switched to macOS.

Using NVIDIA drivers this was never a problem. I only ever encountered these issues using open-source drivers.
Of course it's not broken. The architecture only prevents it from being as good as modern desktops. Think screen tearing, multi-resolution multi-screen support, plug and play support for multiple GPU's, monitors, refresh rates, color spaces and input devices.

Those are all functions macOS and even Windows have had for years (ever reloaded your graphics driver without shutting down applications? Windows can do that since Vista...) Since X does not have the right architecture for those kind of features it's unfit for modern desktops. Also, lots of X functions are no longer necessary or even practical to use anymore. Why is Windows remote desktop useable with an order less bandwidth than most X clients. (of course that's all the clients fault and not the X server, but that doesn't matter for users does it?)

If you want a vintage Unix workstation lookalike running 4 xterms and xeyes on a static desktop PC with a single ethernet connection X will do fine. But why force other people to look at the world in such a limited way?

> Of course it's not broken. The architecture only prevents it from being as good as modern desktops. Think screen tearing, multi-resolution multi-screen support, plug and play support for multiple GPU's, monitors, refresh rates, color spaces and input devices.

I mean, most of those things aren't solved problems on Wayland either. The only thing we "solved" was screen tearing issues (fixed in most x11 compositors anyways...), configurable DPI is still extremely buggy, extended color spaces haven't even started development afaik and Xorg's input handling is still architecturally fairly sane. The 'problem' is that these hacks we used to use on x11 still feel better to use than their Wayland alternatives. Plus, once you consider all of the functionality, software compatibility and desktop environments we sacrificed for this meager victory, it seems utterly pyrrhic. Nothing of value was gained for the overwhelming majority of the software ecosystem.

> Since X does not have the right architecture for those kind of features it's unfit for modern desktops.

I agree. Consider the following: Wayland doesn't feature support for AppIndicators, which both MacOS and Windows have had for... 30 years. Is that befitting of a modern window server? Nobody's asking them to support it in GNOME, but rather to offer simple hooks in the code for the vast majority (eg. KDE, i3wm, Sway, Budgie, GNOME 3, MATE, LXDE, XFCE, etc.) of desktops that would want that functionality? It's another anti-cooperative move on the behalf of GNOME's development team, which is why it's no wonder that the rest of the community has abandoned the prospect of working with them. x11 needs to die urgently, and watching Wayland fail to replace Xorg, one of most ill-concieved software systems ever designed, makes me want to pull my hair out.

> If you want a vintage Unix workstation lookalike running 4 xterms and xeyes on a static desktop PC with a single ethernet connection X will do fine. But why force other people to look at the world in such a limited way?

Be pragmatic. If GNOME went Wayland-only tomorrow, 90% of the Nvidia systems would break overnight, that's not just ostracizing "Unix workstation lookalike" users. The reason Xorg is still around is obvious: Wayland simply isn't complete. The vast majority of desktop environments don't support it. The vast majority of desktop applications run worse on it. I despise x11 for being as crusty and stiff as it is, but I can run it on all of my systems without any problems. I can't do that with Wayland, and until I can, I have no reason to switch. x11 is superior for my workflow, full stop. There's no appeal to use it when only one or two of my computers actually run it well, and the rest have horrible showstopping bugs.

>configurable DPI is still extremely buggy, extended color spaces haven't even started development

Those have started development. They're not done yet. Compare to X11 where no one is working on fixing those things.

>Wayland doesn't feature support for AppIndicators

App indicators are not a wayland or X thing, the API has been in dbus for some 10 odd years now.

>but rather to offer simple hooks in the code for the vast majority (eg. KDE, i3wm, Sway, Budgie, GNOME 3, MATE, LXDE, XFCE, etc.) of desktops that would want that functionality? It's another anti-cooperative move on the behalf of GNOME's development team, which is why it's no wonder that the rest of the community has abandoned the prospect of working with them.

I have absolutely no idea what you're trying to say here, all those other desktops do already have their own way they implemented app indicators. For GNOME it is available via an extension. There is nothing anti-cooperative about this and nothing was abandoned.

>Wayland simply isn't complete. The vast majority of desktop applications run worse on it. I despise x11 for being as crusty and stiff as it is, but I can run it on all of my systems without any problems. I can't do that with Wayland, and until I can, I have no reason to switch. x11 is superior for my workflow, full stop. There's no appeal to use it when only one or two of my computers actually run it well, and the rest have horrible showstopping bugs.

I don't think this matters much, most of them are very small niche projects in the already small Linux niche. If you found bugs then report them, there is no other way they get fixed. Staying on x11 forever is not a viable option. Wayland probably won't ever be complete, but x11 is both incomplete and abandoned.

I feel like there was a real failure to engage here, which is a shame because hating both of these window servers is something that I could do all day. However, I'll leave you with this:

> Staying on x11 forever is not a viable option.

"Staying on GTK2 forever is not a viable option."

"Staying on GTK3 forever is not a viable option."

"Using native packaging forever is not a viable option."

"Using Linux kernel v4.19 forever is not a viable option."

I wonder how many times I've heard this mantra repeated before...

For one, your timeline is way off. Within the time period of GTK2 and GTK3 that would be more like Linux kernel v2.6 and v3.19. Yes there are still some projects I know of using these, but for the most part they're not viable, certainly not if you want any of the new features that will probably not be backported. The mantra holds true for most. The tiny group that it doesn't hold for is on the hook for paying support costs indefinitely.

Right now, native packaging isn't a viable option for a lot of things and it hasn't been for some time, have a look at the success of Docker.

It's not chronologically sorted. I've heard this argument many times though, and it has failed again and again. The only time technology has seamlessly replaced a predecessor on Linux is when it reaches feature parity with whatever it usurps. I have no problem with PipeWire replacing Jack/Pulse. Both of those frankly suck, and PipeWire provides their functionality as well as it's own featureset that puts it heads-and-shoulders above the alternative.

Wayland is not that. People are welcome to defend it all they want, but this futuristic technology won't replace everyone's setup. It's not inevitable. They made that choice when they dropped support for hardware that x11 handles without issue. My point is that people have used outdated technology for more petty reasons than just "it doesn't work on my hardware" before. If Wayland wants to be minimal and petty about their featureset, fine. They'll have a minimal and petty community to go along with it. Nothing is inevitable on the Linux desktop though, I'd hope most people on HN of all places would know that by now.

>I've heard this argument many times though, and it has failed again and again

I am not speaking of you personally, this is in terms of distros as a whole. It has definitely not failed there, they will drop these packages when they become stale and it becomes too burdensome to support them for little benefit. Like, I don't know any common non-niche distros that are still shipping a 2.6 kernel. You can attempt to fight them but it will probably be futile, few have any reason to maintain that.

>Wayland is not that. People are welcome to defend it all they want, but this futuristic technology won't replace everyone's setup. It's not inevitable.

>Nothing is inevitable on the Linux desktop though, I'd hope most people on HN of all places would know that by now.

Not true, death is inevitable. What is really inevitable is that x11 will fade away. Everything dies eventually. The question is what will replace it when that happens, if not Wayland then something else that probably has worse hardware support. We went through this already with the drama around Mir. Or maybe the Linux desktop will just die because it was always obscure, unpopular and fragmented with a severe lack of developers.

>My point is that people have used outdated technology for more petty reasons than just "it doesn't work on my hardware" before. If Wayland wants to be minimal and petty about their featureset, fine. They'll have a minimal and petty community to go along with it.

I don't see why this point is significant to anything. Using outdated technology for similarly petty reasons is just furthering the same problem and putting yourself in the same petty communities.

> Or maybe the Linux desktop will just die because it was always obscure, unpopular and fragmented with a severe lack of developers.

I certainly believe that this is more likely than everyone transitioning to Wayland. And, when it inevitably does, I don't think the majority of people are going to pick Wayland to run their legacy systems on. If both desktop servers stopped development today, I reckon they'd have to pick the most-finished option.

I don't think those people with legacy systems running on X11 will pick Linux at all. They will probably use XQuartz, or one of the many X servers that runs on Windows. BSD may even work for them. The only reason to use Linux is for dependency on some kernel features, X11 can be used on any other OS kernel.
So it works fine for you, but not for others. For some, screen tearing and fractional scaling are important issues, just because you don't care doesn't make them "pathetic".
X has no provision for untrusted programs running with access to the X server. That design is naive by modern standards, but whether that's a "flaw" is a matter of interpretation. It would be nice if there were a model for running individual applications as application specific users or subusers, but Wayland doesn't solve that problem, either.

X being 40 years old has nothing to do with when it's reasonable to break compatibility. The amount of time that a suitable replacement has been around does matter; Typical times are 2-5 years from a suitable replacement being available to deprecation, which is to say that we'll be able to deprecate X in 2040 when someone's built something that actually solves user needs, unlike Wayland.

> Yeah, compatibility is nice, but not when it means you have security flaws innate to the system, bloat and stuff you never want but have to keep around, etc... Sometimes the positives outweigh the negatives.

They shall fix the flaws not create new ones. Why do i need GTK 1, 2, 3 and 4 on my system ?

There's nothing stopping motivated developers forking and continuing the backwards compatible version. If there isn't anyone willing to do that then perhaps it's an indication that backwards compatibility isn't the most important thing, but other concerns are also factors.
> As a long-time Linux user, I do not understand how everyone still tolerates how Gnome (and Wayland) do things.

Considering how many people have abandoned the GNU/Linux desktop in favor of MacOS, I'm not convinced "everyone" tolerates it.

But it's also unclear to me how you would even quantify this. What does being intolerant in this context look like, other than just not using gnome? Do you expect gnome users to picket and/or burn down the homes of the developers?

It's kind of a ridiculous statement, and I feel like it's demonstrative of the kind of asshole entitlement FOSS users often exhibit instead of say, getting involved to influence the direction of upstream development.

> Considering how many people have abandoned the GNU/Linux desktop in favor of MacOS, I'm not convinced "everyone" tolerates it.

Abandoning GNU/Linux in favor of macOS for political reasons, specifically as a reaction to Gnome, makes no sense to me. The things that frustrate people about Gnome (low configurability, highly opinionated design, low interoperability or deliberate incompatibility with other ecosystems) are all things that are very much present in Apple software. Even other parts of this stack, which it is insinuated emanate from the same overbearing Red Hat influence (systemd, PulseAudio), were inspired by macOS on a technical level.

I understand macOS has other strengths, but idk why anyone would see it as a refuge from the perceived problems with Gnome, systemd, Wayland, etc.

Gnome has become objectively worse, much worse in fact compared to the version that I have used regularly. My desktop runs Windows now and if I happen to use it for work I will prefer to remotely connect to it, so that I don’t have to deal with whatever the Linux desktop has become.
It has become worse for you; for me as a user it has become incredibly smooth for my use case, requiring literally no tweaking/toggling whatsoever to have a decent experience out of the box, which definitely wasn't the case for me 10 years ago.

So what I want to say is that it's subjective, don't say it's worse like some objective fact, when there are many people who don't share your opinion, just like there are many people that never liked Gnome (not now, not before), and they're all correct in that it's mostly about what works for each individual and that's it.

I mean, the unfortunate thing is that we don't have something closer to "voting" in this space. I very much do not believe that one must be a knowledgable dev to have an expressible opinion here.
> Breaking backward compatibility ought to be considered the cardinal sin of open source/free software, and they get away with it too much.

It depends?

It's not like there is any apps for linux desktop. Who cares if you break backward compatibility.

This might be Wayland's killer app. I usually say the only reason I'd ever use wayland is when Mint makes it default.

Otherwise, it's cool and all, but it's not a complete spec by itself since it leaves stuff like screen recording to implementations.

When distros are confident enough to say their implementation is ready, I'll accept it, till then, it doesn't seem to have any real big new features besides the secure isolation.

Isn't all screen recording an implementation ?

Edit: I do OBS screen recording.. didnt know it was such a big deal. Fedora 34,35, 36 ish ? has it working, but I imagine that is pipewire + obs. Its pretty easy.

Wayland doesn't specify the APIs required to support screen recording, so each Wayland server implementation has to decide if/how to offer its own such interfaces. This basically means it's up to each desktop environment, although there are now some shared implmentations of this and other features in wlroots.
Screen recording is out of scope for wayland. Each server doesn't have to decide anything, basically every desktop working on this has converged on using pipewire for screen recording.
Ready to just move away, wholesale, from anything these developers are doing, at this point. Dropping features, ruining backwards compatibility, etc. should be seen as instability and unreliability.
Actually, GTK 4 is already a mess on X11, try to move/resize the window to see the window tear, flicker and misrender.
Are there any important programs that rely on GTK for their GUIs? We should probably start porting them to Qt or something now, since I think there's a pretty good chance that Wayland still doesn't get full feature parity with X11 by the time all prior versions of GTK are EOL'd.
GIMP still does. But it was on GTK 2 until fairly recently.
Ok, I'll stick to qt then.
Who's to say Qt won't drop X11 functionality also?

Wayland is the go-forward display stack for Linux. Get with the program or get left behind.

> Who's to say Qt won't drop X11 functionality also?

Corporate users. There's zero incentive to cut functionality out of a commercial library, so they'll probably gladly support Xorg until their customers stop paying for it.

Their big corporate users (mostly automotive) are on Wayland since ages, which is far easier for them than for a regular desktop user as they have a very narrow feature-set to support and have full control over what's required.
I think you grossly misunderstand who's paying for the Qt library.
Obviously it's not anyone who is willing to pay for maintenance of the X server and all the X libraries. If those stagnate and become broken, then they will likely remove the X backend.
Qts design supports many window targets and they're not going to desupport one with millions of users.
It's an entire extra code path they have to maintain. If they could tell those millions of users "for God's sake, it's 202x, use Wayland instead" and remove that entire code path, you bet your ass they will.
Since they've written all the tests already and have many billions of hours of execution, that sounds unlikely. And if you look at the history of how QT has supported things it seems very improbable. I would expect QT to support x11 for another 20 years.
I don't expect X11 to have any maintainers or contributors for another 20 years...
I don't see why we wouldn't make a Wayland server that runs on top of X, as a compatibility layer.

It seems like it would be the target of a lot of disapproval, though.

If it were to be, GTK5 would be de-facto GNOME only. At that point GTK development would become forked.