Linux Conference '99で、XFree86の過去から将来までを総括した特別講演「XFree86 Past - Present - Future」レポート
1999年12月23日 08時01分更新
そしてもっとも興味が惹かれるであろう、将来、つまり1997年の4月から開発が始められたXFree86 Version 4について、その詳細が語られた。
開発体制
- ビデオカードベンダーがXのリリースサイクルをフォローせずに独立して(チームに参加せずに)ドライバを開発することができるようになった
- 3200カ所の変更(改善)がある
- レガシーコードをなくした
- X11R6.4のコードを統合した
- Version 4は1999年の7月から、Snapshot Releaseという方法をとっている。Linuxの配布物の中でもXというのはたいへん大きなコアコンポーネントなので、大きな変更があった場合、関連分野の移行のための開発を容易にするためだ。たとえば3Dのソフトウェアを作っているとして、XFree86に3D関連の変更があった場合、Snapshotを見ればその3Dソフトウェアに必要な変更を加えることができる
マルチヘッドカードのサポート
- 「XINERAMA」と呼ばれる機構によってマルチヘッドカードをサポートした
- マルチヘッドカードに接続された複数のモニタ上に1つの大きなXのストリームを作成できる。つまりWindowを1つのモニタから別のモニタにシームレスに動かすことができるようになる
- 複数のカードによる複数のモニタをサポートすることもできる
異なったbppの組み合わせのサポート
- 異なったbpp(Bit Per Pixel)を組み合わせることができるようになった。たとえば、異なったbppを切替えて使うこともできるが、24bppの画面上で8bppのグラフィックを扱うこともできる
- これらはグラフィック系のアプリケーションにおいて必要な機能であった
第2世代のXAA(XFree86 Acceleration Architecture)
- 第2世代のXAAにより画面描画がスピードアップした
- これは3Dアプリケーションなどに効果がある
マウス動作の改善
- 重いタスクが動いている時にはマウスがとびとびに表示されていたが、マウスインプットの扱いの変更とXクライアントのスケジューリングの変更によって、マウスの動作がスムーズになった
- これは3.3.xにも反映される
TrueType Fontのサポート
- 「TrueType」は本来MicrosoftのWindowsで使用されているものだが、XFree86でもWindows用などの高品質のTrueType Fontが表示可能になった
- 日本語などのマルチバイトフォントもUnicodeによりサポートされた
- これらはXTermで表示可能
- ローカライゼーションに関連してUTF-8をサポートしている
- UNIXのローカライズに詳しい人達は、このUTF-8を選択することに満足おらず、UTF-16の選択を望んでいるが、XFree86の国際化に対するインフラを考えてみると可能ではない
第2世代のDGA(Direct Graphic Architecture)のサポート
- Xのウィンドウ内で仮想マシンを実行するような場合、たとえばVMware内でWindows NTやWindows 98を起動しているときに、グラフィックの表示が遅かったのでDGAが考案された
- 現在バージョン1.1がリリースされているが、より最適化されたDGA 2がXFree86 Version 4に採用される
- VMwareはDGAによって色深度の変更が可能になった。これはVMware上のWindows 98環境で色深度の変更を行なえるようになったということだ
高速化されたOpenGL/Mesaのサポート
- 独SuSEが始めて米Precision Insightが部分的に関与して開発された
- 現在の3Dグラフィックの使用目的は、化学、CAD業界を除くとゲームだけかもしれないが、ゲームはコンピュータを使う上で重要な要素の1つである
- ユーザーはMicrosoft Officeを使いたいから速いマシンが欲しいなどというが、それは多分嘘で、本当はゲームをしたいからなのである
- DRI(Direct Rendering Infrastructure)によって、ハードウェアにより高速化された3Dグラフィックがサポートされた
- これによりOpenGLのサポートができるので、より多くの人達がより速いOpenGLを使用できるようになった
OS非依存のドライバモジュール
- 新しいXFree86の重要な特徴として、Xのアーキテクチャの変更が挙げられる。今までは個々のX Serverをいろいろなビデオチップに提供していたが、これからは単一のServer Binaryが存在して、これがXFree86と呼ばれるものになる
- モジュール化が進んでいる。たとえば、ビデオチップのドライバ、Font Reader、frame bufferサポート、などがモジュール化されている。また、これらはOS非依存で、つまりLinux、Solaris、FreeBSD、OS/2などでもロードすることができる
- ビデオカードベンダーがこのようなドライバモジュールを書くことができるようになれば、それをCD-ROMに収録してビデオカードとともに出荷できるようになる。これはWindows NTやWindows 98のドライバをCD-ROMに収録して出荷するのと同じで、Linuxが重要になっていくにつれ、ベンダーにとっては、最新のMicrosoftのOSに対してドライバを提供しなければならないのと同じように、Linuxに対してドライバを提供しなければならなくなることを意味する
- 多分来年(2000年)のクリスマスには、すべてのビデオカードのドライバが入手できるようになると考えている
今後のリリースについて
- 1999年の10月にAtlantaで初めて顔を会わせ、会議を開いた。そのすぐあとに、3.9.17のSnapshotをリリースするはずだったが、リリースを担当していた3人の本業が忙しくなったためにリリースが遅れてしまった
- インフラの問題を解決するのに大体6週間から2カ月かかってしまい、3.9.17のリリースは年末ということになった。このような問題はオープンソースの開発ではやむを得ない事情と考える
- 新しいドライバの中には調整しなければならないものもあるが、基本的には非常に安定したドライバで現在のグラフィックハードウェアをサポートできる
- 内部コードのインフラ、新しいデザインは終了している。現在は、未調整のドライバなど、マイナーなところが少し欠けているという状況である
- 1つの大きな問題点として、ドキュメンテーションが欠けていて、特にビギナー用のものとXFree86の設定に関するものが欠けている
- また、XFree86を設定するためのツールも十分ではない。古いツールを移植したが満足できるものではない
- これら不十分な点を改善するために2000年初頭にもう1つSnapshotをリリースする可能性がある
- XFree86 4.0を来年の第1四半期に出すことができるのではないかと考えている
- XFree86 3.3.xから4.0へすぐに移行するということではなく、移行のための期間を設ける。その期間は1年程度と考えている
- つまり3.3.xは4.0がリリースされてからも1年程度はメインテナンスされ、新しいハードウェアに対するドライバも増やしていく
- 4.0のリリース後は安定性と設定ツールの充実に目標を置く。特に設定ツールは一番の弱点であったと思うが、すでに方向性は定まっているので、必要な作業をしてこれを実現したいと考えている
![](/img/blank.gif)