Gallium3D は3Dグラフィックスハードウェアアクセラレーションのためのソフトウェアライブラリであり、Linuxとオープンソースのグラフィックス専門技術をもつ技術会社であるTungsten Graphicsによって開発されている。Gallium3DはグラフィックスAPIとオペレーティングシステム間を操作し、第一目標をドライバの開発を容易にし、いくつかの異なるドライバの別の方法で実装し重複したコードを一つにまとめることにしている。これはより良い分業を提供し(例えば、メモリ管理をカーネルのDRIドライバに残す)現代的なハードウェアアーキテクチャをサポートすることでなされている。
Gallium3Dは、シェーダーユニットのような標準的なハードウェア機能を公開するための統一されたAPIを提供する。そのため、OpenGLやのようなグラフィックスAPI、OpenCLなどのGPGPU基盤や、Wine互換レイヤーにあるDirect3Dのような3D APIは、Gallium3D APIを対象とするスタックトラッカーと呼ばれる単一のバックエンドのみを必要とする。一方、Mesa 3Dには個々のハードウェアプラットフォームに対して異なるバックエンドが必要で、いくつかの異なるAPIでは将来のオーバーヘッドを犠牲にしてOpenGLへの翻訳が必要である。 さらに、モジュラ構造のGallium3Dを使うことで、LLVMコンパイラスイートを利用し、オンザフライでシェーダーコードを最適化するモジュールを作成する作業が進行中である。
Gallium3Dのもとでは、DRM () カーネルドライバはメモリを管理し、(DRI2 と呼ばれている)DRI (Direct Rendering Infrastructure) ドライバはよりGPU処理指向になる。Mesa 3Dのもとでは実行不可能だと考えられているメモリ管理問題の解決をこれによって行える。
現状 最初の実装と既に部分的に動作するドライバはCellとIntel GPUドライバである。作業はスケルトンドライバを提供するATI Radeonカード上で完了し、nouveauチームは開発をGallium3Dに移している。
2008年7月13日時点でNouveau開発はGalliumフレームワーク専用でなされている。古いDRIドライバは Freedesktop.org 上のMesaリポジトリのmasterブランチから削除された。
脚注
外部リンク Mesa 3D official page Gallium-0.1 branch git repository on Freedesktop cgit. Gallium-0.2 branch git repository on Freedesktop cgit. An article on Gallium3D by Zack Rusin LWN article Presentation about Gallium3D (Akademy 2008からのビデオ) BitBlit.org: Generic GPU-Accelerated Video Decoding (Galliumを使ったGSoCプロジェクト) Low Level Virtual Machine (Gallium によって使われる動的リコンパイラバックエンド) Gallium3D - Graphics Done Right AKademy 2008におけるZack Rusin.プレゼンテーション