The Register Home Page

back to article Debian 14 will drop Gtk2 – unless Ardour rides to the rescue

Version 2 of the widely used Gtk toolkit will be dropped from the next Debian release. The problem is that many things still need it, including FreePascal and its Lazarus IDE. Debian 14, codenamed "Forky," is in development and will very probably be released in about 18 months. As with any new release, the developers are …

  1. MarkMLl

    Free Pascal Compiler and the Lazarus IDE

    My understanding is that the FPC issue (that it has precompiled units which support the GTK2 developer libraries) and the Lazarus IDE issue (that on Linux its preferred widget set is still GTK2) are distinct.

    The FPC issue appears to have been resolved. It wasn't strictly a problem of the FPC project itself, but appears to have been caused by a combination of Debian policy and a (possibly automatic) checking procedure which refused to believe that a development tool which fully-supports separate compilation didn't require the libraries for everything it referenced (i.e. not just GTK2, but standards like libusb where the compiler etc. is entirely happy if the underlying libraries aren't present).

    I also believe that the maintainers of the Lazarus IDE for Debian have resolved the matter by having separate support packages for the various widget sets.

  2. Doctor Syntax Silver badge

    Qt is an option for Lazarus. However I wonder if it's better to regard projects such as GTk2 as not dead but "complete". Does sofware have to be in continuous development once it's good enough?

    1. MarkMLl

      Qt generally works well, but needs a special shim library since FPC has the feature (ardently defended by some if its developers) that it can't interwork directly with code that uses C++ classes etc.

      1. MarcoV

        I didn't know C++ classes (VMT layout etc?) were standarized. Did I miss something in more recent standards?

        Can arbitrary C++ compilers use eachother's classes?

    2. Rich 2 Silver badge

      I tend to agree. There is a common mentality that a program must keep acquiring features to be useful. Fix bugs, sure. But keep bolting on more and more features until it collapses under its own weight? This is exactly the problem with C++ (yes, it’s a spec, not a program but the principle is the same) - it’s now so ridiculously complex that many people have given up on it - I know I pretty much have

      Look at many of the base unix tools - they’ve not changed in decades but are as useful as ever

    3. williamyf Silver badge

      No one is patching security bugs

      No one is patching non-security bugs.

      The software world outside the project (GTK2 in this case) keeps evolving, which means that, sooner or later, there will be interop issues, and no one will be fixing those.

      when it stops being maintained, is dead...

      "He's dead Jim"

      1. Doctor Syntax Silver badge

        Ongoing tinkering is just as likely to introduce bugs. And interop problems, this being a case in point.

        1. doublelayer Silver badge

          This is not an example of an interop problem. This is an example of people dropping something which doesn't work well and isn't used by much, to the detriment of the places where it is still used. You can still compile and run it the same way you always could, and it will be as working or broken as it ever was, but if your computer is different from the one you used in 2010, it might be less working with the new one than the old one because computers change. If Liam is correct, one thing that a lot more people have now is high-resolution displays, some touch-enabled. Software that was not written for that and doesn't handle it well can be perfectly functional on older screens, but if you try to run it on newer ones and it doesn't work, people are going to see that as a bug and the software as not complete, which is why continual maintenance is required.

      2. Liam Proven (Written by Reg staff) Silver badge

        > sooner or later, there will be interop issues

        Indeed.

        Right now, as I understand it, Gtk cannot handle HiDPI ("retina") displays at all, and I think it has problems with touchscreens too, which Ardour may have addressed in its YTK fork.

    4. drankinatty Silver badge

      This is the correct way to look at the issue. Gtk+2 was the last Gtk before they went off chasing CSS themes, that in the end made a majority of the interface look like vanilla milk-toast. Gtk+2 is complete. I like that view. It was an excellent toolkit when it was finished, and the code hasn't changed. The issue for "complete" packages is simply one of "does it still build?", and if not, "is it a new compiler option default change?" or similar that just needs to be updated in the build files? (most are, few are actual API/ABI breaks)

      I've commented about this before, so I'll not repeat it, but simply put, there were a lot of things that Gtk+2 does, and does well, that Gtk+3 and Gtk4 don't.. (long period) So for those that have packages based on Gtk+2, the port to Gtk+3 (or Gtk4) is significant effort. The benefits are slight, to non-existent, from an application performance or look-and-feel standpoint, so asking the developers of smaller packages -- who may not be active any longer -- to invest the time to port for next to no functional benefit it is heavy lift.

      Distros have had a long history of pushing adoption of release-number-next, whether ready or not, and partnering with packages like Gtk+ and gnome (and KDE for that matter, recall the release of KDE4 (.0.4a) as the default desktop for a major distro in May, 2008), in a concerted effort to malign the older version of the toolkit and sing the praises of the new as the next best thing to sliced bread. In my view, that is a "not okay"" use of distro or developer time. Clear policies by the distro (we will include only open-source projects under active upstream development), are fine. No whisper campaigns, no dubious marketing, leave that to the politicians.

      But what to do with the packages that still need Gtk+2?. Considering Gtk+2 "complete" is the correct approach. Distros need not support it, but they shouldn't discourage community support for it either. Take Arch as a study. Gtk+2 was just recently removed from Arch proper, but it is still community maintained in AUR and available to anyone running arch that needs or wants it. You just have to download the AUR package, gzip -d, and then "makepkg -s" and you have your Gtk+2. This model has worked well, and to Arch's credit they have developed the AUR and provide a good community support for those wishing (or needing) to have access to "complete" packages. Arch doesn't provide it as part of the distro, it doesn't meet the active-upstream criteria, but it is still available for those that need it. After all, "choice" was the corner-stone of the open-source movement and for Linux in particular. A "forced choice" is no choice at all, it's an ultimatum.

      If Debian and others could do something similar, then a lot of very good software could be saved. A little effort pays dividends.

  3. steelpillow Silver badge
    Coat

    With enough Ardour, you can raise Lazarus from the dead.

    I'll get my coat...

    1. williamyf Silver badge
      Pint

      This one is on me

    2. Liam Proven (Written by Reg staff) Silver badge

      > With enough Ardour, you can raise Lazarus from the dead.

      *Damn* I wish I'd thought of some variant on that!

      Well played.

      1. steelpillow Silver badge
        Angel

        Copyright hereby released to the public domain. Help yourself.

        Can I come back in now? ;)

  4. Mockup1974

    Just ask Claude or Grok to translate it from GTK2 to GTK3, simple as. Or?

    1. ltlnx

      Doubt it

      Doubt it. It's a very involved process:

      https://docs.gtk.org/gtk3/migrating-2to3.html

      And that's just for C projects. Language bindings have their own updates and quirks. Also GTK+3 would probably go EOL some years later, so you'll need to port again from GTK+3 to 4:

      https://docs.gtk.org/gtk4/migrating-3to4.html

      At some point it's not worth it and would be easier to port to Qt. It'll only be useful if the LLM somehow figures out a path to go directly from GTK+2 to GTK4.

      1. bombastic bob Silver badge
        Unhappy

        Re: Doubt it

        I'd stick with GTK3 - you can STILL theme it properly. Adwaita and its mandated derivatives STINKS on ICE

        An afterthought

  5. Will Godfrey Silver badge
    Thumb Up

    Intersting.

    The Ardour devs have always been very thorough, and their software is huge. I wonder if they forked the entirety of gtk2, or just the parts they currently use. i wouldn't surprised if it was the former.

  6. Wolfclaw

    Not Debian's problem, advanced warning given a long time ago, if no migration, thats the developers problem and if your a user, your problem, to find an alternative distro.

    1. MarkMLl

      In the case of FPC it /was/ Debian's problem: they were rejecting it on the basis that it /can/ use GTK2 and provides a precompiled interface unit, and were apparently ignoring attempted clarification from the package maintainers.

      Please note that I am not trying to be an apologist for anybody here, but there are three groups of people involved: the FPC developers, the maintainers of the FPC Debian package, and the core Debian team.

      FPC does not /require/ GTK2 (it is not a graphical tool), in the same way that it does not /require/ the USB interface libraries or a slew of database interface libraries even though it has precompiled interfaces for them.

      The Lazarus IDE and the Lazarus Class Libraries (LCL)- which obviously are graphical- are distinct from the Free Pascal Compiler, and while the development teams obviously talk to each other they are largely distinct. The fact that the Lazarus team has been slow moving away from GTK2 /is/ their problem, not Debian's.

      Debian appears to have no concept of the fact that a development tool can have Separate Compilation (with strong type checking etc.), and assumes that if a package includes a precompiled interface unit then any libraries used by that interface unit are hard prerequisites for the entire package. That's wrong, that needs to be fixed, and that's Debian's problem.

  7. NATTtrash
    Alert

    (X)sane

    Looking over that list Xsane might be one that has a pretty big user following...

  8. Liam Proven (Written by Reg staff) Silver badge

    Gtk1 is still around, too

    An extra link I meant to include although it's not directly relevant...

    There is a precedent for this: there is an active, somewhat-maintained fork of Gtk1, being kept alive for CinePaint:

    https://gitlab.com/robinrowe/gtk1

    He's been maintaining this for a long time, too:

    https://gtk1-win.sourceforge.net/

    The developer appeared on El Reg recently:

    https://www.theregister.com/2026/01/26/trapc_claude_c_memory_safe_robin_rowe/

  9. rmullen0

    Gnome needs an overhaul

    Gnome should switch to using a Windows-like task bar at the bottom. The use of the Super key to do anything is just annoying, and for practical purposes user hostile.

    1. jaypyahoo

      Re: Gnome needs an overhaul

      I don't like it's workflow doesn't mean all others too. Anyways beauty of FOSS is we always have options.

    2. collinsl Silver badge

      Re: Gnome needs an overhaul

      At least in RHEL you can enable this using the "tweaks" applet, but Gnome turned it off by default for their own design choices so I wouldn't be surprised if it doesn't survive into some future Gnome version at all at some point

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon