ATI 製ビデオアダプタの README Marc Aurele La France 1999 June 23 The X Japanese Documentation Project 1999 August 3 本ドキュメントは、XFree86 の今回のリリースに含まれる ATI ドライバに関 する README です。 ______________________________________________________________________ 目次 1. 目的 2. アクセラレーションについてのメモ 3. ATI アダプタの現在の実装 4. ATI 製でないアダプタにおける汎用 VGA サポートの現在の実装 5. XF86Config における指定 5.1 ChipSet "name" 5.2 Clocks 値 5.2.1 サポートされているプログラマブルクロックジェネレータの Clocks 値 5.2.2 サポートされていないプログラマブルクロックジェネレータの Clocks 値 5.2.3 ATI アダプタの固定クロックジェネレータに対する Clocks 値 5.2.4 ATI 製でないアダプタの Clocks 値 5.3 Option "nolinear" 5.4 MemBase address 5.5 Modelines 6. 既知の問題と制限 7. 問題の連絡 8. ドライバの履歴 9. ドライバのバージョン 10. 日本語訳について ______________________________________________________________________ 1. 目的 一般的に、このドライバは ATI ビデオアダプタ全てのためのもので、ハード ウェアの制限内で最大限のビデオ機能を提供します。また、このドライバは汎 用の VGA アダプタや 8514/A アダプタのサポートと同レベルのサポートを追 加的に提供しています。このドライバは現在も活発に開発されています。つま り、現時点では完全には目的に到達していないということです。 このドライバの機能を以下に挙げます: o ATI のアクセラレータが検出され、かつユーザがこのサポートを無効にし ていなければ、アクセラレーションがサポートされます。 o 上の条件に当てはまらない場合、8514/A の機能を持つ ATI 製でないアダ プタが検出され、かつユーザがこのサポートを有効にしていれば、アクセ ラレーションがサポートされます。 o 上のどちらの条件にも当てはまらない場合、VGA 機能を持つ ATI 製のアダ プタが検出されれば、アクセラレーションなしの SuperVGA がサポートさ れます。 o 上のどの条件にも当てはまらない場合、VGA 機能を持つ ATI 製でないアダ プタが検出され、かつユーザがこのサポートを有効にしていれば、汎用 VGA がサポートされます。 このように、提供されるサポートはドライバがシステムから検出した情報 だけでなく、XF86Config ファイルにおけるユーザ指定にも依存します。詳 しくは後述の「XF86Config における指定」のセクションを参照してくださ い。 以上のどの条件にも当てはまらない場合、ATI ドライバは自分自身を完全に無 効にし、他のドライバがシステムを調べられるようにします。 2. アクセラレーションについてのメモ このドキュメント中で使われる「アクセラレーション」という言葉の意味を はっきりさせておきましょう。アクセラレーションの多くの構成要素の中 に、CRT コントローラ(CRTC)と描画エンジンがあります。これは、システムに 存在する別の CRTC に対しる追加的なもので(同じチップに含まれることもあ ります)、基本的には EGA, VGA, SuperVGA の機能を提供します。 CRTC はグラフィックスコントローラの構成要素であり、ビデオメモリの読み 出しとスクリーンへの出力を受け持ちます。描画エンジンはアクセラレータの 要素であり、ビデオメモリの内容の操作をプログラムすることができ、これに より CPU が他の仕事をできるようにします。 VGA CRTC を使っている時は、ビデオメモリへの描画操作全てはシステムの CPU の仕事です。つまり、描画エンジンが使われることはありません。一方、 アクセラレータの CRTC でスクリーンを操作することにした場合は、描画エン ジンを使って描画操作を行うことができます。ただし、CPU がアクセラレータ のビデオメモリにアクセスできるなら、CPU を描画目的に使うことも可能で す。 ビデオアクセラレーションと言う言葉は、CPU の描画操作の負担を減らすため にアクセラレータの描画エンジンをプログラムすることを指します。よってア クセラレータの CRTC を使うことを暗に示しています。 3. ATI アダプタの現在の実装 ドライバは現在全ての ATI アダプタの SuperVGA 機能をサポートしています が、必要な機能を持っていない初期の Mach8 と Mach32 アダプタだけはこれ に含まれていません。以下に示す ATI 製グラフィックスコントローラチップ がある場合、このサポートは白黒、16 色、256 色のビデオモードで動作しま す。 VGAWonder シリーズ: 18800, 18800-1, 28800-2, 28800-4, 28800-5, 28800-6 Mach32 シリーズ: 68800-3, 68800-6, 68800AX, 68800LX Mach64 シリーズ: 88800GX-C, 88800GX-D, 88800GX-E, 88800GX-F, 88800CX, 264CT, 264ET, 264VT, 264GT (3D Rage), 264VT-B, 264VT3, 264VT4, 264GT-B (3D Rage II), 3D Rage IIc, 3D Rage Pro, 3D Rage LT, 3D Rage LT Pro, 3D Rage XL, 3D Rage XC, 3D Rage Mobility このドライバは、264xT, 3D Rage シリーズのアダプタでは(VGA CRTC ではな く)アクセラレータの CRTC を使って 3万2千色、6万4千色、1600万色のモード もサポートしています。このサポートでは、まだアクセラレーションは使用で きません。 新型の Rage 128 チップはまだサポートされていません。 上記のチップを使ったアダプタは、長年に渡って色々な名前で販売されてきま した。以下にこれを示します: VGAWonder シリーズ: VGAWonder V3, VGAWonder V4, VGAWonder V5, VGAWonder+, VGAWonder XL, VGAWonder XL24, VGAWonder VLB, VGA Basic, VGA Basic 16, VGA Edge, VGA Edge 16, VGA Integra, VGA Charger, VGAStereo F/X, VGA 640, VGA 800, VGA 1024, VGA 1024D, VGA 1024 XL, VGA 1024 DXL, VGA 1024 VLB Mach8 シリーズ: Graphics Ultra, Graphics Vantage, VGAWonder GT (8514/Ultra シリーズと 8514 Vantage シリーズは現 時点では全くサポートされていません。) Mach32 シリーズ: Graphics Ultra+, Graphics Ultra Pro, Graphics Wonder, Graphics Ultra XLR, Graphics Ultra AXO, VLB mach32-D, PCI mach32-D, ISA mach32 Mach64 シリーズ: Graphics Xpression, Graphics Pro Turbo, WinBoost, WinTurbo, Graphics Pro Turbo 1600, Video Xpression, 3D Xpression, Video Xpression+, 3D Xpression+, 3D Charger, Video Charger, WinCharger, All-In-Wonder, All-In-Wonder PRO, 3D Pro Turbo, XPERT@Play, XPERT@Play 98, XPERT@Work, XPERT 98, XPERT LCD, XPERT XL VGAWonder, Mach8, Mach32 ISA アダプタは、マウスがあってもなくても使用 することができます。 これらのアダプタで、様々なクロックジェネレータや RAMDAC と組み合わせた ものが利用可能です。264xT, 3D Rage シリーズのチップは組み込みコントロ ーラです。つまり、プログラマブルクロックジェネレータと RAMDAC を内蔵し ています。詳しくは、「XF86Config における指定」セクションを参照してく ださい。 このドライバは、スクリーンへのアクセラレーション付きの描画はまだサポー トしていません。つまり描画は全て CPU が行い、アクセラレータは全く使わ れません。したがって、例えば opaque move 操作はぎこちない動きになりま す。このように、IBM 8514/A や ATI Mach8 が CPU のフレームバッファへの アクセスを禁止している場合、現在のドライバはこれらのアクセラレータを無 視します。Mach32 アダプタの大部分はアクセラレーション付きの機能と VGA 機能の両方を持っていますが、ドライバは現在は VGA だけを使っています。 しかし、このドライバは全ての ATI Mach64 アダプタに付いているアクセラレ ータの CRTC をサポートしています。256色以上の色の深さのモードにおい て、このサポートはデフォルトで適用されますが、XF86Config のオプション を指定して SuperVGA の CRTC を使うようにもできます。256色以上の色の深 さのモードでは、リニアビデオメモリアパーチャを使用することができます。 264xT または 3D Rage コントローラが検出された場合か、88800 コントロー ラを使っている場合でアクセラレータの CRTC を使っていると、この機能はデ フォルトで有効になります。XF86Config のオプションを使ってこの機能を無 効にすることができますし、(PCI アダプタでなければ)有効にしたり他のアド レスに変更することができます。 4. ATI 製でないアダプタにおける汎用 VGA サポートの現在の実装 ATI 製でないアダプタの汎用 VGA サポートも実装されていますが、テストは ごく一部しか行われていません。ドライバは、ATI のアダプタではこの機能を 使えないようにわざとしています。このサポートは、XF86Config の ChipSet 指定を使って明示的にリクエストしなければなりません。これにより、現在の 汎用ドライバが無効にされてしまうことを防いでいます。 このドライバにおける汎用 VGA サポートの目的は、現在の汎用ドライバのサ ポートを拡張することです。特に、IBM の VGA 規格で定義されたアーキテク チャの範囲内で、このドライバは任意の256色モードや任意のドットクロック 周波数を使えるようにします。これにより、利用できるモードがずっと増えま す。 このドライバは、IBM のオリジナルの VGA の実装に由来する以下の制限を課 します: o 選択できる(プログラマブルでない)クロックの組は4つだけです。 o 白黒モードと 16色モードでは、ビデオメモリは 256KB に制限されます。 o 256色モードでは、ビデオメモリは 64KB に制限されます。 o インタレースモードは使用できません。 5. XF86Config における指定 このドライバでは、クロックを除いて、XF86Config においてデフォルトの操 作に対する指定を行う必要が全くありません。ですが、以下の指定を行なうこ とによってドライバの動作を変えることができます。 5.1. ChipSet "name" このドライバにおける name のデフォルト値は "ati"です。 "ati" ではなく "ativga" を指定すると、ドライバは検出した ATI アクセラ レータの CRTC を全く使わず、検出した ATI VGA CRTC を使用してスクリーン 表示を行います。 name として "ibmvga" を指定すると、ドライバの汎用 VGA サポートが有効に なりますが、これが有効になるのは ATI 製でないアダプタの場合だけです。 ATI 製のアダプタを検出した場合、ドライバは "ibmvga" でなく "ativga" が 指定されたものとして動作します。 ATI アダプタをサポートしている今までの XFree86 のサーバとの互換性のた め、このドライバは "vgawonder", "mach8", "mach32", "mach64" をチップ セット名として認識します。現在のバージョンのドライバでは、これらの名前 は全て "ati" と同じ意味になります。将来のリリースでは、それぞれの名前 は別の意味を持つようになるでしょう。これについてはその時に説明します。 5.2. Clocks 値 XF86Config でクロック行を指定するときに生じる状況は4パターンあります。 これを以下に示します。 ATI 製でないアダプタのためにドライバの汎用 VGA サポートを設定する場合 は、後述の「ATI 製でないアダプタの Clocks 値」セクションまで進んでくだ さい。Mach64 アダプタのためにドライバ設定をしようとしていない場合に は、後述の「ATI アダプタの固定クロックジェネレータに対する Clocks 値」 セクションまで進んでください。 ごく初期の Mach64 アダプタは固定(つまりプログラマブルでない)クロック ジェネレータを使っています。このようなアダプタがあることはほとんど(試 作品くらいしか)知られていませんが、このようなアダプタを持っている場合 には、後述の「ATI アダプタの固定クロックジェネレータに対する Clocks 値」セクションまで進んでください。 残りの2つのケースはプログラマブルクロックジェネレータを扱うためのもの です。プログラマブルクロックジェネレータは、ほとんど全ての Mach64 アダ プタで使われています。 読者の皆さんがお持ちのアダプタがどの場合に当てはまるのかが分からなけれ ば、コマンド "X -probeonly" を実行してクロックを自動検出することができ ます。 5.2.1. サポートされているプログラマブルクロックジェネレータの Clocks 値 システム起動時に、ビデオ BIOS の初期化で周波数の組の初期値がプログラム されます。周波数の組のうち2つは予約されていて、初期値の組以外の周波数 を使うモードを設定することができます。この予約されているスロットの1つ は BIOS のモード設定ルーチンが使い、もう1つは特定のドライバ(例: MS- Windows, AutoCAd, X等)が使います。このように予約されているクロック数 は、アダプタが使っている特定のクロックジェネレータには依存します。 現在のドライバは、Mach64 アダプタで使われていることが知られている全て のプログラマブルクロックジェネレータをサポートしています。この場合、ド ライバは XF86Config におけるクロック指定を完全に無視し、X のセッション 中に使われるモードが必要とするようにクロックジェネレータをプログラムし ます。 5.2.2. サポートされていないプログラマブルクロックジェネレータの Clocks 値 このケースはまず起こらないはずですが、万全を期すために説明しておきま す。 この場合には、XF86Config でクロック値が既に指定されていない限り、ドラ イバはアダプタに対してクロック周波数の自動検出を行います。どちらの場合 にも、ドライバはクロック値を正規化して以下の指定のうちのどれかにしよう とします: BIOS 設定 1: Clocks 0.000 110.000 126.000 135.000 50.350 56.640 63.000 72.000 0.000 80.000 75.000 65.000 40.000 44.900 49.500 50.000 0.000 55.000 63.000 67.500 25.180 28.320 31.500 36.000 0.000 40.000 37.500 32.500 20.000 22.450 24.750 25.000 BIOS 設定 2: Clocks 0.000 110.000 126.000 135.000 25.180 28.320 31.500 36.000 0.000 80.000 75.000 65.000 40.000 44.900 49.500 50.000 0.000 55.000 63.000 67.500 12.590 14.160 15.750 18.000 0.000 40.000 37.500 32.500 20.000 22.450 24.750 25.000 BIOS 設定 3: Clocks 0.000 0.000 0.000 0.000 25.180 28.320 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 12.590 14.160 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 ドライバがクロックを上記の3番目の設定に合わせた場合、(仮に動いたとして も)機能は「極めて」制限されたものになります。 5.2.3. ATI アダプタの固定クロックジェネレータに対する Clocks 値 このセクションの内容は、ごく初期の Mach64 アダプタのほとんどを除く全て の ATI 製アダプタに適用されます。 ドットクロックを生成するためにアダプタが使っているクロックジェネレータ に基づいて、以下のクロック指定(または指定のうち最初のいくつか)を使うこ とができます: Crystals (VGA Wonder V3 と V4 アダプタのみ): Clocks 50.000 56.644 0.000 44.900 44.900 50.000 0.000 36.000 25.000 28.322 0.000 22.450 22.450 25.000 0.000 18.000 16.667 18.881 0.000 14.967 14.967 16.667 0.000 12.000 12.500 14.161 0.000 11.225 11.225 12.500 0.000 9.000 クロックジェネレータ ATI 18810: Clocks 30.240 32.000 37.500 39.000 42.954 48.771 0.000 36.000 40.000 56.644 75.000 65.000 50.350 56.640 0.000 44.900 15.120 16.000 18.750 19.500 21.477 24.386 0.000 18.000 20.000 28.322 37.500 32.500 25.175 28.320 0.000 22.450 10.080 10.667 12.500 13.000 14.318 16.257 0.000 12.000 13.333 18.881 25.000 21.667 16.783 18.880 0.000 14.967 7.560 8.000 9.375 9.750 10.739 12.193 0.000 9.000 10.000 14.161 18.750 16.250 12.586 14.160 0.000 11.225 クロックジェネレータ ATI 18811-0 と ATI 18812-0: Clocks 30.240 32.000 110.000 80.000 42.954 48.771 92.400 36.000 39.910 44.900 75.000 65.000 50.350 56.640 0.000 44.900 15.120 16.000 55.000 40.000 21.477 24.386 46.200 18.000 19.955 22.450 37.500 32.500 25.175 28.320 0.000 22.450 10.080 10.667 36.667 26.667 14.318 16.257 30.800 12.000 13.303 14.967 25.000 21.667 16.783 18.880 0.000 14.967 7.560 8.000 27.500 20.000 10.739 12.193 23.100 9.000 9.978 11.225 18.750 16.250 12.588 14.160 0.000 11.225 クロックジェネレータ ATI 18811-1 と ATI 18811-2 : Clocks 135.000 32.000 110.000 80.000 100.000 126.000 92.400 36.000 39.910 44.900 75.000 65.000 50.350 56.640 0.000 44.900 67.500 16.000 55.000 40.000 50.000 63.000 46.200 18.000 19.955 22.450 37.500 32.500 25.175 28.320 0.000 22.450 45.000 10.667 36.667 26.667 33.333 42.000 30.800 12.000 13.303 14.967 25.000 21.667 16.783 18.880 0.000 14.967 33.750 8.000 27.500 20.000 25.000 31.500 23.100 9.000 9.978 11.225 18.750 16.250 12.588 14.160 0.000 11.225 VGAWonder VLB, VGA 1024 VLB, Mach32, Mach64 を使っている場合には、最初 から 32 個までの周波数だけを指定しなければなりません。 ATI のアダプタに使われている他のクロックジェネレータ(どれも前述のいず れかのジェネレータのクローンと言えます)では、上記でゼロになっている部 分に対してゼロでない周波数が生成されることがあります。また、ゼロでない 部分に対して、ゼロを生成されることもあります。 クロック値の順序はとても「重要」です。しかし、クロック値の並べ直しを適 切と判断した場合、ドライバはクロック値を並べ直します。Mach32 と Mach64 を使っている場合には、この順序はアクセラレーション付きのサーバで使って いる順序とは異なることを注意しておくべきです。 5.2.4. ATI 製でないアダプタの Clocks 値 クロック値が XF86Config ファイルで指定されていない場合、ドライバは 4 つのクロック値を自動的に検出します。そのうち 2 番目の値は 28.322MHz と 仮定されます。XF86Config ファイルで 4 つまでのクロック周波数を指定し て、アダプタが実際に使う値を指定することができます。それ以外は全て無視 されます。 5.3. Option "nolinear" Mach64 アクセラレータの CRTC か組み込みの Mach64 グラフィックスチップ を使っている場合、色の深さが256色以上のモードでは、ドライバはリニアビ デオメモリアパーチャをデフォルトで有効にします。このオプションは、この リニアアパーチャを無効にします。現在はこのオプションを指定すると、256 色以上のサポートも無効になります。 5.4. MemBase address この指定は PCI でない Mach64 アダプタに対してのみ有効で、アダプタがビ デオメモリをマップする CPU アドレスを上書きするために使います。PCI で ないアダプタの場合、普通はアダプタ付属の DOS 用インストールユーティリ ティを使ってこのアドレスを設定します。MemBase オプションを使うと、ATI のユーティリティが使われていない、あるいは使えない場合にリニアアパー チャを有効にすることができます。 PCI アダプタの場合は、このアドレスはシステム起動時にPCI のプラグ& プレ イ仕様にしたがって決められます。この仕様は、システムのほとんどのデバイ スのリソース要求を調停します。つまり、ドライバは簡単にはリニアアパー チャアドレスを変更することはできません。 5.5. Modelines モードは XFree86 の doc ディレクトリにある情報から決めることができま す。 XF86Config ファイル内の適切な Screen セクションの Display サブセ クションで「Modes」行を指定しない場合、ドライバはデフォルトのモードを 生成し、これを使おうとします。デフォルトモードのタイミングは、サーバ起 動時に有効になっているモード(通常はテキストモード)から決められます。 6. 既知の問題と制限 XFree86 の ATI ドライバに関連する問題や制限がいくつか明らかになってい ます。以下ではこれについて述べます: o PCI 版の Mach64 アダプタを使っているときに、停止したり画面が真っ暗 になってしまうシステムがあることが多数報告されています。この問題の 大部分は、ドライバには関係がないシステム側の問題であることが明らか になっています。この記述を行っている時点では、この問題は大きく3つに 分類することができます: 最近の一部のマウスに対するプロトコル指定が不適切。プロトコルの指定 を変更するか、別のマウスを使ってみてください。 システムの APM との干渉。この問題は Linux だけで起こります。バー ジョン 2.0.31 以前のカーネルにはバグがあり、APM を正しく操作できま せん。カーネルを新しいものに更新するか、APM サポートを無効にしま しょう。 o Mach64 の CTRC アクセラレータを使っているとき、仮想解像度のピクセル 幅は 8192 未満でなければなりません。VGA の CTRC では制限はもっと厳 しく、仮想解像度の幅は 4096 ピクセル未満か、2048 ピクセル未満(メモ リ 256kB 18800 ベースのアダプタと Mach64 組み込みのコントローラの場 合)でなければなりません。これはハードウェアの制限なので、回避するこ とはできません。 o 88800GX と 88800CX アダプタの VGA CTRC は、1MB 以上のビデオメモリ (白黒の場合は 256kB)を必要とする仮想解像度をサポートしていません。 これはハードウェアの制限なので、回避することはできません。 o ハードウェアの制限のため、88800GX, 88800CX, 264CT, 264ET アダプタの アクセラレータの CRTC はダブルスキャンモードをサポートしていませ ん。 o 18800-x と 28800-x は、仮想解像度の幅が 2048 ピクセル以上の時には白 黒のインタレースモードをサポートしません。これはハードウェアの制限 なので、回避することはできません。 o 18800 と 18800-1 アダプタでは、白黒モードと 16 色モードの時にビデオ メモリバンキングが動作しません。これはハードウェアの別の制限のよう なのですが、現時点では結論が出ていません。この場合には、ドライバは デフォルト動作としてビデオメモリを 256kB に制限します。 o 最近の Mach64 アダプタでは、デフォルトモードが動作しません。この問 題は、ドライバが間違ったドットクロックをモードに対して使おうとする ために起こります。将来のリリースでは、プログラマブルクロックジェネ レータのレジスタを取得し、モードが使う実際のクロックを決めるという 方法で、この問題が解決されるでしょう。 o XFree86 のサーバのほとんどは、サーバ立ち上げ時のビデオの状態をテキ ストモードと決め打ちしています。この決め打ちは、サーバをグラフィッ クスモードから起動する OS で問題を起こすことが分かっています。OS/2 の DBCS バージョン(特にアジア版)は、このような OS の代表例です。現 時点での解決法は、OS を何とかして、サーバをテキストモードで起動させ ることです。ATI ドライバには変更が加えられていて、起動時のモードを 単にアダプタの VGA CRTC(テキストモードかグラフィックスモード)としま す。これにより事態は改善しますが、問題が完全に解決するわけではあり ません。というのも、サーバがアクセラレータモードから起動されること もあるからです。XFree86 のサーバ全てについて、この問題をちゃんと解 決する作業は大変なので、作業されることは当面ないでしょう。 o 18800 と 18800-1 アダプタでは、モード切り替え時にビデオメモリが壊れ ることが未だにあります。この問題の症状としては、テキストモードに 戻った時にフォントがおかしくなることや、グラフィックスモードに入っ た最初の時に色々な現象(雪のようなノイズや、点線等)が生じることがあ ります。前者の場合の解決方法は、他の方法を使ってテキストフォントを 元に戻すことです。 Linux では、kdb パッケージや svgalib パッケージ でこれを行うことができます。後者の場合には通常、xrefresh(1) で画面 をきれいにすることができます。現在はこの問題を解決する方法はわかっ ていません。 o 264xT と 3D Rage アダプタで許される最大のクロック周波数をいくつにす べきかという議論があります。現在は、クロック値はコントローラ別にデ フォルトで 135MHz, 170MHz, 200MHz, 230MHz に制限されています。 XF86Config の DACSpeed の指定を用いると、この制限値を(ドライバが計 算した絶対的な最大値まで)大きくすることができます。しかし、この操作 はテストされておらず、アダプタを壊す可能性もあるので注意してくださ い。 o 1つ前の項目の場合を除き、ほとんどのアダプタでクロックは 80MHz に制 限されていますが、もっと高い周波数が使えるものもたくさんあります。 これは将来のリリースで修正されるでしょう。 将来のリリースでは、以下の項目が新しくサポートされるでしょう: o Mach32 アクセラレータの CRTC。これは、Mach32, Mach8, 8514/A やこれ らのクローンのアクセラレーションをサポートするための最初のステップ になります。 o 8 以上の色の深さ。ハードウェア的には使用可能です。 o Mach64, Mach32, Mach8, 8514/A の描画エンジン。 o ハードウェアカーソル。 このドライバを使った 3D アクセラレーション、「ウィンドウで TV を見 る」機能、ビデオキャプチャのサポートは一部のアダプタで実装されてい ますが、まだ実験の段階です。機能によっては開発中のものもあるのです が、現在の XFree86 のサーバには、これらの機能を組み込むためのフレー ムワークがありません。また、非公開協定に属するものを除いて ATI はこ れらの機能に関するレジスタレベルの仕様をまだ公開していません。 7. 問題の連絡 このドキュメントに書かれていない問題に出会ったら、このドライバと XFree86 の最新リリースを使っていることをまず確認してください。よく分か らなければ、サーバの標準エラー出力を ftp://ftp.xfree86.org/pub/XFree86 を調べてください。 次に XFree86 の doc ディレクトリを調べ、他に情報がないか探してくださ い。 3番目に、http://www.xfree86.org/FAQ を忘れずに読んでください。 4番目に、使いやすいアーカイブサービスを利用してニュースグループ comp.windows.x.i386unix と comp.os.linux.x を調べることも問題解決に役 立つでしょう。 それでもまだ問題が解決しないなら、電子メールを tsi@ualberta.ca 宛に 送ってください。問題はできる限り具体的に書き、サーバの標準エラー出力お よび使用した XF86Config ファイルのコピーを編集せずに添付するようにして ください。 8. ドライバの履歴 ドライバの完全な履歴ははっきりしなくなっています。以下の記述は不完全か つ不正確だと思います。 X386 1.1a で初期の ATI アダプタを最初に動作させたのは、どうも Per Lindqvist さんのようです。実際には、このオリジナルのドライバは、Thomas Roell さん(現 Xi Graphics)が書いた、実用的には動作しなかった ATI ドラ イバをベースにしているようです。 次に Doug Evans (dje@cygnus.com)さんが、ATI VGA Wonder XL のサポートを 追加しました。これは、当時利用可能だった他の ATI アダプタ全てでドライ バを動作させようと試みた結果です。 1992 年の夏、Rik Faith (faith@cs.unc.edu)さんが X11R4 用のドライバ をDoug Evans さんから入手し、このコードを X11R5 の X386 部分に移植しま した。これはその後に XFree86 の一部になりました。 1993 年の秋、Rik さんが VGA Wonder カードの部分を取り除いた後に、筆者 (Marc Aurele La France)がドライバの開発とメンテナンスを引き継ぎまし た。 9. ドライバのバージョン 今度の XFree86 のリリースでローダブルドライバが導入されるため、ドライ バのバージョンを履歴とは別に記録する必要が出てきました。今回リリースし たドライバでは、筆者は以下に示すようなバージョン番号の設定規則を導入し ています。 このドライバのバージョン 1 は、筆者が Rik Faith さんから引き継いだもの です。これは XFree86 2.0, 2.1 に含まれているバージョンです。 バージョン 2 は筆者がこのコードを最初に書き直したもので、ドライバを VGA Wonder, Mach32, 初期の Mach64 アダプタの全てに対応するように一般化 する試みを、一部うまく行っていないまま終えただけのものです。このバー ジョンのドライバの様々なリリースが XFree86 2.1.1, 3.1, 3.1.1, 3.1.2 に 含まれています。 バージョン 3 は筆者が 2 回目に書き直したものです(書き直すにつれてむし ろおかしくなりました)。バージョン 3 では、筆者は Mach64 用のクロックプ ログラミングを導入し、古い ati_test デバッギングツールにマージしまし た。これは XFree86 3.2, 3.3, 3.3.1 に含まれているバージョンです。 バージョン 4 はバージョン 3 をかなり大幅に再構成したもので、筆者が 1 つのソースファイルでうまく扱えるサイズを越えてしまいました。このバー ジョンでは、アクセラレーションや色の深さの追加などの新しい機能の導入が かなり簡単になっていると思います。これは XFree86 3.3.2, 3.3.3, 3.3.3.1, 3.3.3.2, 3.3.4, 3.3.5, 3.3.6 に含まれているバージョンです。 $XFree86: xc/programs/Xserver/hw/xfree86/doc/Japanese/README.ati,v 3.1.2.3 1999/12/28 12:13:49 hohndel Exp $ $XConsortium: ati.sgml /main/9 1996/10/19 18:03:54 kaleb $ 10. 日本語訳について 日本語訳は X Japanese Documentation Project が行いました (翻訳: 藤原輝 嘉 , 校正: 金田浩 司 )。 問題点の指摘やご意見は藤原まで御連絡ください。原文の著作権は XFree86 プロジェクト社にあり、日本語訳の著作権は X Japanese Documentation Project にあります。