|
|
Log in / Subscribe / Register

The elephant in the room with GTK2.

The elephant in the room with GTK2.

Posted Feb 7, 2026 10:06 UTC (Sat) by athenian200 (guest, #182216)
Parent article: Debian discusses removing GTK 2 for forky

I've worked for a very long time on a project that still supports both GTK2 and GTK3 versions, and may well never be able to move to GTK4. I have had to interact long-term with users who are relentless in demanding that we continue to provide a GTK2 version and view even GTK3 with suspicion. I think I've come to a conclusion about why GTK2 is dying so slowly, and also why I think the situation is unlikely to improve.

Most of the people who love GTK2 are those who use a keyboard and a mouse on a PC with no touchscreen. Newer versions of GNOME (and hence GTK because the GNOME team does most of the work on it) are not really improvements on the previous ones for the needs of users who still use computers essentially the same way they did around 2010 or so, and if anything are alienating to those users because they are designed primarily around touchscreen-centric use cases, and possibly the UI expectations of users who grew up with Android and iOS before they ever touched a standard x86-64 PC.

It's essentially the Linux equivalent of the Windows 8 problem, where Microsoft put everything they had into adapting to touchscreens and the mobile ecosystem, neglecting traditional desktop users and expecting them to go along with the program while they attract a different kind of user and grow their brand. This resulted in many Windows users sticking with Windows 7 as long as they could. GTK2 became for a long time the Linux equivalent of Win32 (essentially taking on a niche formerly occupied by Motif in the Unix world), probably much to the chagrin of GNOME's developers and fans of other toolkits, and that situation probably isn't sustainable in the long-term. It also connects with the frustrations of those annoyed by mobile-first (or as I call it, desktop-last) web design.

Now, from the perspective of most open-source developers, working on something like GTK2, or a modern equivalent, isn't interesting because it's seen as a problem that was solved long ago, not a new challenge, and plus there's not a lot of money in it. What most of those users actually want is essentially boring security updates and tooling updates to something that's still working fine for them, not fundamentally new paradigms or a big change. They want essentially the same kind of stability a lot of big enterprises want, only they aren't in a position to pay a lot of money for it.

So there's fundamentally a mismatch between what the average open-source developer is interested in working on and where the money is going on the one hand... compared against what a lot of traditional non-touchscreen desktop users actually want Linux to be. Since most of these users have neither the coding skills nor the money to change the course of things, the river of money and coding skill will likely eventually drag those users kicking and screaming in a direction they loathe, but they will go as slowly as possible and fight like they're cornered, possibly winding up on things like LTS releases of Linux distributions, or forks of forks maintained by a very small number of people.

I think in the end, we'll see all kinds of coping mechanisms. Some projects will bring GTK2 in-tree out of desperation and keep trying to make it work in some form, evolving it in project-specific directions. Some will move to GTK3 and use that into the ground until GTK5, some may switch to different toolkits entirely.

I don't think the problem will get better, because as far as I know, there's just not enough talented developers interested in writing the modern answer to GNOME 2 and GTK for Wayland and providing a path for those who just don't want modern, touch-centric desktop paradigms and instead prefer a traditional experience. I think if something like that existed, people might be willing to put in the work to migrate, but as it stands, they prefer to just stick with the old thing as long as they can, because they don't actually need or want anything newer GTK provides, they're just stuck because security updates and tooling issues are forcing their hands and requiring them to "be practical" and accept something that, from their perspective, is worse in every way other than simply being actively developed and supported. In the end, it's just going to be a lot of very unhappy users, resisting what's new and supported as long as they can, and sooner or later having to struggle to make something work for them that was never designed around their needs.

I genuinely feel bad for everyone involved... the upstreams who just want to get on with developing the future and feel bogged down by people asking for legacy support. The end-users who just want to have cool themes and use their desktop with a keyboard and mouse like always, and don't understand why everything is locked down, limited, less customizable, and designed for touchscreens now. Not to mention the distro maintainers caught in the middle, who know upstream doesn't have their back, they can't maintain these packages themselves, and that the longer they wait to disappoint the users, the more work they take on, and the worse the bitrotting and security issues are going to be. And I honestly see this more as a slow-moving train wreck than as anything that will lead to a happy ending for most people involved.


to post comments

The elephant in the room with GTK2.

Posted Feb 7, 2026 13:03 UTC (Sat) by pizza (subscriber, #46) [Link] (13 responses)

> Newer versions of GNOME (and hence GTK because the GNOME team does most of the work on it) are not really improvements on the previous ones for the needs of users who still use computers essentially the same way they did around 2010 or so, and if anything are alienating to those users because they are designed primarily around touchscreen-centric use cases

GTK3 and GNOME3 were not designed around touchscreens and predate the stratospheric rise of modern touch-based smartphone UIs. Indeed G3 was explicitly designed for keyboard-centric (if not keyboard-exclusive) use, and works far far better than G2 in that respect.

G3's primary goal was minimizing distractions; acknowledging that one-fullscreen-application-at-a-time was how most folks actually used their systems, so they made multiple dynamic desktops a first class feature to make switching between said applications easier, along with the overview for a quick way to see everything, and navigate between or launch new things.

Other stuff like putting controls/buttons into the title bars were mostly by wide aspect-ratio screens with poor vertical resolution (eg the 1280x720 on relatively large screens that was the unfortunate baseline until pretty recently). UI elements to make touchscreens easier (eg larger buttons, thick window titles, elimination of window decoration, etc) had their origins in accessibility -- larger (and fewer) targets are easier to hit with a mouse when you have poor motor skills (or a touchpad!) and so forth.

> Now, from the perspective of most open-source developers, working on something like GTK2, or a modern equivalent, isn't interesting

It's not a matter of _interesting_ so much as that porting an application from GTK2 to GTK3 requires a ton of _work_. And folks reasonably expect some sort of compensation for that work (of course, "learn new marketable skills" can be one of those rewards, but in that respect it makes more sense to learn a web-centric UI toolkit instead)

Meanwhile, dragging GTK2 into the Wayland era will require substantially rewriting most of it, and dropping what's left. In other words, a process similar to what GTK3 already went through.

(As an aside, GTK3 also predates wayland, so you can't blame Wayland for its design either. But the design of both was influenced by many of the same failings of X11 leading to moving entirely to client-side rendering/decorations, among other things. GTK2 had a lot of X11-isms baked into it, and it was/is common for GTK1/GTK2 applications to have their own direct interactions with the X server. This is one of the things that made GTK1/GTK2 applications such a portability nightmare..)

> What most of those users actually want is essentially boring security updates and tooling updates to something that's still working fine for them, not fundamentally new paradigms or a big change. They want essentially the same kind of stability a lot of big enterprises want, only they aren't in a position to pay a lot of money for it.

I'd correct that last bit to read "only they aren't willing to pay _any_ money for it."

> I think if something like that existed, people might be willing to put in the work to migrate, but as it stands, they prefer to just stick with the old thing as long as they can, because they don't actually need or want anything newer GTK provides

To analogize, their comfortable middle-class lifestyle has been heavily subsidized by other folks' hard work. Now that those other folks have largely moved on (often in a very _final_ sense) these users are finding out just how much work is no longer getting done.

The elephant in the room with GTK2.

Posted Feb 8, 2026 5:01 UTC (Sun) by athenian200 (guest, #182216) [Link] (8 responses)

>G3's primary goal was minimizing distractions; acknowledging that one-fullscreen-application-at-a-time was how most folks actually used their ?>systems, so they made multiple dynamic desktops a first class feature to make switching between said applications easier, along with the overview >for a quick way to see everything, and navigate between or launch new things.

I know, that's pretty much exactly what all the UX experts working for top companies at the time found in their research. It seems like the data they relied on captured the average use case and failed to cover the edge cases, but that's almost unavoidable in programming so I can't really blame the GNOME team too much for missing that. Always a risk with a big paradigm shift.

>It's not a matter of _interesting_ so much as that porting an application from GTK2 to GTK3 requires a ton of _work_. And folks reasonably expect >some sort of compensation for that work (of course, "learn new marketable skills" can be one of those rewards, but in that respect it makes more >sense to learn a web-centric UI toolkit instead)

That's actually an excellent point, and may touch on another elephant we've all been dancing around. Most of the time if an application requires a ton of work or basically has to be rewritten from scratch nowadays, there's a very large temptation to just turn it into an Electron app and make it cross-platform instantly, at the cost of it requiring a browser engine to work. So what some are likely hoping for is that deprecating GTK2 will push most projects to do the work needed to get their applications onto GTK3 or even GTK4... but it could also result in an acceleration of the trend of just using Electron and/or Node.js for everything because they don't want to deal with changes in OS-specific toolkits when they could just maintain some version of their app on the web technology stack of HTML and JavaScript that runs anywhere.

Really starting to see where all the developers willing or able to do the porting work from GTK2 to GTK3 or later went... they're probably all doing web or mobile development now. :(

>Meanwhile, dragging GTK2 into the Wayland era will require substantially rewriting most of it, and dropping what's left. In other words, a process >similar to what GTK3 already went through.

Yep, and GTK3 still has good bones... I consider it usable, and think the real problems I'd struggle to work around don't show up until GTK4, but a lot of people I know disagree and insist GTK2 is the last good version, seemingly wanting to die on that hill rather than trying to get ahead of GTK3 being deprecated and GTK4 simply not being anything close to a drop-in replacement.

>To analogize, their comfortable middle-class lifestyle has been heavily subsidized by other folks' hard work. Now that those other folks have >largely moved on (often in a very _final_ sense) these users are finding out just how much work is no longer getting done.

Yeah... that applies to GTK, and frankly a lot of long-term infrastructure problems. It's a shame GTK2 was treated like infrastructure and then taken for granted by so many. Tragedy of the commons, I guess.

The elephant in the room with GTK2.

Posted Feb 8, 2026 14:02 UTC (Sun) by Wol (subscriber, #4433) [Link] (4 responses)

> >G3's primary goal was minimizing distractions; acknowledging that one-fullscreen-application-at-a-time was how most folks actually used their ?>systems, so they made multiple dynamic desktops a first class feature to make switching between said applications easier, along with the overview >for a quick way to see everything, and navigate between or launch new things.

> I know, that's pretty much exactly what all the UX experts working for top companies at the time found in their research. It seems like the data they relied on captured the average use case and failed to cover the edge cases, but that's almost unavoidable in programming so I can't really blame the GNOME team too much for missing that. Always a risk with a big paradigm shift.

And the really frustrating thing is those "edge cases" probably include most of the professional users ...

> That's actually an excellent point, and may touch on another elephant we've all been dancing around. Most of the time if an application requires a ton of work or basically has to be rewritten from scratch nowadays, there's a very large temptation to just turn it into an Electron app and make it cross-platform instantly, at the cost of it requiring a browser engine to work.

Which again for the professional users comes as an absolute nightmare ...

I'm usually working with three or four Excel worksheets at once :-( because I need to keep track of stuff. Now we're moving everything into GSheets it's worse - at least Excel doesn't try to keep nicking the other sheets as you try to separate them! And it's even worse ... even the *tabs* nick stuff - I had a Looker tab disappear on me, and when I finally found it, it had been nicked by a BigQuery tab! No clue how to separate them - I just had to close them and start again :-(

But of course, if you're just a private individual writing the odd letter, or watching youtube, etc etc, you're the perfect target for "one app at a time". So where does that leave the professional with two or three screens? One app over everything?

Cheers,
Wol

The elephant in the room with GTK2.

Posted Feb 8, 2026 23:10 UTC (Sun) by pizza (subscriber, #46) [Link]

> But of course, if you're just a private individual writing the odd letter, or watching youtube, etc etc, you're the perfect target for "one app at a time". So where does that leave the professional with two or three screens? One app over everything?

Be careful about generalizing what "most professionals" use -- I'd wager that more "pros" use GNOME than anything else, KDE solidly at #2, with everything else amounting to single digits... combined.

(Incidentally, G3 has always got along swimmingly with multiple displays, and you've always been free to arrange windows on each screen/virtual desktop however you want. I typically use one task/project per milti-monitor desktop)

The elephant in the room with GTK2.

Posted Feb 9, 2026 17:36 UTC (Mon) by paulj (subscriber, #341) [Link] (2 responses)

> Now we're moving everything into GSheets it's worse ... And it's even worse ... even the *tabs* nick stuff

I think chrom{e,ium} and firefox/librewolf have gotten some kind of "side by side tabs" support in the last while. One of them popped something up saying it had noticed I was splitting tabs out to another window and asked me if I'd prefer to have side by side tabs.

Slowly but surely web browsers will basically become window managers I think. The day may come where GNOME, etc., become irrelevant and we all just launch a browser as our top-level UI manager </semi-joking>.

The elephant in the room with GTK2.

Posted Feb 10, 2026 14:34 UTC (Tue) by N0NB (guest, #3407) [Link]

Sounds like a proclamation that was made circa 30 years ago that triggered an overwhelming response from a certain vendor in the Pacific Northwest, USA.

The elephant in the room with GTK2.

Posted Feb 10, 2026 14:55 UTC (Tue) by pizza (subscriber, #46) [Link]

> The day may come where GNOME, etc., become irrelevant and we all just launch a browser as our top-level UI manager </semi-joking>.

That day arrived in 2011, with the release of the first Chromebook.

The elephant in the room with GTK2.

Posted Feb 9, 2026 17:31 UTC (Mon) by paulj (subscriber, #341) [Link] (2 responses)

> Most of the time if an application requires a ton of work or basically has to be rewritten from scratch nowadays, there's a very large temptation to just turn it into an Electron app and make it cross-platform instantly, at the cost of it requiring a browser engine to work.

It'd be really nice to have a native toolkit that supported rendering to HTML and to native UI, /without/ going through a bloated browser engine, to try fill that missing "Efficient native and mobile/web UI framework" space. Funnily enough, GDK does have support for HTML5 rendering... Never heard of anyone using this to make cross-platform apps though.

The elephant in the room with GTK2.

Posted Feb 10, 2026 14:37 UTC (Tue) by N0NB (guest, #3407) [Link] (1 responses)

I know GNOME has GJS, its Javascript engine, is that similar to what you're thinking of?

The elephant in the room with GTK2.

Posted Feb 10, 2026 14:56 UTC (Tue) by paulj (subscriber, #341) [Link]

Hmm.. no. That can not render to web, of itself. And my point was somewhat the opposite - you do /not/ need your apps to be in Javascript to get web versions!

I was thinking of the 'demo' / experimental / unofficial support in GDK4 for rendering to HTML5 over a websocket - search for GTK4 'broadway'. Which works: I just tested the GNOME PDF viewer 'papers' running and its GDK rendering to Broadway, and I could access it via my browser, everything looked correct (once I maximised it so it was sized to within my browser window).

I.e., the application programming framework can be an efficient, native programming language and library. The rendering backend can just render to HTML5 or whatever web tech. There is NO NEED for the application to be written in some ridiculously high-overhead web technology stack, to get web accessibility, and hence mobile. You can do all the magic in a /native/ framework. (The framework would need to have widgets that made sense for web/mobile though).

The elephant in the room with GTK2.

Posted Feb 9, 2026 9:00 UTC (Mon) by gioele (subscriber, #61675) [Link] (3 responses)

> GTK3 and GNOME3 were not designed around touchscreens and predate the stratospheric rise of modern touch-based smartphone UIs.

Touchscreens (and hopes of "convergence") where one of the main driving forces for the Gnome 3 design. The design of huge window bars comes straight from the early versions of iOS.

From an interview with Vincent Untz:

> [GNOME Shell] has several nice design features, though. It’s designed in such a way that it should work well on netbooks as well as on bigger computers and using a touchscreen as input has been part of the design from the start too.

https://news.opensuse.org/2010/09/15/osc2010-sneak-peaks-...

The elephant in the room with GTK2.

Posted Feb 9, 2026 9:53 UTC (Mon) by Cyberax (✭ supporter ✭, #52523) [Link] (2 responses)

Sigh. At that time, I was using a small laptop with a 1368x768 screen. I used Ubuntu's customizations for GTK2 to have a unified menu bar and hidden window titles to avoid wasting any pixels. With virtual desktops to cleanly separate my IDE, browsers, and the application under development.

It was awesome. At that time, NetworkManager also came of age, so my 3G modem worked out-of-the-box (it was one of the crazy devices that initially presented themselves as flash drives with Windows drivers, and needed to be poked in just the right way to switch to the serial device mode).

It seemed like Linux was finally ready to become mainstream.

Then GTK3 came out and broke literally everything. It had its own notion of "activities" that was incompatible with static virtual desktops. And it broke all the customizations. And it was also slow because I had an Intel graphics card.

The elephant in the room with GTK2.

Posted Feb 9, 2026 12:20 UTC (Mon) by pizza (subscriber, #46) [Link] (1 responses)

> Then GTK3 came out and broke literally everything. It had its own notion of "activities" that was incompatible with static virtual desktops. And it broke all the customizations. And it was also slow because I had an Intel graphics card.

Your wrath should be directed at Ubuntu, as they shipped their Unity desktop to replace G2 before G3 was even released. It took them a decade to abandon Unity (and various foundational gnome libraries they'd incompatibly soft-forked along the way) replacing it with a set of extensions to stock G3. (Personally I found Unity quite frustrating to use, and when I had a choice I _always_ went with something else)

Meanwhile, even for the original G3.0 release there was the option of a set of fixed desktops instead of dynamic (IIRC it was provided as an "official" extension) -- an option that remains available to this date.

And yes, G3's compositor was designed around full-time use of OpenGL in order to take advantage of hardware acceleration features of "modern" [1] GPUs instead of relying on increasingly-unaccelerated [2] 2D primitives. Granted, it uncovered a ton of GPU driver bugs along the way, especially with (sigh) nVidia's proprietary drivers. Funny how little has changed in the subsequent 1.5 decades.

[1] Really, anything other than bottom-tier iGPUs which were designed to be barely adequate for baseline Windows XP.
[2] No 2D acceleration in hardware, instead it was either unaccelerated or [partially] emulated by the 3D engine (via GLamor and the like)

The elephant in the room with GTK2.

Posted Feb 9, 2026 18:40 UTC (Mon) by Cyberax (✭ supporter ✭, #52523) [Link]

> Your wrath should be directed at Ubuntu, as they shipped their Unity desktop to replace G2 before G3 was even released.

Nope. I had a GTK3 desktop, not Unity. I started with Ubuntu Netbook Remix which used customized GTK2, so it got updated to GTK3.

> Meanwhile, even for the original G3.0 release there was the option of a set of fixed desktops instead of dynamic (IIRC it was provided as an "official" extension) -- an option that remains available to this date.

I remember not being able to make it work?

The elephant in the room with GTK2.

Posted Feb 7, 2026 15:38 UTC (Sat) by Wol (subscriber, #4433) [Link]

> and if anything are alienating to those users because they are designed primarily around touchscreen-centric use cases, and possibly the UI expectations of users who grew up with Android and iOS before they ever touched a standard x86-64 PC.

Forget pizza's comment about how GTK2/3/4 weren't primarily designed for touchscreens but ...

Quick question - how do you force shutdown a modern laptop?

My first laptops had two catches underneath - release the catches and the battery fell off!

Then I discovered that, for newer laptops, you had to press and keep the power button down, and after about 5 seconds it would "clonk" off.

Now, when I try that on my - old fashioned screen - work-supplied Dell laptop, I get a big screen that says "pull down here to power off" - on a non-touch screen !?!?!?

Okay, yes I know you simply keep the power button pressed even longer, but seriously? If you're trying to force the laptop off because it's wedged, why do you have that stupid "pull down" screen in the first place !?!?!?

Cheers,
Wol


Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds