次のページ 前のページ 目次へ

1. 序文

XFree86 に新しい SVGA チップセットのサポートを追加することは ハードウェアに密着したプログラミングについて学習したい人にとって 手ごたえのある作業です。このような作業には危険が一杯です。 特に、マシンがハングアップしてしまうようなことは日常茶飯事です。 それでも最終的に、サーバが立ち上がってうまく動いてくれた時は、 底知れぬ満足感にひたれます。

SVGA チップセット対応のドライバを追加することはサーバの基本機能を 変更するものではありません。ただ、256 色同時発色のカラーサーバか モノクロサーバが出来るだけです。新しいハードウェア(例えばアクセ ラレータチップ)を追加することは重要な仕事で、文書化出来るような 定型的作業には程遠いものです。

それにもかかわらず、ここで行うドライバを書くようなプログラミングは 良い入門となります。多くのアクセラレータチップセットは SVGA の上位互換 であるため、それらに対するサポートを追加するための最初の段階としても 意味のある作業です。 該当するチップに対応した SVGA のドライバを書くことによって、新しい機能を 追加するときに安定した開発環境で作業できます (実際、XFree86 2.0 のために S3, Cirrus および WD のアクセラレータ対応サーバーを開発した際には、先に これらのチップセットに対応した SVGA ドライバが作成され、XFree86 内部の 開発者たちによって使用されました。)

[訳注: 最近では個別のアクセラレータ対応サーバーを開発することより むしろアクセラレータ対応の SVGA ドライバを開発することのほうが多いよう です。3.3.3 で追加された Cyrix や NeoMagic の他 S3V, Trident, C&T などの SVGA ドライバはアクセラレータに対応しています。一方 3Dlabs や I128 のように最近でも個別のアクセラレータ対応サーバーとして開発された 例もあります。また、以下の説明は XFree86 3.x までのコードをベースと していますが、現在 XFree86 で開発中の 4.0 ではサーバーの構造に大きな 変更が加えられており、以下の説明がそのまま合てはまらなくなっています。 これから新しいドライバーを書こうという場合には、できるだけ XFree86 に 参加して最初から 4.0 用に作成したほうが良いでしょう。それでも、以下の 説明を理解しておくことは無駄ではありません。用語や基本的な仕組などに ついては参考になるものと思います。]

さあ、始めましょう。この文書に加えて、スタブドライバを提供しています。 これは新しいドライバを開発する際に完全な骨組みとして使えるように提供 するものです。 この文書が大きいからといって作業が過度に難しいと思わないでください。 この文書をできる限り完全なものに近づけるために、多くの努力が注がれました。 ですから理論的には、この文書を作業手順書として使い、最後までその手順に 従って実行していけば、ちゃんと動作するドライバーができあがるはずです。 なお作業を開始する前に、この文書を最初から最後までじっくり読み通しておく ことをお勧めします。


次のページ 前のページ 目次へ