macOS
brew install gtk4local Homebrew formula metadata
sudo port install gtk4MacPorts ports tree · gnome/gtk4/Portfile · source: api.github.com
brew
Toolkit for creating graphical user interfaces. Version 4.22.4 via Homebrew; verified 2026-07-07.
install
brew install gtk4local Homebrew formula metadata
sudo port install gtk4MacPorts ports tree · gnome/gtk4/Portfile · source: api.github.com
sudo apt install gir1.2-gtk-4.0Debian stable package indexes · gir1.2-gtk-4.0 · source: deb.debian.org
sudo dnf install gtk4Fedora Rawhide package metadata · gtk4 · source: dl.fedoraproject.org
nix profile install nixpkgs#gtk4nixpkgs package indexes · pkgs/by-name/gt/gtk4/package.nix · source: api.github.com
sudo pacman -S gtk4Arch Linux sync databases · gtk4 · source: geo.mirror.pkgbuild.com
sudo zypper install gettext-its-gtk4openSUSE Tumbleweed package metadata · gettext-its-gtk4 · source: download.opensuse.org
overview
Toolkit for creating graphical user interfaces
history
GTK is the GNOME-maintained, LGPL-licensed widget toolkit for graphical applications. The Homebrew gtk4 package represents the GTK 4 API and tool track: development headers, libraries, demos, builder tools, icon tools, inspectors, and utility programs used by applications and language bindings that target GTK 4.
The GTK project site describes GTK as a free and open-source cross-platform widget toolkit maintained by GNOME and contributors, built on GLib, and suitable for applications ranging from small tools to application suites. The site also identifies GTK as hosted by GNOME and maintained by the GTK Team, with project copyright dating from 1997.
GTK's major-version history is visible through GNOME source tarballs and upstream migration documentation. GTK 2.0 source tarballs are published from March 2002; GTK 3.0 source tarballs are published from February 2011; and GTK 4.0 tarballs are published from December 2020. The GTK 4 migration guide explicitly treats GTK 4 as a new major version that breaks API and ABI compared with GTK 3.x, and recommends preparing applications from the final stable GTK 3.24 series.
GTK 4 development began as a multi-year effort around the 3.89.1 development release in November 2016. The GTK 4.0 release announcement says the 4.0 result came after more than 18,000 commits and more than 20 development releases, with major themes including render nodes, event controllers, layout managers, media playback, scalable lists, shaders, data transfers, and accessibility.
The gtk4 package role should be read as a version-track role, not a separate unrelated project. It packages the GTK 4 generation of the same toolkit lineage, alongside language bindings and applications that choose the GTK 4 API. The package's executables such as gtk4-demo, gtk4-widget-factory, gtk4-builder-tool, gtk4-launch, and gtk4-query-settings are developer and diagnostic tools around the library.
GTK's adoption is tied to GNOME but not limited to it. The GTK project site describes GTK as the core of the GNOME development platform and also suitable for other Linux environments plus Windows and macOS targets. Its homepage lists applications built with GTK such as GIMP, Inkscape, Evolution, Web, Calculator, Maps, Transmission, and others.
GTK 4 adoption started as a porting path for applications and platform libraries after the 4.0 release. The GTK 4.0 announcement called out GNOME 40 applications and adjacent libraries such as vte, WebKitGTK, and GtkSourceView as parts of the ecosystem that needed GTK 4 ports.
Developers use GTK 4 by linking against the Gtk 4.0 API, using the official API reference and getting-started guides, and optionally using language bindings for C, JavaScript, Perl, Python, Rust, Vala, C++, and other languages. GTK applications are event-driven widget hierarchies, often assembled through code or GtkBuilder UI descriptions.
Packagers and developers use gtk4 command-line tools for demos, widget inspection, resource and UI conversion, icon cache updates, builder-file validation, launching applications, print testing, settings queries, render-node inspection, and visual experiments. Those tools make gtk4 a developer-platform package even when a desktop user sees it only as an application dependency.
gtk4 is one of the packages that defines a desktop stack. Its ABI, introspection metadata, demos, schemas, icons, input modules, themes, and build flags influence a large set of reverse dependencies, especially in GNOME and GTK language-binding ecosystems.
The package is also a marker of a major toolkit transition. GTK 4 changes rendering and input architecture compared with GTK 3, removes long-deprecated APIs, and requires applications and related libraries to make deliberate porting decisions. For package maintainers, it sits at the intersection of C ABI stability, GObject Introspection, Meson builds, platform backends, accessibility, and downstream application migration.
security posture
broad file, network, media, or database tool signal.
blue risk · medium confidence · tool
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
gtk4-builder-tool | cli | global executable | |
gtk4-demo | cli | global executable | |
gtk4-demo-application | cli | global executable | |
gtk4-encode-symbolic-svg | cli | global executable | |
gtk4-icon-editor | cli | global executable | |
gtk4-image-tool | cli | global executable | |
gtk4-launch | cli | global executable | |
gtk4-node-editor | cli | global executable | |
gtk4-path-tool | cli | global executable | |
gtk4-print-editor | cli | global executable | |
gtk4-query-settings | cli | global executable | |
gtk4-rendernode-tool | cli | global executable | |
gtk4-update-icon-cache | cli | global executable | |
gtk4-widget-factory | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
install metadata
| Package key | brew:gtk4 |
|---|---|
| Version | 4.22.4 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/gtk4 |
| Homepage | https://gtk.org/ |
| Repository | https://gitlab.gnome.org/GNOME/gtk |
| Upstream docs | https://docs.gtk.org/gtk4 |
| License | LGPL-2.1-or-later |
| Source archive | https://download.gnome.org/sources/gtk/4.22/gtk-4.22.4.tar.xz |
| Last updated | 2026-07-07T06:58:43Z |
| Pulse | updated |
| Dependencies | cairo, fontconfig, fribidi, gdk-pixbuf, gettext, glib, graphene, harfbuzz, hicolor-icon-theme, jpeg-turbo, libepoxy, libpng, librsvg, libtiff, pango |
| Build dependencies | dart-sass, docbook, docbook-xsl, docutils, gettext, gobject-introspection, meson, ninja, pkgconf |
| Uses from macOS | cups |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | gtk4 |
| Version Scheme | 0 |
| Revision | 0 |
| Head Version | HEAD |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
gir1.2-gtk-4.0 4.18.6+ds-2
GTK graphical user interface library -- gir bindings
sudo apt install gir1.2-gtk-4.0gtk-4-examples 4.18.6+ds-2
example files for GTK 4
sudo apt install gtk-4-examplesgtk-4-tests 4.18.6+ds-2
"as-installed" tests for GTK 4
sudo apt install gtk-4-testsgtk-update-icon-cache 4.18.6+ds-2
icon theme caching utility
sudo apt install gtk-update-icon-cachelibgtk-4-1 4.18.6+ds-2
GTK graphical user interface library
sudo apt install libgtk-4-1libgtk-4-bin 4.18.6+ds-2
programs for the GTK graphical user interface library
sudo apt install libgtk-4-binlibgtk-4-common 4.18.6+ds-2
common files for the GTK graphical user interface library
sudo apt install libgtk-4-commonlibgtk-4-dev 4.18.6+ds-2
development files for the GTK library
sudo apt install libgtk-4-devlibgtk-4-doc 4.18.6+ds-2
documentation for the GTK graphical user interface library
sudo apt install libgtk-4-doclibgtk-4-media-gstreamer 4.18.6+ds-2
GStreamer media backend for the GTK graphical user interface library
sudo apt install libgtk-4-media-gstreamergtk4
nix profile install nixpkgs#gtk4gir1.2-gtk-4.0 4.14.2+ds-1ubuntu1
GTK graphical user interface library -- gir bindings
sudo apt install gir1.2-gtk-4.0gtk-4-examples 4.14.2+ds-1ubuntu1
example files for GTK 4
sudo apt install gtk-4-examplesgtk-4-tests 4.14.2+ds-1ubuntu1
"as-installed" tests for GTK 4
sudo apt install gtk-4-testslibgtk-4-1 4.14.2+ds-1ubuntu1
GTK graphical user interface library
sudo apt install libgtk-4-1libgtk-4-bin 4.14.2+ds-1ubuntu1
programs for the GTK graphical user interface library
sudo apt install libgtk-4-binsource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.