BlinkGTK 環境変数リファレンス(公開サポート正リスト)

作成者: BlinkGTK Project
最終更新: 2026-09-02 (BlinkGTK 1.2.2 / Chromium 153 baseline、#121 API リファレンス第 9 章の正本)

BlinkGTK が解釈する環境変数を 3 区分で定義します。embedder が依存してよいのは第 1 区分(公開サポート)のみです。


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 でも同じことができますが、起動経路に依存しない環境変数のほうが確実です

2. エスケープハッチ(既定のまま推奨)

変数 効果(=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 ブリッジを無効化

3. 内部診断(サポート対象外)

以下は開発・調査用の内部変数です。一覧のみ掲載し、詳細仕様は公開しません。無保証・予告なく削除されます。

分野 変数
#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

3b. 同梱デモ (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 秒ごとに全画面を指定回数だけ往復します。大きな一段のサイズ変化を作る検証用

4. 廃止

変数 状態
BLINKGTK_KEEP_GPU_COMPOSITING=1 software 起動でも GPU 合成を無効にしません。描画経路を実行中に切り替えるための前提です。CPU が増えます(手元の測定でアニメーションするページを 20 秒、約 12% 増。その機械・そのページでの比で、上限でも代表値でもありません)。EGL 経路の切替が公開 API になるまでは無保証です
BLINKGTK_ENABLE_THREADED_COMPOSITING 廃止(threaded compositing は既定 ON 化済み。旧名は無効)

関連