Xgl

Xgl（エックスジーエル）はデスクトップをOpenGLを使って描画するX Window Systemのアーキテクチャの1つ。Xサーバを現在のピクセル描画モデルからベクトル描画モデルに移行するものである。ノベル社のデビッド・レイブマン (David Reveman) によって開発された。

最近のPCは3D機能付きのグラフィックカードを搭載しているため、Xglを使用することによりX上で高速で多彩なエフェクトが使用できる。しかしながら、NVIDIAやATIのようなグラフィックカードベンダーはオープンソースのドライバーをほとんど提供していないので、現在のXサーバがサポートする全てのマシン上でXglが動作するわけではない。

2005年に、非常に閉鎖的な開発のされ方が問題になり、一部の開発コミュニティで論争が起こったことがある。しかし、2006年のX開発者カンファレンスで実装が発表されてからは好意的に受け入れられた。

バックエンド  
OpenGL自体にはディスプレイを初期化したり、描画のコンテキストを操作する機能はない。そこでウィンドウシステム自体にこれらの指示を与えるようなバックエンドが必要になる。今のところこれには2つの実装があるが、初期化担当の部分を除けば違いはほとんどない。

Xglx 
Xglxは最初に実装されたXglバックエンドである。現在使用しているXサーバの上で動作し、XのOpenGL拡張によって描画する。これはちょうど、Xnestの機能と同じようなものである。しかし、このような動作方法だと3Dゴーグルやデュアルモニタのサポートが難しくなるということが、2006年のX開発者カンファレンスでNVIDIA社によって指摘されている。将来的には、これは開発者だけが使用するものになる予定である。

Xegl
Xeglは将来のXglバックエンドである。描画担当のコードはXglxとほとんど違いはないが、OpenGL描画のための初期化と描画コンテキスト管理を、Embedded GLのAPIによって行う。現在の実装ではMesaによってLinuxフレームバッファーかDRIによるグラフィックカードへの描画を行っている。2005年の段階ではRADEON R200上でしか動作しない。現在も開発中である。

類似の技術
cairoはXでベクトル描画を行うためのライブラリである。現在はXgl同様、glitz経由で動いているが、cairoをXgl上で動かすこともできる。また、Qt 4.0はArthurというベクトル描画システムを備えているが、これも同様にXgl上でも動かすことができる。
GNUstepではDisplayGhostscriptによってデスクトップのベクトル描画が可能である。
AIGLXはX上でOpenGLによるエフェクトを可能にするためのプロジェクトである。Fedora Projectによって開発された。XglがXサーバを完全に置き換えてしまうのに対し、こちらはXの一部を拡張し、プロトコルを追加している。しかし、AIGLXはXglのバックエンドの一つになる可能性が高いと言われている。
macOSでは、OpenGLによるデスクトップの描画はQuartz Extremeと呼ばれる技術によって使用されている。
Windows Vistaにおいても同様の技術がDesktop Window Manager (DWM) という名前で搭載されている。こちらはOpenGLではなくDirectXを使っている。
Project Looking GlassはJavaによる3Dデスクトップ環境である。Xglと同様、OpenGLによるハードウェアアクセラレーションを利用している。

Compiz 
CompizはXglを利用した最初のウィンドウマネージャである。デスクトップをキューブのように回転させたり、ウィンドウ動作をゼリーのように震わせる機能が特徴である。開発者はXglと同じである。現在はAIGLXの上でも動作する。

外部リンク 

 Xgl
 Xegl
 X.orgメーリングリストでのアナウンスメント
 openSUSE wiki: Xgl　（日本語）
 openSUSE wiki: Compiz
 Embedded GL 仕様書

 ノベルのXglプレスリリース
 ノベルのポッドキャスト、開発者デビッド・レイブマンが語るXglの基礎と未来

 Videos of XGL on Novell Linux Desktop 10
 Slides, screenshots and a video with more effects
 Compizのデモムービー（avi）
 勢いづくXグラフィックス japan.linux.com (SourceForge.JP Magazine)

 Article: The State of Linux Graphics - 現在のXサーバ周りの技術の歴史と概要（一部日本語訳）
 How Xgl works - Xglの動作原理解説。（一部日本語訳）

 Gentoo Linux XGL HowTo
 Ubuntu Linux XGL HowTo - Ubuntu 6.06LTS 向けXGL/Compizのインストール方法（英文）

 Kororaa Linux Xglを搭載したLinuxディストリビューション。ライブCDにより環境を汚さずXglが体験できる。

脚注

Freedesktop.org
X Window System
OpenGL