I was asked today if there is already a Flatpak runtime that includes GTK+ 3.94. A very natural question. GTK+ 4 and flatpak are both cool, so of course you want to try them together.
But the answer is: No, GTK+ 4 is not included in a runtime yet.
It is still a bit early for that – the master branch of the GNOME runtime includes development versions of libraries, but those are libraries that are following the GNOME release schedule, where we can expect them to have a stable release in time for GNOME 3.30 in September. That is not the case for GTK+ 4.
However, that does not mean you cannot take your first steps with GTK+ 3.94 and flatpak right now. Flatpak is a flexible system and the bundling capabilities are very well-suited for this kind of scenario.
Just add GTK+ to the list of bundled modules in your flatpak manifest:
...
"modules": [
{
"name": "gtk+",
"buildsystem": "meson",
"builddir": true,
"config-opts": [
"--prefix="/app",
"--libdir="lib",
"-Ddemos=false",
"-Dbuild-tests=false"
],
"sources": [
"type": "archive",
"url": "https://download.gnome.org/sources/gtk+/3.94/gtk+-3.94.0.tar.xz"
]
},
{
"name": "your-app",
...
}
]
...
If you are more adventurous, you can also build the GTK+ master branch from git, to see our latest progress towards GTK+ 4 as it happens.
To see a complete example of a flatpak manifest bundling GTK+ and its dependencies, you can look at corebird.
We have the beginnings of a GTK+ 3 → 4 migration guide in the GTK+ documentation. If you give it a try, please let us know what works and what is missing.
One way to so so is to file an issue. But you also welcome to come by the GTK+ BoF at Guadec in Almeria and tell us in person.

Hi, WHile I have found a lot of info in the guide to port, I didnt find a guide or an example of a complex widget using gsk. Is there such a guide, or a kind of tutorial to create complex widgets with it?