GTK dropping X11

Unless I misunderstand something, this is going to hurt the "Switch to X11" solution that fixes so much around here. Not immediately, since applications built on GTK < 5 won't be affected, but in the long term.

That said, I have WAY fewer problems with Wayland when I'm running other distributions (I'm using it right now), so hopefully by the time it matters some of the things that make it so substandard when running Zorin or Tuxedo OS (the two places Wayland has been most painful) will have been updated to the point that it's not as bad.

We already see alot of distro’s jumping from X11 to Wayland. Pop! OS 24.04 uses Wayland only, Zorin OS 17.x offers both but i would not be surprised if they use Wayland only in Zorin OS 18. It’s just a matter of time to see x11 being replaced by Wayland on most distro’s.

Our third notebook which is 12 years old is running great under wayland. Everything works out of the box so far.

Yeah I'm running Wayland on Nobara (no X11 support in Nobara either) without problems, but on the Debian based distros I've tried, Wayland always had a completely intolerable latency between keypress and actually seeing text in some applications. Discord and LibreOffice in particular were basically unusable, and we've seen lots of cases of users here having a problem vanish when switching to X11.

I'm aware many distributions don't include it and many more default to Wayland. I consider removing support in GTK fundamentally different.

Are you using Pop_OS or Zorin on that old notebook? Like I said above, Wayland has always been bad for me on Debian, but I didn't actually try Pop_OS. Something went wrong with the install, it screwed my bootloader hard, and I disqualified it in that batch of distro hopping.

This MR deprecates all of the public X11 backend api, to send a
clear message that this backend is going away in GTK 5.

So, they are not doing this for any actual, technical reasons? :thinking:

1 Like

Deprecate doesn't necessarily indicate immediate removal. I've seen lots of warning messages in stuff about X or Y being deprecated, use Z instead. Those things still worked. I think the deprecation itself is to wave the red flag for devs that in GTK 5, it won't work anymore. That's good planning, independent of the removal of X11 support itself. From the GTK Blog:

It is worth reminding everybody that there is no need to act on deprecations until you are actively porting your app to the next major version of GTK, which is not on the horizon yet.

I've checked a couple of other sites (Phoronix, GTK Blog) and don't see a specific technical reason for the upcoming removal of X11 support. I can only assume they feel Wayland works well enough for a large enough segment of the Linux install base that X11 isn't worth the maintenance.

But there is a reason for it, which was not mentioned. That's what I'd like to know, maybe a percentage of how many users are still under Wayland vs X11? This is completely arbitrary.

2 Likes

Maybe worth setting up a poll of ZorinOS users. X11 or Wayland (or both)?

2 Likes

That could be interesting, but I think Zorin would be a slanted poll given how frequently we advise switching to X11.

Do you use Wayland or X11?

  • Wayland
  • X11
  • Both
0 voters
1 Like

Aw this is too bad, I really enjoyed playing around with GTK widgets. This will make GTK a little less portable amongst Linuxes but at the end of the day they have to make sure they're not stretching their resources too thin trying to cover every single base - and the article mentioned they're working on an Android backend too and accessibilty features for Windows/MacOs. Maybe they are trying to be more multi platform less Linux centric, trying to keep up with Qt?

Pop OS 24.04 (alpha 5) but zorin os 17.2 worked great on that notebook too. The notebook runs so much faster compared with windows 8.1-11 :joy:. Double the speed.

@Aravisian has just responded to somebody having issues with a Docking Station ... culprit? Wayland!

Well, there's a bit more to it than just that.

Much of the success of current working Wayland is due to XWayland patching.
This runs X11 and XServer as a backend - on Wayland. If Wayland is to replace Xserver, cutting out the middle man... This is clearly counterproductive.

The point, of course, is that the developers know full well that is a patch job but hope that by making Wayland the new standard, it will encourage and increase open source support for fixing Wayland to operate as intended, without an XServer.

Which is somewhat amusing since the strongest complaint about X11 is that things were patched - then left that way for years at a time. Why do they think it would be different on Wayland, given that Wayland sat gathering dust for 16 years?
With X11, patching was fine since it restored it to full working order.
But with Wayland, patching by using an XServer utterly defeats the purpose of using Wayland in the first place: To remove the Server in the middle.

Either way, this is pre-planned deprecation for the future, not an immediate dropping of support. It seems more P.R. to me, than an actual action.
"We are writing this down now, because we hope someday it will be true."

GTK is maintained by Gnome (GIMP ToolKit). Gnome in the past couple years has removed huge swaths of what GTK can do

Summary

Toolbar & Related Widgets
GtkToolbar was removed.
GtkToolButton, GtkToolItem, and GtkToolPalette were also removed.

Status & Info Widgets
GtkStatusbar was removed. There is no direct replacement; applications are expected to handle status updates differently (e.g., inline messages).
Traditional Scrollbars

GtkScrollbar was removed in favor of overlay scrollbars (GtkScrolledWindow now automatically handles scrolling).
Applications no longer control the scrollbar appearance, and scrollbars are now hidden by default unless the user interacts with them.

Tree & Icon Views
GtkTreeView and GtkIconView were deprecated.
GtkCellRenderer (used for inline editing within GtkTreeView) was removed.

Action-Based Widgets
GtkAction, GtkActionGroup, and related APIs were removed.

Text-Related Widgets
GtkTextView's features were significantly reduced.
GtkTextTagTable was removed.

Event & Input Handling Changes
GdkEvent API was removed.
GdkKeymap was removed.

Deprecated Drawing APIs
GtkStyleContext and GtkStateFlags were replaced with GtkSnapshot, a node-based rendering system.
GdkPixbuf usage was reduced.

Window Management Changes
GtkDialog lost many of its automatic behaviors.
GtkWindow no longer supports client-side decorations (CSD) by default in some configurations.
GTK 4.2+ (2021-2023)

GtkTreeModel and GtkTreeStore are discouraged.
New GtkExpression-based binding replaces GtkListStore.
No More Stock Items

Stock icons and labels (GTK_STOCK_*) were removed.
Applications must now use GtkImage with manually specified icon names.
Removal of X11-Specific Features

X11-only functions in GDK were removed in favor of a Wayland-first approach.

Custom Drawing Changes
GtkDrawingArea lost direct GDK drawing support, requiring a shift to GtkSnapshot.

in order to prepare it for Wayland, limiting the functionality it once had in order to adapt it to the speedier, but less capable Wayland.
Much of this also relates to Gnomes years long persistently stated desire to emulate Android in touch only activation and no window management.

We definitely can see a very clear trend. And this is remarkably similar to the trends we observed in Microsoft and Windows OS, whereby seizing control of the product, then limiting it, allows the maintainers greater ability to subject the End User to Forced maintainer behaviors and acceptance of maintainer wants.

Now many of us give the warnings - this repeat pattern of behavior that landed us all here in the first place from MS and Windows... and we are often greeted with "Well... I mean... I guess it works. It's fine, I guess."

Here's the problem. Load up your latest Distro that is 100% Wayland only right next to the Older system using X11. Start launching apps. Compare the two, side by side. After a short while, you will begin to notice features missing. Tools missing. Buttons that used to be there - now gone.
You do not even have to do the comparison, just stay up to date with this forum with users complaining about the changes taking away tools - Like the Screenshot ability in Gnome now having integrated the Screentool into the Shell. It's reduced.

Then again: "Well, I mean... I do not really use those tools. So I don't really care."
You are one of Millions of users and of those millions, hundreds of thousands to millions do use those tools, rely on them, need them. No one uses Every Tool. But every tool is used by someone.

1 Like

I put both for the poll. On my main machine I use X11. But on my other machine I never even realized it was using Wayland until recently. But if starting an herbstluft session of course that is X11 too.

I'm voting for X11 since the poll is already here, but I'm more interested in what numbers is the Gnome project working with to make a decision like this.

I was wondering how this would go with cutting out X11 from GTK+, but they did say the time span was like a course of 20 years and if people stopped griping about Wayland and started updating X11 instead, they (GTK) could always undeprecate it. As mentioned here:

Good post, very insightful.

Hey, in 20 years time, Wayland might be great.

But in the meantime, if you remove a bunch of features, then later add them back into the new protocol you wanted (But not all of them), then you can convince people that the new protocol offers users something new that they could not do before. And over the span of years time, that is a lot easier than if you do it when they still easily remember when they could do it on the old protocol until you removed it.

2 Likes

That is an interesting take. The same rationale applies with X11 being extremely popular that many people use and rely on. Why not invest further into it, rather than creating an alternative? I know the reasons they gave, one of the main ones being that it'd make development easier... but it's taken them 16 years to catch on, so I'm not really sure how true that is.

I'm not opposed to having a competing standard. But technical decisions need to be taken based on their own merit from a technical standpoint.

1 Like

Well, I think here are some Things to thought about. Here on Zorin and Debian too is an old Gnome Version in use (Gnome 43). So, the Wayland Implementation isn't so far like in the up-to-date Versions of the Desktop. I wouldn't take that on one Level.

So, in a future Version this whole Implementation will be on a better Level even more. When You take Cosmic as an Example. This is developed Wayland-only. There will be no Xorg Session. Ubuntu plays with the Wayland Session, too. If I remember correctly they made it default in 24.10 even for Nvidia Graphics. Fedora kicked out the X11 Session from Gnome and KDE or only from one of them. I'm not sure about that. But You can install it manually - at this Point.

So, at some Point X11/Xorg will be gone. That will not be too soon - but it will be come. The interesting Thing then will be: We have Wayland and we will use it. And then in the Future will come a newer more modern Standard - and the whole discussion will start again. and then is Wayland in the X11-Position, hahaha!

I would be surprised when they would go Wayland-only. I would expect that first when Gnome drops X11. Zorin 18 should come at least with Gnome 46 from Ubuntu 24.04. Maybe they do the same like on Zorin 17 and take an even newer Version: Gnome 47. I don't think, that they will take the upcoming Gnome 48.

On @Locklear93's Poll, I vote for ''Both'' because I think that is a good Compromise.

1 Like

Not necessarily. This assumes that resistance is based entirely on tradition.
However, looking at software replacement over the years, this often is not the case. The vast majority of the time, software or protocols get replaced with no resistance.

But there are a few notable cases where resistance rises - often quickly - as observers note serious problems.

But assuming that resistance is due to tradition, in spite of the evidence, this delegates those that sound warnings over problems as being simple minded traditionalists that just fear change.

You shouldn't take that Comment too serious. It was more a Joke (obviously not a good one when I have to explain it) which You can see at the ''hahaha!'' at the End. Maybe a Simley would be a better Indicator but I'm not the Type for using Smiley's.