このドライバでは、クロックを除いて、XF86Config においてデフォルトの操 作に対する指定を行う必要が全くありません。ですが、以下の指定を行なうこ とによってドライバの動作を変えることができます。
このドライバにおける name のデフォルト値は "ati"です。
"ati" ではなく "ativga" を指定すると、ドライバは検出した ATI アクセラ レータの CRTC を全く使わず、検出した ATI VGA CRTC を使用してスクリーン 表示を行います。
name として "ibmvga" を指定すると、ドライバの汎用 VGA サポートが有効に なりますが、これが有効になるのは ATI 製でないアダプタの場合だけです。 ATI 製のアダプタを検出した場合、ドライバは "ibmvga" でなく "ativga" が 指定されたものとして動作します。
ATI アダプタをサポートしている今までの XFree86 のサーバとの互換性のた め、このドライバは "vgawonder", "mach8", "mach32", "mach64" をチップセッ ト名として認識します。現在のバージョンのドライバでは、これらの名前は全 て "ati" と同じ意味になります。将来のリリースでは、それぞれの名前は別 の意味を持つようになるでしょう。これについてはその時に説明します。
XF86Config でクロック行を指定するときに生じる状況は4パターンあります。 これを以下に示します。
ATI 製でないアダプタのためにドライバの汎用 VGA サポートを設定する場合 は、後述の「ATI 製でないアダプタの Clocks 値」セクションまで進んでくだ さい。Mach64 アダプタのためにドライバ設定をしようとしていない 場合には、後述の「ATI アダプタの固定クロックジェネレータに対する Clocks 値」セクションまで進んでください。
ごく初期の Mach64 アダプタは固定(つまりプログラマブルでない)クロックジェ ネレータを使っています。このようなアダプタがあることはほとんど(試作品 くらいしか)知られていませんが、このようなアダプタを持っている場合には、 後述の「ATI アダプタの固定クロックジェネレータに対する Clocks 値」セク ションまで進んでください。
残りの2つのケースはプログラマブルクロックジェネレータを扱うためのもの です。プログラマブルクロックジェネレータは、ほとんど全ての Mach64 アダ プタで使われています。
読者の皆さんがお持ちのアダプタがどの場合に当てはまるのかが分からなけれ ば、コマンド "X -probeonly" を実行してクロックを自動検出することができ ます。
システム起動時に、ビデオ BIOS の初期化で周波数の組の初期値がプログラム されます。周波数の組のうち2つは予約されていて、初期値の組以外の周波数 を使うモードを設定することができます。この予約されているスロットの1つ は BIOS のモード設定ルーチンが使い、もう1つは特定のドライバ(例: MS-Windows, AutoCAd, X等)が使います。このように予約されているクロック 数は、アダプタが使っている特定のクロックジェネレータには依存します。
現在のドライバは、Mach64 アダプタで使われていることが知られている全て のプログラマブルクロックジェネレータをサポートしています。この場合、ド ライバは XF86Config におけるクロック指定を完全に無視し、X のセッション 中に使われるモードが必要とするようにクロックジェネレータをプログラムし ます。
このケースはまず起こらないはずですが、万全を期すために説明しておきます。
この場合には、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番目の設定に合わせた場合、(仮に動いたとして も)機能は「極めて」制限されたものになります。
このセクションの内容は、ごく初期の 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.225VGAWonder VLB, VGA 1024 VLB, Mach32, Mach64 を使っている場合には、最初 から 32 個までの周波数だけを指定しなければなりません。
ATI のアダプタに使われている他のクロックジェネレータ(どれも前述のいず れかのジェネレータのクローンと言えます)では、上記でゼロになっている部 分に対してゼロでない周波数が生成されることがあります。また、ゼロでない 部分に対して、ゼロを生成されることもあります。
クロック値の順序はとても「重要」です。しかし、クロック値の並べ直しを適 切と判断した場合、ドライバはクロック値を並べ直します。Mach32 と Mach64 を使っている場合には、この順序はアクセラレーション付きのサーバで使って いる順序とは異なることを注意しておくべきです。
クロック値が XF86Config ファイルで指定されていない場合、ドライバは 4 つのクロック値を自動的に検出します。そのうち 2 番目の値は 28.322MHz と 仮定されます。XF86Config ファイルで 4 つまでのクロック周波数を指定して、 アダプタが実際に使う値を指定することができます。それ以外は全て無視され ます。
Mach64 アクセラレータの CRTC か組み込みの Mach64 グラフィックスチップ を使っている場合、色の深さが256色以上のモードでは、ドライバはリニアビ デオメモリアパーチャをデフォルトで有効にします。このオプションは、この リニアアパーチャを無効にします。現在はこのオプションを指定すると、256 色以上のサポートも無効になります。
この指定は PCI でない Mach64 アダプタに対してのみ有効で、アダプタがビ デオメモリをマップする CPU アドレスを上書きするために使います。PCI で ないアダプタの場合、普通はアダプタ付属の DOS 用インストールユーティリ ティを使ってこのアドレスを設定します。MemBase オプションを使うと、ATI のユーティリティが使われていない、あるいは使えない場合にリニアアパーチャ を有効にすることができます。
PCI アダプタの場合は、このアドレスはシステム起動時にPCI のプラグ& プレイ仕様にしたがって決められます。この仕様は、システムのほとんどのデ バイスのリソース要求を調停します。つまり、ドライバは簡単にはリニアアパー チャアドレスを変更することはできません。
モードは XFree86 の doc ディレクトリにある情報から決めることができます。 XF86Config ファイル内の適切な Screen セクションの Display サブセクショ ンで「Modes」行を指定しない場合、ドライバはデフォルトのモードを生成し、 これを使おうとします。デフォルトモードのタイミングは、サーバ起動時に有 効になっているモード(通常はテキストモード)から決められます。