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社によって指摘されているUsing the Existing XFree86/X.Org Loadable Driver Framework to Achieve a Composited X Desktop。将来的には、これは開発者だけが使用するものになる予定である。
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) 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が体験できる。
脚注