Instructions for installing the binary distribution
of BlinkGTK. Like
WebKitGTK, BlinkGTK ships split packages: runtime
(required to run apps) and
devel (required to build apps that embed BlinkGTK).
Fetch the binaries
(RPM / DEB / tarball) from GitHub Releases. Building from source is not
part of
the distribution (binary-only).
| Item | Requirement |
|---|---|
| CPU | x86_64 (64-bit) |
| Memory | 2GB minimum, 4GB+ recommended |
| Disk | ~700MB for the runtime |
| OS | Linux (Fedora 44+, Ubuntu 24.04+, Debian 13+) |
| Display | Wayland only (no X11) |
| GTK4 | >= 4.6.0 |
| GLib | >= 2.70.0 |
Runtime dependencies (shared libraries needed to run apps):
# Fedora / RHEL
sudo dnf install gtk4 glib2 wayland vulkan-loader
# Debian / Ubuntu
sudo apt install libgtk-4-1 libglib2.0-0 libwayland-client0 libvulkan1The full Chromium runtime (500+ .so for V8 / Blink / Viz, plus
resources) is
bundled in the runtime package's private
directory
(/usr/lib64/blinkgtk-0.1/), so no separate installation is
required.
| Package | Purpose | Main contents |
|---|
|
blinkgtk-bin (runtime) | run apps |
/usr/lib64/libblinkgtk-0.1.so.0 (public ABI) +
/usr/lib64/blinkgtk-0.1/ (Chromium, private) +
/usr/libexec/blinkgtk-0.1/ (simple_browser) +
THIRD_PARTY_NOTICES.html |
|
blinkgtk-bin-devel (devel) | build consumers |
headers (/usr/include/blinkgtk-0.1/) + pkg-config
(/usr/lib64/pkgconfig/blinkgtk-0.1.pc) + .so
symlink |
|
blinkgtk-bin-gir (gir) | introspection
(Python/Rust/…) | BlinkGTK-0.1.typelib | Install
runtime only to run apps; add devel (+
gir) to develop apps that
embed BlinkGTK.
Fetch the release assets from GitHub Releases (verify with
SHA256SUMS).
# runtime only (run apps)
sudo dnf install ./blinkgtk-bin-<VERSION>-1.fc44.x86_64.rpm
# for development, add devel + gir
sudo dnf install ./blinkgtk-bin-devel-<VERSION>-1.fc44.x86_64.rpm \
./blinkgtk-bin-gir-<VERSION>-1.fc44.x86_64.rpmsudo apt install ./libblinkgtk-0.1-0_<VERSION>_amd64.deb # runtime
sudo apt install ./libblinkgtk-0.1-dev_<VERSION>_amd64.deb # develBoth runtime and devel use an FHS layout
(usr/lib64/...). Extract at root (/).
# runtime
sudo tar xzf blinkgtk-<VERSION>-linux-x86_64.tar.gz -C /
sudo ldconfig # apply ld.so.conf.d
# devel (only when developing consumers)
sudo tar xzf blinkgtk-devel-<VERSION>-linux-x86_64.tar.gz -C /ldconfig applies
/etc/ld.so.conf.d/blinkgtk-0.1.conf (bundled in
runtime),
which adds the private directory to the loader search path.
$ ldconfig -p | grep libblinkgtk-0.1
libblinkgtk-0.1.so.0 (libc6,x86-64) => /usr/lib64/libblinkgtk-0.1.so.0
# demo browser (in a Wayland session)
$ /usr/libexec/blinkgtk-0.1/simple_browser$ pkg-config --modversion blinkgtk-0.1
<VERSION>
$ pkg-config --libs blinkgtk-0.1
-L/usr/lib64 -L/usr/lib64/blinkgtk-0.1 -L/usr/lib64/blinkgtk-0.1/chromium \
-lblinkgtk-0.1 -lbase_allocator_partition_allocator_src_partition_alloc_allocator_shim ...Important: --libs includes the
PartitionAlloc allocator shim. Consumers
must link via pkg-config — if the shim is not linked
directly into the
executable, Chromium navigation fails (Issue #90).
$ python3 -c "import gi; gi.require_version('BlinkGTK','0.1'); from gi.repository import BlinkGTK; print('BlinkGTK OK')"
BlinkGTK OKBuild apps that embed BlinkGTK with pkg-config (the direct shim link
is added
automatically):
cc my_app.c -o my_app $(pkg-config --cflags --libs blinkgtk-0.1)See the consumer
integration guide
(lifecycle / embedding a WebView / GPU mode / injection, etc.).
sudo dnf remove blinkgtk-bin blinkgtk-bin-devel blinkgtk-bin-girsudo apt remove libblinkgtk-0.1-0 libblinkgtk-0.1-devThe tarball places files under FHS paths, so remove them manually
(RPM/DEB with
package management is preferred). Main locations:
/usr/lib64/libblinkgtk-0.1.so*,
/usr/lib64/blinkgtk-0.1/,
/usr/libexec/blinkgtk-0.1/,
/etc/ld.so.conf.d/blinkgtk-0.1.conf,
/usr/include/blinkgtk-0.1/ (devel),
/usr/lib64/pkgconfig/blinkgtk-0.1.pc (devel). Run
sudo ldconfig afterwards.
libblinkgtk-0.1.so.0: cannot open shared object fileThe private directory is not in the loader search path.
sudo ldconfig # apply /etc/ld.so.conf.d/blinkgtk-0.1.conf
ldconfig -p | grep libblinkgtk-0.1 # confirm resolutionThe devel package is not installed, or PKG_CONFIG_PATH
is unset.
export PKG_CONFIG_PATH=/usr/lib64/pkgconfig:$PKG_CONFIG_PATH
pkg-config --modversion blinkgtk-0.1The consumer is not linking the allocator shim directly. Link
via pkg-config
(pkg-config --libs blinkgtk-0.1 includes the shim).
Verify:
readelf -d ./my_app | grep NEEDED | grep partition_alloc_allocator_shim
returns
one entry.
Namespace BlinkGTK not available)The gir package is not installed, or GI_TYPELIB_PATH is
unset.
export GI_TYPELIB_PATH=/usr/lib64/girepository-1.0:$GI_TYPELIB_PATHFailed to open Wayland displayBlinkGTK supports Wayland only (no X11).
echo $WAYLAND_DISPLAY # if empty, re-login into a Wayland sessionCopyright 2026 BlinkGTK Project
SPDX-License-Identifier: BSD-3-Clause