AIGLX(Accelerated Indirect GLX)は、
X.Org Foundationと
Fedoraコミュニティによって共同で開発されたオープンソースプロジェクトです。このプロジェクトは、3D
デスクトップ環境の実現を主な目的としています。具体的には、
シリコングラフィックスが1990年代に開発したXサーバのGLX拡張を、現代の
ビデオカードが持つグラフィックアクセラレーション機能やDRI(Direct Rendering Infrastructure)を活用して高速化することを目指しています。
Xglとの違い
AIGLXとXglは、どちらも3D
デスクトップ環境を構築するための技術として開発されました。そのため、両者はしばしば同じものとして認識されがちですが、実際には全く異なる設計思想に基づいています。
Xglは、Xnestのように他のXサーバ上で動作する新しいXサーバです。
OpenGLのAPIを通じて、2D描画とGLXの処理を可能な限り高速に行うように設計されています。一方、AIGLXは、既存のXサーバの拡張モジュールとして機能します。従来のGLXを高速化し、3D
デスクトップ環境の実現に必要な機能を補完する役割を担っています。したがって、両者は技術的に競合するものではなく、互いに補完し合う関係にあります。実際、両プロジェクト間ではコードの共有や互換性の維持など、協力的な取り組みが行われてきました。その結果、Xglの初期
ウィンドウマネージャであった
Compizも、AIGLX上で動作するようになりました。
利用環境
AIGLXは、X11R7.1以降の
X Window Systemでサポートされています。GLX(
OpenGL Extension to the
X Window System)は、
X Window System上で
OpenGLを実行するための技術です。AIGLXは、このGLXを高速化し、3Dグラフィックスのパフォーマンスを向上させる役割を担っています。
プロプライエタリドライバとの関係
NVIDIAやATIなどのプロプライエタリなグラフィックドライバは、もともとGLXの高速描画を独自に実装していました。これらのドライバは、Xサーバに標準でインストールされているGLX拡張モジュールを置き換える形で動作します。一方、AIGLXは、XFree86でMesaによって実装されていたGLXを改良したものです。Mesaのグラフィックアクセラレーション機能をより効果的に活用できるように設計されています。
Compizなどの
ウィンドウマネージャは、視覚効果の実現にtexture_from_pixmapと呼ばれる
OpenGL拡張機能を利用しています。当初、この拡張機能はMesaのみで実装されており、プロプライエタリなドライバを利用する環境では、各ベンダーが対応するまで3D
デスクトップ環境を利用することができませんでした。
NVIDIAは、2006年9月リリースのGeForce 9000シリーズ以降のドライバで、この拡張機能に対応しました。
また、AIGLXをサポートしていない古いXサーバであっても、ベンダー製のドライバがアプリケーションの要求を満たしていれば、AIGLXとほぼ同等の環境を実現できます。これにより、幅広い環境で3D
デスクトップ環境の利用が可能となっています。
関連技術とプロジェクト
外部リンク