Since a number of GTK developer came together at FOSDEM, the project figured now was as good a time as any to give an update on what’s coming in GTK. First, GTK is implementing some hard cut-offs for old platforms – Windows 10 and macOS 10.15 are now the oldest supported versions, which will make development quite a bit easier and will simplify several parts of the codebase. Windows 10 was released in 2015 and macOS 10.15 in 2019, which are fair cut-off points, in my book.
GTK 4.18 will also bring major accessibility improvements with the AccessKit backend, giving GTK accessibility features on Windows and macOS for the first time, which is great news. Another major new feature is the new Android backend, which, while not yet complete, will allow you to run GTK applications on Android. Do note that this is experimental, so don’t expect everything to work without any issues quite yet.
Lastly, the news that everyone was freaking out about over the weekend: the X11 backend has been deprecated, and will be removed in GTK 5. This freaked a lot of people out, but note that this doesn’t mean you magically can’t use GTK 4 applications on X11 anymore – it merely means that X11 support will be removed in GTK 5, which doesn’t even exist yet, and with GTK 4 being supported until GTK 6 is released, people using legacy windowing systems like Xorg will be fine for a long time to come.
As the GTK project notes on Fedi:
The X11 backend being deprecated mainly means that we’re not going to spend time implementing new features, like dmabuf, graphics offloading, or Vulkan support. X11 support will still exist until GTK4 is EOL, which will happen once GTK *6* is released. We’re talking about a 20 years horizon, at this point…
[…]Of course, somebody could show up tomorrow, and implement everything that the Wayland backend does, but for X11. We can always undeprecate things. We are not holding our breath, though…
↫ The GTK project on Fedi
This is the right move, and I’m glad the GTK project is doing this, and is giving everyone ample time to prepare. A lot of people will still freak out, get mad, and scream bloody murder at certain individuals in the wider Linux community, and those people are, of course, free to start working on Xorg. Like the GTK developers, though, I’m not holding my breath, because despite years of excessive Wayland hate, not a single person has stood up to do the work required to keep Xorg going.
If they had supported just one version prior (MacOS 10.14 Mohave), they wouldn’t have thrown under the bus the people still using the last version of MacOS that supports 32-bit applications (such as Photoshop CS6).
Thom Holwerda,
While I welcome progress on wayland, there’s been a very serious problem with this very argument that I don’t think is being properly acknowledged: X11 was the framework that worked while wayland was the broken one. Thus the onus was on wayland devs to step up, not X11. My hope is that with with the next major debian release everything with wayland is properly fixed so that I am able to convert, but up to this point a lot of wayland fans were promoting a broken solution over a working one. It’s sensible to use what works.
This is one of the reasons why abandoned Desktop Linux btw: “Use this new thing that barely works or this ancient thing that doesn’t have the features you want”. We’ve been there before with Systemd vs Initd and PulseAudio vs ALSA. At least with Windows, when we moved to WDDM, we moved to WDDM, you didn’t have WDDM shambling for years with incomplete or buggy features or poor backwards compatibility with XPDM, it worked satisfactorily from day 1 and replaced the old thing in new versions of the OS instantly.
That said, Wayland is pretty mature nowadays, what exactly is “broken” for you?
kurkosdr,
I hear you, but I feel MS are guilty of shoving unwanted changes on users too… I’m not a BSD user, but I think they have a leg up on both of us, haha.
The two issues holding me back were screen glitches and the loss of desktop sharing.functionality. Initially I thought it was hardware errors until I switched back to X11 and the glitches went away. This was with KDE and nvidia, neither of which had received much wayland love.
I heard that KDE made a lot of progress towards the end of 2024 and the new version of KDE 6 in debian testing may fix these problems, I am waiting for stable though, debian testing has it’s own issues.
https://wiki.debian.org/DebianTrixie
https://wiki.debian.org/Plasma%206
Sure, but when Microsoft announces that a certain piece of OS infrastructure is replacing another, it’s final, there is no back-and-forth.
Nvidia was one of the last clinger-ons to X.org but recently promised to show Wayland some love, have you tried it again recently? But anyway, that’s another good thing about Windows: Once Microsoft says: “provide WDDM drivers” then every GPU vendor better do that or risk losing massive amounts of marketshare.
Back on topic about Desktop Linux, I assume you use the proprietary Nvidia drivers, right? Everything else is “at you own risk”.
kurkosdr,
I know it is a subjective choice, but personally I am quite glad I got away from microsoft at home.
I think it was October or so. I’m planning to do a full reinstall with the next debian stable update, the more bugs they fix before then, the happier I’ll be 🙂 For example, I hope they fix the SMB regression in debian testing listed in my link earlier.
I have no choice since I want to use CUDA. The Nouveau FOSS drivers exist, but you loose a lot of features and the performance is worse.
@Alfman I’ve just in the last week or so be testing some early release for RP5 which claimed to fix the RDC issue with Wayland, but zero joy, further more it seemed to break some of the 3rd party utilities.
The problem has changed over time, I use to have issues establishing connections that then dropped, now at least I can get a connection but they still get randomly dropped for whatever reason, you can re-establish easily enough which is an improvement but do this dozens of times a day and it wears pretty thin very very quickly. At least that’s my experience. With X11 I connect or reconnect basically at reboot.
Alfman,
The love story between Linux and nvidia is very well known. Linus himself had some very rosy word choices for them:
https://www.youtube.com/watch?v=tQIdxbWhHSM
kurkosdr,
Microsoft almost never breaks the user space though. You can still run programs from very early versions. I even remember seeing a video where the person started with Windows 1.0 and upgraded each individual release up to I think 10 (or maybe 8.1) and that Windows 1.0 programs still worked.
To be fair, Linux kernel also is religiously fanatical about keeping compatibility, and if you have a very old a.out that was statically linked, it should still work.
Linux distributions and libraries on the other hand… they would pull the rug under you without notice.
@Alfman
Both KDE and NVIDIA are pretty nice on Wayland these days (if you are up-to-date). If you are relying on Debian Stable, you will probably get KDE Plasma 6 in summer or fall of 2025 which defaults to Wayland and works well, However, there is some risk your experience will be limited by LTS versions of the NVIDIA drivers (something like 535). You really need 550 or better. Worst case, you could be waiting until Debian 14 in 2027 for a good experience.
My primary distro is currently shipping with version 570 of the NVIDIA drivers. You and I are going to have different opinions about Wayland on NVIDIA.
Wayland is under active development X11 is not. No one is actively working on it.
Bill Shooter of Bul,
Yes, I’ve heard it a hundred times, but please understand that does nothing for a user who experiences that wayland is broken and x11 works.
I’m not someone stuck on doing things the old way. X11 has been a bloated mess for a long time and as a developer I appreciate the opportunity to clean up the cruft. I know wayland is under active development and I applaud that, but at the same time users have been complaining about wayland breaking features since the 2010s. Every single time I’d hear the same argument “no one is working on x11, everyone’s working on wayland, you should be using wayland”. I’d think “Great, let me try it now” only to discover it’s still broken!
I’m for wayland and I am glad it’s caught up. I still think the linux community should learn to do a better job seeing things from a user’s perspective.
The Wayland devs, who to my understanding are the only ones who have also been maintaining X11, are under no obligation to keep X11 working while they work on the thing they want to be working on, which is Wayland. None, whatsoever, no matter how incomplete Wayland may or may not be. There is this weird entitlement on this one transition. I don’t get where that comes from. The developers of Wayland don’t even owe anyone a working Wayland, let alone a working X11.
It already works. There’s no need to fix what isn’t broken. It’s wayland that needed fixing for a long time. I don’t understand why this is being made out to be such a controversy.
> There is this weird entitlement on this one transition
I mean, I think an end user is in fact entitled to assume that Wayland will work for common use cases on a typical system, and Wayland has been very, very spotty in delivering that outcome for many users.
The problem with the X11-Wayland transition has been the tone-deaf insistence that everyone immediately upgrade to something that, for many years, wasn’t actually fully functional (and for many users – NVIDIA users, for example – wasn’t functional *at all*).
The issue hasn’t been entitlement from users, it’s been hubris from the devs. If the messaging on Wayland had more consistently been ‘We’re excited, it’s the future, but it’s very experimental at this stage, please no one switch your distros yet, give us time’ then this whole hubbub wouldn’t have happened. Instead, we’ve had years of pretending Wayland is ready, when in fact it could barely run on the most common graphical hardware out there (and the devs were clear that this is *your fault* for daring to use ordinary, common hardware – remember the ‘–my-next-gpu-wont-be-nvidia’ flag for sway? You should somehow have divined that Wayland support for Nvidia was poor. User error, WONTFIX, closed, next).
Cal,
Part of the friction might stem from interpreting “wayland doesn’t entirely work for me yet” to equate with wayland hate. I strongly doubt there are many who actually hate wayland. Almost all of us have indicated that we want wayland to work for us. We have different standards and that’s ok, we should still be able to get along.
Maybe the state of the world is turning every discussion into hair-trigger topics where the slightest differences get amped up into divisive issues for no logical reason. Internet temperatures are too high…I blame e-global warming.
Alfman,
> Part of the friction might stem from interpreting “wayland doesn’t entirely work for me yet” to equate with wayland hate. I strongly doubt there are many who actually hate wayland.
Agreed. I actually use Wayland, despite my criticism of its rollout. But for a long time my daily driver was a laptop with an Nvidia GPU, so Wayland was just not an option at all, nor was swapping out my GPU.
Wayland *mostly* works for me today, on an AMD GPU, though application support for HiDPI on Wayland is still very mixed. I’m constantly setting env flags everywhere to get applications to work correctly.
De facto, after ten years as an unstable Alpha, Wayland has now entered Beta. Power users can daily drive it, but I wouldn’t yet suggest it for anyone non-technical. It will get better though, and I wish it the best.
I agree with this 100%. X11 has always just worked for me, there was nothing to fix in my eyes because it’s mature, stable, and almost as old as me. The new things Wayland is bringing to the desktop are great in theory, but they aren’t fully baked yet. I still can’t use Krdc under Wayland, I have to either fall back to X11 or use Remmina, which shouldn’t be the case if Wayland is “ready”. Also, using Wine to play certain Windows games is also broken in Wayland (on fully AMD hardware); therefore, at least for me, it isn’t ready yet.
I do look forward to the day it is ready for mainstream Linux desktop use, though I have a feeling the BSDs will stick with X11 for the foreseeable future. Given that OpenBSD and NetBSD maintain their own forks of X11, that’s just fine and works out for everyone involved.
We will keep working on our version of Xorg, fixing things, and upstreaming where possible. Given we’re just a few volunteers and not Intel or Red Hat, though, and aren’t focused on Linux (like most Xorg developers these days), we’ll continue being ignored in mainstream discourse. 🙂
Given the direction GTK has been heading, I’m expecting to see fewer and fewer non-GNOME applications choose it as an option in the future. Even those that still do are mostly using it as a legacy of the gtk2 days, and are still stuck on gtk3. I’m not too worried.
Yeah modern GTK4/Libadwaita is not my thing. Greatly prefer “classic” GTK applications without CSDs running on Xfce.
The BSDs are great places to run such setups.
What are you going to do when all new apps are GTK4/Libadwaita? Using Desktop Linux won’t save you from this trend to make desktop UIs look like frickin’ tablet UIs.
I use KDE. Xfce is just a fun sidegig on a FreeBSD box I have,
I do not have the numbers but I feel like fewer apps transitioned from GTK 3 to GTK 4 than went from GTK 2 to GTK 3. The move to GTK 4 to GTK 5 may be even more protracted or not happen at all for some apps. GTK 5 is likley going to be fairly tightly aligned to GNOME. How attractive GTK 5 is as a toolkit for apps devs will really depend on what market share GNOME has by then.
Glad I deprecated GTK after gtk2, the thing’s moving too fast for me, I don’t want to have to update my software’s UI every few years.
GTK 5 dropping X11 is really not a big event. I mean, symbolically it is a big deal but the impact felt will be minimal.
First, by the time GTK 5 drops, everyone on Linux will be using Wayland. Yes, I know SOME won’t but it is over half already. It will be 99+ percent by GTK 5.
Second, you can run Wayland applications on X11. So, even if you ARE running X11, you could still run that GTK 5 app you need.
Third, GTK is becoming an increasingly GNOME-aligned toolkit. GNOME will not even run on X11 when GTK 5 comes. Other GTK desktop environments are sticking with GTK 3. I would not be surprised to see more and more GTK apps do the same. GTK 5 may truly be a mostly GNOME toolkit. So how much GTK 5 matters will depend on GNOME market share by then.
All that said, I do not think that GTK 5 is going to be the only toolkit that drops support for X11. Qt may take a bit longer even if KDE ditches it because Qt gets used to target things like embedded that stay in place a lot longer than desktops. We will see.
As toolkits drop X11 support, it is going to put pressure on non-Linux systems to move to Wayland as well. FreeBSD, OpenBSD, and NetBSD are all adding support already. Even Haiku supports Wayland. That means that X11 will be relegated to the smaller BSD systems, the Solaris derivatives, and X11 desktops that ceased development years ago (like Irix). The ancients systems are not going to be running modern apps anyway so they do not really matter.
Remember though that the desktop environments will drop support for X11 long before the toolkits do. KDE and GNOME will both drop X11 support. If you want your OS to run those environments, you will need to add Wayland support. And, as above, that is what systems are doing.
By the time GTK 5 lands, there may be very, very few operating systems under active development that do not support Wayland.
The big news is when projects like NetBSD decide they do not have the resources to support both X11 and Wayland–so they drop X11 support. It is going to happen.
LeFantome,
I’m curious, how does that work? Are you talking about something like this?
https://jan.newmarch.name/Wayland/RunningWayland/#heading_toc_j_1
This is old, is there a different way?
That’s controversial, I don’t see this group being as keen to tie themselves to other’s tailcoats. X11 might keep working there long term, we’ll have to see what happens.
IMHO the main issue is that “support” isn’t a binary on/off thing and it’s important to consider how users can face different hurdles. For me I’ve always given wayland a shot, reverting to X after experiencing problems. That’s still my plan next time I install debian stable. My hope is that all my problems are fixed. If not I’ll end up going back to KDE or XCFE running X11.
@Alfman
If you want to give Wayland a shot, I definitely recommend starting with Plasma 6. If it does not work for you, fair enough. If it does, you could try XFCE and see how it fairs. I prefer XFCE myself but KDE is way ahead on Wayland support.
As for running Wayland apps on X11, the answer to your question is essentially yes. There are many Wayland compositors that can run with X11 as a backend. I would not use Weston myself. If I only had one or two apps that “needed” Wayland, I would probably use Cage:
https://github.com/cage-kiosk/cage
I completely agree that the BSD world would likely prefer to stick with X11. It is just not going to be viable longer term and they know it. Operating Systems are all about applications. FreeBSD did not add the Linuxalator or OCI container support because they like those better than their own kernel API or Jails. Good news is that Wayland is actually better (for everyone eventually). But, if I was rocking FVWM on my BSD, it may take a long time to convince me.
Eventually, there are going to be Wayland compositors to fill every X11 Windows Manager niche with more than 5 users. There are already a dozen tiling compositors and a Window Maker clone. There are also many options on Wayland that do not exist for X. I fully expect a TWM compositor at some point!
LeFantome,
I know you can run whole wayland desktops as a window inside of an X desktop, but from what your comment perhaps I wrongly assumed you might have known a way to run wayland applications as X11 windows (in the same vein as xwayland but reverse).
On a related note, doesn’t wsl2 depend on X window forwarding to run graphical linux applications on windows? Does anyone if this works with wayland or does this feature strictly depend on X?
Sometimes it’s much nicer to be able to spawn applications on the local display rather than on a VM screen inside a window So many screen sharing technologies like teams/rdp/vnc/virtual kvm/etc, end up with “recursive MDI window syndrome” where desktops scroll inside of each other and hot keys getting mangled.
Well, I feel it’s a controversial assertion. It’s already working and I don’t see maintaining something stable being a huge deal. Frame buffers are already abstracted so even adding more shouldn’t be a big effort. The bigger problem will be software compatibility over time. This could end up being a bigger problem for BSDs. We’ll see what happens.
@Alfman
No sorry. I do not know of an “Xwayland” in reverse. It is not a problem I have had to solve. To make sure you caught it though, Cage provides a “kiosk” that runs a single app. So, “whole wayland desktop apps in a window” is just going to look like a lone application in a window to you the desktop user. You would have to run Cage under each Wayland-only app you wanted to run. Not perfect but enough to keep people on X a bit longer if they only need one or two Wayland-only apps. I am sure it could be made to work fairly seamlessly. If I thought there were going to be more X users in 2 years, I might try to make something more seamless myself.
My comment on BSD is certainly controversial and, unfortunately, I already rubbed a NetBSD guy the wrong way. It was not meant to. Even in my original comment, I was assuming a timeline that extends far into the future before a BSD drops X. That said, I do think it is going to happen eventually. It is not something I feel I have to be right about though. Just an opinion. As you say, “we’ll see what happens”.
Good question about WSL2. I have not used it in a while so I cannot say.
WSL2 supports Wayland and your wayland apps show up alongside your native apps. You can launch them from the start menu and even pin them to the taskbar with a right-cllick.
There’s even a virtual driver to enable 3D acceleration, available from Microsoft.
Drumhellar,
Good to know.
I recently said that WSL2 makes linux compatibility stronger in windows than macos.
https://www.osnews.com/story/141633/apples-macos-unix-certification-is-a-lie/#comment-10446912
WSL2 does more than just run linux in a VM, it’s a proper desktop integration! I do wonder how microsoft achieved this and if their code might be repurposed elsewhere. I find this feature very nice to have and yet none of my linux VM software supports this (unless I use X11 forwarding, which is a function of X11, not a function of the VM software).
Do you know if it works better than virtualbox’s 3d acceleration? I wasn’t very impressed with it’s performance. Ok for casual apps but not good enough for virtualizing gaming desktop as I had wanted to do.
>The big news is when projects like NetBSD decide they do not have the resources to support both X11 and Wayland–so they drop X11 support. It is going to happen.
You’re showing you don’t know anything about our project.
@nia_netbsd
Because you will NEVER abandon X11? Maybe. Time will tell. You would know better than me. I meant no disrespect. And I can certainly see the project maintaining a fork of X11 for a long, long time.
That is why I said that it would be “big news” if a project like NetBSD were to drop X11, as opposed to GTK 5 dropping it (which I think is not such a big deal).
But X11 will still require maintenance and work to keep it working on new hardware. Somebody will have to do that work. Perhaps it will be you.
Perhaps I do not know much about NetBSD. I do know that one of the project founders started a post saying “The NetBSD Project has stagnated to the point of irrelevance” 20 years ago. So, I am not betting against you.
Again, no disrespect. I think you may have misunderstood what I was saying (or at least the intent).
Even GTK developers understand we are not there yet, Wayland has not yet reached maturity. Otherwise the prognosis wouldn’t be after 20 years we predict that in next 20 years we will be able to drop X11/Xorg support from GTK. For Wayland to reach maturity what needs to happen first is consolidation in terms of Wayland compositors, manifesting itself in a library being considered an integral part of GNU/Linux stack. After desktop environments and eventually i guess Android can start utilizing it, before all that happens Wayland is a pipe dream. As for Android back end. That would be marvellous but as history shows such efforts usually don’t end up being useful beyond some showcase. Ideally the support would be so good, that not only would Android migrate to using a standard GNU/Linux Wayland compositor on top of that it would move to GTK 6 as a default toolkit. For something like that to happen in the next 20 years, something would need to change drastically. That is with current state of affairs such goals are likely not doable. Said that i don’t see a reason on why such ambitious goals couldn’t be achieved in the next 20 years if we, as humanity, would make it our goal. First obstacle being humanity ATM just doesn’t care. After fixing that, then a sustainable funding model would need to be set in place. Either by governments of the world or by laws mandating big IT companies to fund it, that is independent development of the libraries they use and rely on and they currently don’t give all that much back beyond some peanuts. Like with AI
Do we think the GTK devs are asking themselves if Wayland is ready? I do not think they are (regardless of how we might answer that question).
At this point, and certainly by GTK 5 I expect, the mission of the GTK project is to be a toolkit for GNOME. If GNOME does not need it, GTK does not either. At least, that is how it appears to me. GTK 4 is already hostile to non-GNOME desktops. I mean we already have projects like XApps and COSMIC that are a direct reaction to that (COSMIC being Wayland-only by-the-way).
The flagship GNOME distro, Fedora, already ships without X11 installed at all. It is Wayland only. That is not in 20 years. That is today. I am talking about the stable version of Fedora currently available for download.
You can still install X11 on Fedora if you want. For how long? It will not be long before it is not possible to use GNOME with X11 at all.
In other words, GTK no longer needs support for X11 to meet its own goals. That is the case today, not in 20 years. That is why they are removing support for X11 in the very next version. That is the version they are building now. Sure it is going to take them a while to create GTK 5. But they are working on it now and they are already removing support for X (today).
It is not just Fedora of course. Ubuntu 24.10 installs Wayland by default–even for NVIDIA users. That is not in 20 years. That is last year.
Between just those two distros, we are probably at two-thirds of Linux desktops. I do not use either one of them but that does not change the numbers. And they are hardly the only ones. EndeavourOS, an Arch, installs to KDE Plasma on Wayland by default. New distros like Chimera Linux and SerpentOS are Wayland-only by default.
Regardless of our opinions on Wayland maturity, I do not understand at all pretending that we are waiting around for it to be “considered an integral part of” the Linux stack. When we exit 2025, the majority of Linux desktops will not even have X11 installed. New users to Linux will not even know what X is. They will call it Xwayland. I am not stating a preference. I am just acknowledging reality.
If you will read the original news carefully there is a remark in the quote, about 20 years horizon.
@Geck
I did not completely follow what you were getting regarding Android and GTK 6. It appears you noticed though that you will be able to build Android apps with GTK 4.18.
Xorg works for me. Wayland doesn’t, more specifically H/W acceleration on RTX4070, because reasons. I don’t care if Xorg is developed or not. Synergy didn’t work up to some time (it’s fine now), which means Wayland sucks, Xorg doesn’t. When Wayland supports everything X11 does, then uses will switch just like that and never look back. What does Wayland solve ? Does scaling work and does it work per display (it sux on X11) ? Is accessibility supported at least on X11 level ? Does HiDPI (4K and 8K) work flawlessly without applications glitching and scaling however they feel like it ? Does it not flicker ? Does it support input compositing ? (You can’t just set e.g. Korean layout on linux/X11 like you can do e.g. on Windows XP – that would be too easy). If not then I’ll pass until it’s ready for real world use.