BlinkGTK

GTK4 のための Chromium / Blink ベース WebView エンジン。 A Chromium / Blink-based WebView engine for GTK4.

はじめる / Get started

対応環境: Linux (x86_64、glibc 2.44 以上、Wayland のセッション) と Windows 10 / 11 (x64)。詳しくは下の「動作要件」。

Supported: Linux (x86_64, glibc 2.44 or later, a Wayland session) and Windows 10 / 11 (x64). See “Requirements” below.

Linux

  1. インストールする / Install
  2. 最初のアプリを作って動かす / Build and run your first app

Windows

  1. はじめかた / Getting started on Windows

前の版から上げる方 / Upgrading from an earlier release

ほかのエンジンから乗り換える方 / Switching from another engine

ダウンロード / Download ・ すべての文書 / All documentation

BlinkGTK で作られた EPUB リーダーが、夏目漱石『草枕』二章の冒頭を文字サイズ 150% の縦書き見開きで表示しているところ。章見出し「二」の行取り、密なルビ、鉤括弧の会話文、ページ番号 18/198・19/198 が見える / An EPUB reader built on BlinkGTK showing the opening of Kusamakura chapter 2 at 150% font size in a vertical two-page spread, with heading spacing, dense ruby, bracketed dialogue and page counters 18/198 and 19/198
『草枕』の表紙ページ。漱石の肖像写真と縦組みの紹介文 / The Kusamakura cover page with Soseki's portrait and a vertical introduction 三章の本文見開き。鉤括弧で組まれた俳句、ダーシ、密度の高いルビ / A spread from chapter 3 with a bracketed haiku, dashes and dense ruby 縦書きで組まれた目次。一から十三までの章リンク / The vertical table of contents with links for chapters one through thirteen 三章の等倍切り出し。低誦・朧夜・理窟・非人情などのルビとダーシが精細に描画されている / An unscaled crop from chapter 3 showing finely rendered ruby and vertical dashes
BlinkGTK が描画エンジンとして使用されているプログラムです — EPUB リーダーが 夏目漱石『草枕』を縦書き見開きで表示。 ルビも圏点も Blink がそのまま描画します。画像はクリックで拡大できます。
A program that uses BlinkGTK as its rendering engine: an EPUB reader showing Natsume Soseki's Kusamakura in vertical-writing two-page spreads — ruby and emphasis dots rendered by Blink. Click any image to enlarge.
Readium (Copyright Readium Foundation、BSD-3-Clause。EDRLab が主要開発元) を基に、 日本語組版拡張を BlinkGTK プロジェクトが実装 / Based on Readium (Copyright Readium Foundation, BSD-3-Clause; principally developed by EDRLab) with Japanese-typography extensions by the BlinkGTK project. 表示コンテンツ: 夏目漱石『草枕』(底本: 青空文庫、パブリックドメイン。EPUB は総務省事業で制作された 縦書きサンプル) / Content: Kusamakura by Natsume Soseki (Aozora Bunko text, public domain; EPUB sample produced by an MIC project).

BlinkGTK でアプリケーションを作られた方へ — このギャラリーでの紹介を募集しています。 スクリーンショットや動画を 掲載募集の窓口 までお寄せください。
Built something with BlinkGTK? We would like to feature it here — send screenshots or video to the call for submissions.

できること / What you can do

  • 縦書き・ルビ・禁則処理を含む日本語組版 — Blink の実装そのまま / Japanese typography incl. vertical writing and ruby, straight from Blink
  • HTML5・CSS3・JavaScript・メディア再生 — Chromium 156 と同じ Web プラットフォーム / The same web platform as Chromium 156
  • 独自 URL スキーム・JS↔C メッセージングで、Web ページをアプリの UI にする / Custom URL schemes and JS↔C messaging turn pages into app UI
  • ダイアログ・ファイル選択・ダウンロードを自前 UI に差し替え / Provide your own dialogs, file choosers and downloads
  • コンテンツ保護 — 電子書籍・キオスク向けにコピー・保存・印刷を禁止 / Content protection for e-book readers and kiosks
  • WebAssembly・WebGPU の Web 推論生態系がウィジェットの中に — モデルを端末内に置き、データを外に出さないオンデバイス AI の土台に / The web-inference ecosystem (WebAssembly, WebGPU) inside a widget — a foundation for on-device AI that keeps data local
  • GObject シグナルと Introspection — C のほか Python・GJS・Vala からも / GObject signals & introspection: C, Python, GJS, Vala
  • Chrome DevTools でデバッグ / Debug with Chrome DevTools

目的から関数を探すには: 逆引きリファレンス · How do I…?

最小のアプリ — これで全部 / A minimal app — this is all of it

#include <blink_gtk/blink_gtk.h>
#include <gtk/gtk.h>

int main(int argc, char **argv)
{
    blink_gtk_init(&argc, &argv);
    gtk_init();

    GtkWidget *win  = gtk_window_new();
    GtkWidget *view = blink_web_view_new();
    gtk_window_set_child(GTK_WINDOW(win), view);
    blink_web_view_load_uri(BLINK_WEB_VIEW(view), "https://example.com/");
    gtk_window_present(GTK_WINDOW(win));

    return blink_gtk_run_main_loop();
}

ビルドは pkg-config --cflags --libs blinkgtk-0.1 を通すだけ。リソース配置を含む完全な手順は アプリのビルドへ。 / Build with pkg-config; the complete walkthrough is in Building your application.

日本語

BlinkGTK は、Google Chrome と同じ Chromium / Blink レンダリングエンジンを、GTK4 アプリケーションへネイティブに組み込むための WebView エンジンです。Electron のようにブラウザ全体を同梱するのではなく、最新の Web エンジンそのものを一つの GTK ウィジェットとして扱えます。Wayland に対応し、自己描画方式で、上流の Chromium に追従して更新されます。

これにより、GTK4 のネイティブアプリ (Linux・Windows) の中で、現代的な HTML・CSS・JavaScript・メディア再生・複雑な文字組みを、本物のブラウザと同じ品質で動かせます。縦書きや禁則処理を含む日本語組版、音声と読み上げ箇所を同期させる EPUB 3 Media Overlays、DAISY 形式のアクセシブルな読書体験など、要求の厳しい用途にも応えます。

BlinkGTK は、電子出版とアクセシビリティのための参照実装を支える基盤として生まれました。Web 技術をアプリへ「埋め込む」体験を一級市民にすることを目指し、W3C コミュニティグループ Embedded Web Engines & Native Web Runtimes とも連携しながら、オープンに開発を進めています(このグループに参加する)。なお、このコミュニティグループは Web 技術について議論するための場であり、BlinkGTK 製品のサポート窓口ではありません。参加の前に、グループページの説明をよくお読みください。

English

BlinkGTK is a WebView engine that embeds the same Chromium / Blink rendering engine found in Google Chrome directly into GTK4 applications. Instead of bundling an entire browser the way Electron does, it lets you treat a modern web engine as a single GTK widget. It is Wayland-native, self-rendering, and stays current with upstream Chromium.

This means native GTK4 apps on Linux and Windows can run modern HTML, CSS, JavaScript, media playback, and complex typography at the same quality as a real browser. It is built for demanding use cases: Japanese vertical writing with line-breaking rules, EPUB 3 Media Overlays that synchronize audio with highlighted text, and accessible DAISY reading experiences.

BlinkGTK began as the foundation for a reference implementation for digital publishing and accessibility. Our goal is to make embedding the web a first-class experience — developed in the open, in coordination with the W3C Embedded Web Engines & Native Web Runtimes Community Group (join this group). Note that this community group is a forum for discussing web technology, not a support channel for the BlinkGTK product; please read the group's description carefully before joining.

Documentation

API リファレンス、チュートリアル、アプリのビルド手順。配布物に同梱されている ドキュメントと同一の内容で、記載されている API が同梱バイナリに実在することを 機械検証しています。

API reference, tutorials, and how to build your application. The same documentation that ships with the packages; every API named in it is mechanically verified to exist in the bundled binary.

Download

BlinkGTK v1.2.5-build2(2026-10-27 / Chromium 156.0.8078.47)

頁の配色が GTK のテーマ (light / dark) に合うようになりました。起動を短くしました

Page colors now follow the GTK theme (light / dark). Faster startup

変わったことと、以前の配色に戻す方法 / What changed, and how to keep the previous colors

ダウンロード (Linux) / Download (Linux)

全アセット / All assets

動作要件 (Linux) / Requirements (Linux)

  • x86_64, glibc 2.44+(Fedora 45 or later)
  • Wayland セッション必須 / Wayland session required(X11 のみの環境では動作しません / does not run under X11-only)
  • GTK4(4.6+、4.22 で検証済 / verified on 4.22)

対応表 (Linux) / Compatibility (Linux)

製品 / VersionChromium / BlinkAPI状態 / Status
v1.2.5-build2156.0.8078.470.1公開中 / current

描画経路 (Linux) / Render path (Linux)

経路 / Path版 / Versionホットスワップ / Hot-swap位置づけ / Role
BlinkGTK 標準 (software)v1.0対応 / yes — 配送経路のライブ切替 (v1.2.0-build9〜) / live delivery-path switching既定 / 全 compositor 互換 / default, all compositors
BlinkGTK EGL 標準 (GPU)v1.0自動のみ / automatic only — GPU が使えないとき software 配送へ自動で退避します (v1.2.1-build2 以降) / falls back to software delivery automatically when the GPU path is unusable。任意のタイミングで切り替える API は未公開 / no public on-demand switch yetBLINKGTK_GPU_MODE=egl で有効 / Mesa + dmabuf 対応 GPU が必要、GNOME Mutter で検証 / opt-in, needs Mesa and a dmabuf-capable GPU, verified on GNOME Mutter

Windows 版 / BlinkGTK for Windows

BlinkGTK for Windows v1.2.5-build1(2026-10-23 / Chromium 156.0.8078.47)

Windows 10 / 11 (x64) 向けの ZIP です。GTK4 と VC++ ランタイムを同梱しており、展開して bin\blinkgtk_browser.exe を実行すれば動きます。Chromium の版は Linux 版と同じ 156 です。

A ZIP for Windows 10 / 11 (x64). GTK4 and the VC++ runtime are bundled: unpack it and run bin\blinkgtk_browser.exe. It uses the same Chromium version (156) as the Linux build.

日本語の Windows で MSVC を使う場合は、コンパイルに /utf-8 を付けてください。付けないと、ヘッダがコードページ 932 として読まれ、公開ヘッダの日本語のコメント (UTF-8) や GTK のヘッダの © などの記号で警告 C4819 が出ます (1.2.1-build3 までのヘッダでは、BLINKGTK_BUILD と BLINKGTK_VERSION_FULL が未定義になりました)。

If you use MSVC on Japanese Windows, compile with /utf-8. Without it, the headers are read as code page 932, and the UTF-8 Japanese comments in the public headers and symbols such as © in the GTK headers raise warning C4819 (with the headers up to 1.2.1-build3, BLINKGTK_BUILD and BLINKGTK_VERSION_FULL were left undefined).

全アセット / All assets

動作要件 (Windows) / Requirements (Windows)

  • Windows 10 (64bit) 以降、x64 のみ / Windows 10 (64-bit) or later, x64 only(32bit 非対応 / no 32-bit)
  • 確認環境 / Verified on: Windows 11 Pro (build 26300)。Windows 10 は未確認 / not yet verified on Windows 10
  • コード署名なし。初回は SmartScreen の警告が出ることがあります / Unsigned; SmartScreen may warn on first run

対応表・描画経路 (Windows) / Compatibility and render path (Windows)

製品 / VersionChromium / BlinkAPI描画経路 / Render path
Windows v1.2.5-build1156.0.8078.470.1software (既定 / default)・GPU の経路 P4 (試験段階 / experimental)

全リリース / All releases: github.com/daisy19gnu/blinkgtk-dist

お知らせ・謝辞 / News and acknowledgements

更新のお知らせは お知らせ (Atom) に載せています。 外部からのご報告で直った不具合と、報告してくださった方は 謝辞 に記録しています。

Updates are posted to News (Atom). Defects fixed thanks to outside reports, and the people who reported them, are recorded in Acknowledgements.

お問い合わせ / Contact

BlinkGTK に関するお問い合わせは contact@blinkgtk.org までご連絡ください。製品での採用・PoC・受託開発のご相談は blinkgtk.com もご覧ください。

For inquiries about BlinkGTK, email contact@blinkgtk.org. For product adoption, proofs of concept, or custom development, see also blinkgtk.com.