Gtk/gtkmm versions x Linux Distros

What should be our minimum Gtk / gtkmm version?

Here is a list of some important distros and their ‘recent’ LTS/stable versions and its current gtkmm3 version in repository.

Debian
Old Stable : 9 Strech (2017/06) - gtkmm 3.22
Stable : 10 Buster (2019/07) - gtkmm 3.24

CentOS
CentOS Linux (old) 7 (2009) : gtkmm 3.22.2
CentOS Linux (Current & the last one) 8 (2011) : gtkmm 3.22.2

Ubuntu
Old Old Stable : Xenial Xerus (2016/04) - gtkmm 3.18.0
Old Stable : Bionic Beaver (2018/04) - gtkmm 3.22.2
Stable : Focal Fossa (2020/04) - gtkmm 3.24.2

Linux Mint
Old Old Stable : 18 Sarah (2016/06) based on Ubuntu Xenial - gtkmm 3.18
Old Stable : 19 Tara (2018/06) based on Ubuntu Bionic - gtkmm 3.22
Stable : 20 Ulyana (2020/06) based on Ubuntu Fossa - gtkmm 3.24

Arch Linux
It’s a rolling-release distro, not point-release. gtkmm 3.24

Gentoo
It’s a rolling-release distro, not point-release. gtkmm 3.24

Manjaro
I don’t know (but is ArchLinux-based)

OpenSuse
I don’t know

Slackware
Old-Stable: 14.1 (2013/11) - no gtkmm! gtk+ 3.8
Stable : 14.2 (2016/07) - gtkmm 3.18
Current (not released): gtkmm 3.24

1 Like

Focal Fossa (2020/04) - gtkmm 3.24.2

I prefer stable. Will this hurt?

1 Like

The “official” system is based on embedded libs (appimage, snap on the way).
The reason is to be able to use Synfig on older systems too, and the build system image is a debian 7 for this reason.
So yes, it will surely hurt some users, the ones who own old OS/system, who maybe can’t afford to buy a new one or upgrade their OS.
New OS aren’t produced in 32bit versions, for example I own an old Aspire One which runs a 32bit only processor and is limited to Ubuntu 18.04.
We recently had some users who can’t run Synfig on old MacOs after 1.22 du to change on build systems.
I don’t say that we shouldn’t offer different builds, but keep in mind that if people run Synfig instead of a commercial software, maybe it is because it is the only one that fits their budget :wink:

3 Likes

For current master I would follow debian stable.
I’m ok with keeping old systems supported but not ancient stuff…

Btw if you use debian stable you’re not expecting to have the latest software but the most stable, which is quite different.
I would love to see Synfig as one of the best options for animation (like blender) and not as a no cost alternative for who’s not willing to spend a few resources on commercial stuff (which won’t be supported on his system anyway)

1 Like

Oh. Debian still fully supports 32bit as well as Mageia.

I really don’t know MacOS, but I see it depends on Brew, and, as far as I get from its site, we basically do the same thing as for MS Windows (via MSYS2): we provide all dependency libraries to end user, not using the system libraries (because they aren’t provided by those OS).
So, maybe it is just a matter to fix the building system/framework for them?

The reason why I prefer Ubuntu 20.04 as the next minimum gtk version for synfig is because I want the CMake build system upgraded too. Currently it’s 2.x which is too old and has a bad reputation for being too difficult and ugly to use.

Moreover, as a minor bonus we get to remove all those gtk include guards and have a consistent codebase for all platforms.

Those are my opinions from a developer’s standpoint. I also understand @BobSynfig’s arguments and agree with his opnions from the end users point of view.

In my opinion, sticking to the old build system or old gtk version makes no sense. The percentage of people with old system is fairly less and the old synfig software covers them well. I believe it’s high time to migrate synfig to newer standards.

CMake 3.5 is available for Ubuntu Xenial
https://packages.ubuntu.com/xenial/cmake

1 Like

Found out Ubuntu 16.04 has reached EOL

Synfig repo CI still uses 16.04. Any plans to upgrade to 18.04?

Because there are parts of GTK code that have been macro-ed with #if GTK_CHECK_VERSION() for features like Gtk::ShortcutsWindow to be able to bypass 16.04 limitation. I’m itching to clean those :stuck_out_tongue_winking_eye:

How about gtkmm-4.0?
It’s time to aim for the maximum version possible, you know.
:joy: