作成者: BlinkGTK Project
最終更新: 2026-09-02 (BlinkGTK 1.2.2 / Chromium 153
baseline、#121 API リファレンス第 9 章の正本)
BlinkGTK が解釈する環境変数を 3 区分で定義します。embedder が依存してよいのは第 1 区分(公開サポート)のみです。
| 変数 | 値 | 既定 | 説明 |
|---|---|---|---|
BLINKGTK_GPU_MODE |
software / egl /
swiftshader |
software |
描画モードの選択。software
が推奨・既定。egl は GPU
経路(実験的)、swiftshader は software 相当 |
BLINKGTK_HEADLESS |
1 |
未設定 | headless 動作(実ディスプレイなし・CI 向け)。--headless
付与を制御 |
BLINKGTK_NO_SANDBOX |
1 / 0 |
未設定 | 1 = 無条件で無効化。0 =
無条件で有効のまま。未設定 = 自動判定 —
/proc/sys/user/max_user_namespaces を読み、0
か読めなければ無効化されます。効いたかは
blink_gtk_is_sandboxed() で問い合わせられます |
BLINKGTK_EXTRA_SCHEMES |
カンマ区切り scheme 名 | 未設定 | 追加のカスタム URL scheme を standard scheme として登録(例:
ebook)。custom scheme loader と併用 |
BLINKGTK_SCROLL_SPEED |
— | — | 廃止。設定しても効きません。スクロール量は固定の係数で決まります (2026-09-15 実測)。該当コードは残っていますが、どの出荷物にも入っていません |
BLINKGTK_DMABUF_PATH |
パス | 未設定 | egl モードの dmabuf デバイスパス指定 |
BLINKGTK_FRAME_PNG_DIR |
ディレクトリパス | 未設定 | フレーム PNG の保存先(検証用途。設定時のみ保存) |
BLINKGTK_FRAME_PNG_MAX |
整数 | 0 |
診断用フレーム PNG の保存枚数。既定 0 = 保存しない。診断が要るときだけ枚数を指定する |
BLINKGTK_DISABLE_SITE_ISOLATION |
1 |
未設定 | サイトごとのプロセス分離を無効化します。保護を弱めます。 分離は、あるサイトのページが乗っ取られたときに別のサイトのデータを読ませないための境界です。無効にすると複数サイトの文書が同じプロセスに同居します。v1.2.0-build8 から既定で有効で、これは不具合が出たときの逃げ道です |
BLINKGTK_PRESENT_POLICY |
warm / warm-force |
未設定 | 見る人がいない窓に対して、画面へ出す仕事 (合成・キャプチャ・転送)
を止めます。組版とラスタは止めないので先読みは保たれます。warm
は窓が隠れている間だけ、warm-force
は試験専用で常に止めます。復帰時は damage を待たず 1
回無条件でキャプチャするため、古いフレームは残りません |
BLINKGTK_LOG_LEVEL |
0 / 1 / 2 |
0 |
診断出力の量。0 すべて / 1 大幅に削減 /
2
ほぼ無音。ログが多いと感じたら上げてください |
BLINKGTK_DIAG_VERBOSE |
1 |
未設定 | 毎フレームの診断も出します (既定は抑止) |
BLINKGTK_A11Y |
1 |
未設定 | アクセシビリティを有効にします。 支援技術 (Orca 等)
が Web ページの中身を読めるよう、ページの構造を AT-SPI
に出します。既定では Chromium
がページのアクセシビリティ情報を作らないため、出すものがありません。常時有効にすると全ページでその構築費用がかかるので、必要なときに開く形にしています。支援技術の接続を検知して自動で開く機能はまだありません
(Orca を起動しておくだけでは有効になりません)。コマンドライン引数
--force-renderer-accessibility
でも同じことができますが、起動経路に依存しない環境変数のほうが確実です |
| 変数 | 効果(=0 等を設定した場合) | 関連 |
|---|---|---|
BLINKGTK_PUMP_LEGACY=1 |
fd-watcher pump を無効化し旧 g_idle pump へ(idle CPU が増加します) | #115 |
BLINKGTK_PUMP_RESCUE=0 |
pump 起床保証(100ms heartbeat)を無効化 | #120 |
BLINKGTK_CAPTURE_DAMAGE_GATE=0 |
capture damage gate(idle 時のフレームコピー抑制)を無効化 | #115 |
BLINKGTK_FORCE_SINGLE_THREADED=1 |
renderer を単一スレッド compositing に戻す(描画停止リスクあり) | |
BLINKGTK_120_INVAL_FALLBACK=0 |
invalidation フォールバック(白紙固定の修正)を無効化 | #120 fixG |
BLINKGTK_EGL_AUTO_FALLBACK=0 |
GPU 経路が使えないときの software 自動退避を無効化(画面が白いままになります) | |
BLINKGTK_EGL_AUTO_FALLBACK_MS=<ms> |
上記の待ち時間(既定 5000)。短くすると GPU 初期化の遅い機械で誤退避します | |
BLINKGTK_120_ACT_REDRAW=0 |
activation 再 damage(白紙固定の修正)を無効化 | #120 fixF |
BLINKGTK_120_CKB_REDRAW=0 |
checkerboard 再 damage(安全網)を無効化 | #120 fixE |
BLINKGTK_EGL_FRACTIONAL=1 |
egl モードの分数スケーリングを opt-in(実験的) | #117 |
BLINKGTK_EGL_RESIZE_BRIDGE=0 |
egl resize ブリッジを無効化 |
以下は開発・調査用の内部変数です。一覧のみ掲載し、詳細仕様は公開しません。無保証・予告なく削除されます。
| 分野 | 変数 |
|---|---|
| #120 の調査 | BLINKGTK_120_CC_DIAG /
BLINKGTK_120_DISP_DIAG /
BLINKGTK_120_CLIP_DIAG / BLINKGTK_120_DIAG /
BLINKGTK_120_PAINT_KICK / BLINKGTK_120_FI_ROW1
(fault injection・検証専用) / BLINKGTK_120_TYPEB_FIX |
| 組版 | BLINKGTK_VBREAK_P0 / BLINKGTK_TOC_P0 /
BLINKGTK_LAYOUT_DEBUG /
BLINKGTK_RUBY_RESERVE_EM |
| EGL 経路 | BLINKGTK_EGL_DIAG /
BLINKGTK_EGL_MANUAL_VIEWPORT /
BLINKGTK_EGL_BRIDGE_SETTLE_MS /
BLINKGTK_EGL_GTK4_NATIVE /
BLINKGTK_EGL_RECIPIENT_ALWAYS (EGL
の受け面を経路によらず常に作る試作) |
| 出力層・合成 | BLINKGTK_USE_K2C / BLINKGTK_USE_MOJO_IPC /
BLINKGTK_USE_EGL_WIDGET /
BLINKGTK_USE_NEW_OUTPUT_DEVICE /
BLINKGTK_USE_FSVC / BLINKGTK_SW_SUBSURFACE /
BLINKGTK_REENABLE_ENDPAINT_HOOK /
BLINKGTK_AURA_SHOW_IMMEDIATE |
| 経路のライブ切替 | BLINKGTK_BLINKSHIFT_AUTOSWAP /
BLINKGTK_BLINKSHIFT_EGL_RECREATE /
BLINKGTK_BLINKSHIFT_NO_KICK |
| 追跡・計測 | BLINKGTK_GX_LOG (EGL の配送を 1 行 1
事象で出す診断ログ。BJGX <事象> t=<ms> buf=<wl_buffer の wire id> submit=<通番>
形式) / BLINKGTK_CAPTURE_TRACE /
BLINKGTK_MOJO_TRACE /
BLINKGTK_TRACE_PIXEL_SUPPLIER /
BLINKGTK_HARNESS_AUDIT / BLINKGTK_MINORI /
BLINKGTK_PROFILE_DIR /
BLINKGTK_RESIZE_FIT |
| 検証専用 | BLINKGTK_DELIVER_LOG_MAX (EGL 配送ログの行数上限。既定
5。画面が出ないときに、どの操作が呼ばれたか・どの wl_buffer
だったかを定常状態まで追える) / BLINKGTK_CONTENT_PROBE_MAX
(定常状態の中身を 計測だけ 延長する。表示の判定は先頭 8
枚のまま変わらない) / BLINKGTK_TEST_FORCE_FRACTIONAL /
BLINKGTK_TEST_GPU_COPYFROMSURFACE /
BLINKGTK_TEST_ALLOC_LOG /
BLINKGTK_TEST_GATE_FAKE_PRE
(判定の基準を差し替える陰性対照) / BLINKGTK_TEST_FOCUS_LOG
/ BLINKGTK_TEST_SWITCH_PATH
(<経路 id>:<ms>) /
BLINKGTK_TEST_COMPOSITOR_RECREATE /
BLINKGTK_TEST_DISPOSE_QUIT_MS /
BLINKGTK_TEST_EXECV_RESTART /
BLINKGTK_TEST_OUTPUT_SWAP /
BLINKGTK_TEST_OUTPUT_SWAP_SKIP |
simple_browser) だけのものライブラリには効きません。 同梱デモを動かすときだけのものです。
| 変数 | 効果 |
|---|---|
BLINKGTK_RESTART_ACTIVATION=0 |
再起動時に activation token を引き継ぐのをやめます(引き継ぐと新しい窓が前面に出ます) |
BLINKGTK_RESTART_LINGER_MS=<ms> |
再起動を fork + 親の残存で行い、その残存時間を指定します。既定は 0(無効) で、従来どおり execv します |
BLINKGTK_PERMISSION_ALLOW |
デモが権限要求を自動で許可します。ライブラリ本体は既定で拒否します |
BLINKGTK_INSPECTOR_DASH |
インスペクタのダッシュボードを開きます |
BLINKGTK_TEST_SUITE /
BLINKGTK_TEST_CAPTURE |
デモの検証モード |
BLINKGTK_DEMO_NO_EBOOK /
BLINKGTK_DEMO_NO_JLREQ |
デモ起動時の EBOOK 設定 / JLReq 組版の適用を止めます |
BLINKGTK_MUTTER_REACTIVATE /
BLINKGTK_DEBUG_ISSUE_84 |
窓の前面化まわりの切り分け用 |
BLINKGTK_CHROMIUM_VERSION |
廃止。同梱しない内部デモ専用の変数でした。配布物では効きません |
BLINKGTK_AUTO_RESIZE=<回数> |
デモが窓を指定回数だけ自分でリサイズします (リサイズまわりの検証用)。止める指定ではありません |
BLINKGTK_AUTO_FULLSCREEN=<回数> |
デモが 2.5 秒ごとに全画面を指定回数だけ往復します。大きな一段のサイズ変化を作る検証用 |
| 変数 | 状態 |
|---|---|
BLINKGTK_KEEP_GPU_COMPOSITING=1 |
software 起動でも GPU
合成を無効にしません。描画経路を実行中に切り替えるための前提です。CPU
が増えます(手元の測定でアニメーションするページを 20 秒、約 12%
増。その機械・そのページでの比で、上限でも代表値でもありません)。EGL
経路の切替が公開 API になるまでは無保証です |
BLINKGTK_ENABLE_THREADED_COMPOSITING |
廃止(threaded compositing は既定 ON 化済み。旧名は無効) |
c-api-reference-ja.md
§BLINKGTK_GPU_MODE(本リファレンスへ統合予定)