Xgl
出典: フリー百科事典『ウィキペディア(Wikipedia)』
Xgl(エックスジーエル)はデスクトップをOpenGLを使って描画するX Window Systemのアーキテクチャーの一つ。Xサーバを現在のピクセル描画モデルからベクトル描画モデルに移行するものである。ノベル社のデビッド・レイブマン(David Raveman)によって開発された。
最近のPCは3D機能付きのグラフィックカードを搭載しているため、Xglを使用することによりX上で高速で多彩なエフェクトが使用できる。しかしながら、NVIDIAやATIのようなグラフィックカードベンダーはオープンソースのドライバーをほとんど提供していないので、現在のXサーバーがサポートする全てのマシン上でXglが動作するわけではない(動作するグラフィックカードのリスト[1])。
2005年の非常に閉鎖的な開発のされ方が問題になり、一部の開発コミュニティで論争を起こしたことがある。2006年のX開発者カンファレンスで実装が発表されてからは好意的に受け入れられた。
SUSE Linux10.1に搭載されている。
目次 |
[編集] バックエンド
OpenGL自体にはディスプレイを初期化したり、描画のコンテキストを操作する機能はない。そこでウィンドウシステム自体にこれらの指示を与えるようなバックエンドが必要である。今のところこれには二つの実装があり、初期化担当の部分を除けば違いはほとんどない。
[編集] Xglx
Xglxは最初に実装されたXglバックエンドである。現在使用しているXサーバーの上で動作し、XのOpenGL拡張によって描画する。これはちょうど、Xnestの機能と同じようなものである。しかし、このような動作方法だと3Dゴーグルやデュアルモニタのサポートが難しくなるということが、2006年のX開発者カンファレンスでNVIDIA社によって指摘されている[2]。将来的には、これは開発者だけが使用するものになる予定である。
[編集] Xegl
Xeglは将来のXglバックエンドである。描画担当のコードはXglxとほとんど違いはないが、OpenGL描画のための初期化と描画コンテキスト管理を、Embedded GLのAPIによって行う。現在の実装ではMesaによってLinuxフレームバッファーかDRIによるグラフィックカードへの描画を行っている。2005年の段階ではRADEON R200上でしか動作しない。現在も開発中である。
[編集] 動作原理
(stub)
[編集] 類似の技術
- cairoはXでベクトル描画を行うためのライブラリである。現在はXgl同様、glitz経由で動いているが、cairoをXgl上で動かすこともできる。また、Qt4.0はArthurというベクトル描画システムを備えているが、これも同様にXgl上でも動かすことができる。
- GNUstepではDisplayGhostscriptによってデスクトップのベクトル描画が可能である。
- AIGLXはX上でOpenGLによるエフェクトを可能にするためのプロジェクトである。Fedora Projectによって開発された。XglがXサーバーを完全に置き換えてしまうのに対し、こちらはXの一部を拡張し、プロトコルを追加している。しかし、AIGLXはXglのバックエンドの一つになる可能性が高いと言われている。
- Mac OS XではOpenGLによるデスクトップの描画はQuartz Extremeと呼ばれる技術によって既に使用されている。
- Windows Vistaにおいても同様の技術がDWM(旧Avalon)という名前で搭載される予定であるが、こちらはOpenGLではなくDirectXを使っている。
- Project Looking GlassはJavaによる3Dデスクトップ環境である。Xglと同様、OpenGLによるハードウェアアクセラレーションを利用している。
[編集] Compiz
Compiz(コンピズ)はXglを利用した最初のウィンドウマネージャである。デスクトップをキューブのように回転させたり、ウィンドウ動作をゼリーのように震わせる機能が特徴である。開発者はXglと同じである。Xの開発者カンファレンスの前日にコードが公開された。現在はAIGLXの上でも動作する。
[編集] 外部リンク
- Videos of XGL on Novell Linux Desktop 10
- Slides, screenshots and a video with more effects
- Japan.linux.com: 勢いづくXグラフィックス
- Article: The State of Linux Graphics - 現在のXサーバー周りの技術の歴史と概要(一部日本語訳)
- How Xgl works - Xglの動作原理解説。(一部日本語訳)
- Gentoo Linux XGL HowTo
- Ubuntu Linux XGL HowTo - Ubuntu 6.06LTS 向けXGL/Compizのインストール方法(英文)
- Vine Liunx: XGL と Compiz 導入のメモ
- Kororaa Linux Xglを搭載したLinuxディストリビューション。ライブCDにより環境を汚さずXglが体験できる。