IT用語集 › インフラ › GGI (General Graphics Interface)

GGI (General Graphics Interface)

インフラ Svenska → 更新: 2026-10-24
詳細情報
作成者
Andreas Beck、Steffen Seeger
種類
グラフィックス抽象化レイヤ

1990年代にLinuxへ「カーネル内のグラフィックス層とその上の単一ライブラリ」を持たせようとした試み。Linusに却下されたが、十年後にKMSが似た形で実現した。

1990年代半ば、Andreas BeckとSteffen Seegerが始めたプロジェクト。SVGAlibのゲームはroot権限が必要で、落ちるとコンソールが死ぬ。XFree86はグラフィックスカードを占有するsetuidプログラムだった。この状況への不満が出発点である。計画は二本立てだった。KGI(Kernel Graphics Interface)はモード設定とハードウェアアクセスを一手に引き受けるカーネル内ドライバ群、LibGGIはKGI、X、フレームバッファデバイス、SVGAlib、さらにはAA-libまでを「ターゲット」として描画先に選べるライブラリで、同じバイナリのまま出力先だけ切り替えられる。入力側はLibGIIが同じ役割を担った。

1998年、LinusはカーネルMLで「グラフィックスをカーネルに入れる気はない」と答えた。要するにXで困っていない、という理由である。コンソールはm68k移植由来のフレームバッファデバイスが担うことになり、GGIは任意で使うライブラリに留まった。Berlin(のちのFresco)はGGI上に作られ、XGGIはその上のXサーバだった。プロジェクトは2007年頃に動きを止める。翌年、LinuxにKMSが入り、KGIが提案した内容を、今度はグラフィックスドライバ側から、GGIとは呼ばれないまま実現した。

← 用語集に戻る