Oak Technologies Inc. 製チップセットユーザ向けの情報 Jorge F. Delgado Mendoza (delgadomendoza.j@pg.com) 17 August 1999 The X Japanese Documentation Project 12 September 1999 ____________________________________________________________ 目次 1. サポートしているチップセット 2. XF86Config のオプション 3. モードについて 4. リニアアドレッシング 5. 日本語訳について ______________________________________________________________________ 1. サポートしているチップセット このドライバはモノクロサーバと 8 ビット、256色の SVGA サーバで使われて います。以下に挙げる Oak Tech. Inc. 製のチップセットがサポートされてい ます: OTI037C 8ビットの VGA チップセットで、256K バイトまでの DRAM を積むこと ができます。筆者が見たことがあるものは全て標準 VGA モード(つま り、 320x200x256 以下と 640x480x16 以下)でしか動作しませんでし た。このチップの自動検出は現在は無効になっているので、代わりに汎 用 VGA ドライバを使ってください。 OTI067 ISA の SVGA 対応チップセットです。512K バイトまでの DRAM(普通は 70/80 ns)を積むことができます。 OTI077 067 の改良版で、1M バイトのメモリと 65MHz までのドットクロックに 対応しています。このチップセットはノンインタレースモードでは解像 度 1024x768, 256 色以下の表示が可能で、インタレースモードでは解 像度 1280x1024, 16 色までの表示が可能です。 OTI087 初期の VLB チップセットの1つであり、16ビット幅の外部データパスが あり、 32ビット幅の内部メモリコントローラデータパスがあります。 一部の機能に対応するアクセラレーション用ハードウェアを装備してい ます。この機能はレジスタベースの色展開、ハードウェアカーソル、プ リミティブな BitBlt エンジン、64ビットグラフィックラッチや、その 他の新しい(当時)機能です。 BIOS の最大解像度は 1024x768x256(ノン インタレース)と 1280x1024x256(インタレース)です。最大ドットク ロック値は 80MHz ですが、普通は 78MHz までの周波数にしか対応して いない OTI068 クロックジェネレータと組み合わせて使われます。この チップセットは 70/70R ns の DRAM を 2MB まで積むことができます。 OTI107, OTI111 Oak Tech. の新しい PCI チップセットです。このチップセットへの対 応は行われていません。というのも、このチップセットは非常に珍し く、筆者も実物を見たことがないからです。現在のところ、107 搭載ボ ードを見つけることはできていません。このようなボードを持っている 方がいらっしゃれば、ぜひ XFree86 に寄付してください。喜んでこの チップセットのサポートを追加します。 現在は OTI111 が入手できるようになっており、我々もこれをサポート するための作業を行っています。 OTI087 までの全てのチップセットは「後方互換性」があります。実際、 OTI087 ベースのチップセット用ドライバの初期のものには、077 用に作られ たものもありました。 アクセラレーション機能をサポートしているのは OTI087 チップセット用ドラ イバだけです。また、モノクロサーバは 067/077 チップセット用のものしか ありません。 2. XF86Config のオプション 以下に挙げるオプションは Oak ドライバ専用です。それぞれのオプション は、 XF86Config ファイルの 'svga' ドライバセクションの、適用したい Screen 向けのサブセクション内で指定しなければなりません(Device セク ションで指定すれば、全ての色の深さにおいてオプションを有効にすることが できます)。 Option "linear" (OTI087) 自動検出により ISA カードとして認識されるカードでは、このオプ ションを使用すると 0xE00000(14MB)においてリニアフレームバッファ が有効になります。 VLB カードでは、フレームバッファは 0x4E00000 にマップされます。アパーチャはXF86Config ファイルのパラメータ VideoRam またはボードに対して検出を行った結果値に依存しま す。DX2-66 486 マシンに VLB ベースのボードを積んでいる場合は、こ のオプションで 15% 程度性能が向上します。マザーボードが 0x4E00000 へのマップを行えないことがあり、その時にはメインメモリ が 14MB 以上あるとリニアモードは動作しないでしょう。これは筆者の 環境で確認しました。 Option "fifo_aggressive" (OTI087) このオプションを指定すると、チップセットのコマンド FIFO の閾値 が0インストラクションにセットされます。この値は16ビットデータ転 送においてはきっと最適値でしょう(これは異なる値を使って xbench で実験した結果です)。 DX2-66 の 486 マシンでは 5-10% の性能向上 が期待できます。 Option "fifo_conservative" (OTI087) このオプションは FIFO を安全な値である14にセットしますが、ボード の性能は 50% 低下します。このオプションを使うのは、画面に縞が入 るときや画面がおかしくなる時だけにしましょう。 Option "enable_bitblt" (OTI087) このオプションはボードの内部キャッシュを有効にします。このキャッ シュは基本的な bitblt エンジンとして使われます。性能はだいた い100%向上します(xbench の BlitStones 値が倍になります)。ほとん どの OTI087 ボードは、この機能に不具合があるようで、xterm が出力 するテキストが壊れたり、画面全体にマウスの移動した後のゴミが残っ たりします。経験則としては、まずはこのオプションを有効にしてお き、不具合があるようならば無効にするとよいでしょう。 Option "clock_50" (OTI087) このオプションは内部スピードを 50MHz にします。 Option "clock_66" (OTI087) このオプションは内部スピードを 66MHz にします。これにより、チッ プセットは高速に動作するようになります。 Option "no_wait" (OTI087) VLB インタフェースが待ち状態にならないように設定します。中程度の VLB ボード(筆者のボードは VLB/PCI で、あまり高速ではありませ ん)では、VLB 透過モードのとき、バス経由の転送レートは 16MB/秒 ま で上がります。 Option "first_wait" (OTI087) VLB インタフェースがバースト転送で読み書きを行うときに、最初 に1度待ち状態になるようにします。 Option "first_wwait" (OTI087) 前のオプションと似ていますが、これはバースト転送の最初の「書き込 み」の時だけ待ち状態になるようにします。読み込みには影響を与えま せん。これはサーバのデフォルトの動作です。 Option "write_wait" (OTI087) このオプションは、各書き込みサイクルごとに1度待ち状態になるよう に VLB インタフェースを設定します。 Option "read_wait" (OTI087) このオプションは、各読み込みサイクルごとに1度待ち状態となるよう に VLB インタフェースを設定します。 Option "all_wait" (OTI087) 全ての場合において待ち状態になるようにし、VLB 転送を最も遅くしま す。たぶん、このオプションを必要とするボードはないでしょう。 Option "one_wait" (OTI087) 少なくとも1度待ち状態になるように VLB インタフェースを設定しま す。 Option "noaccel" (OTI087) 最近、1つのアクセラレーションルーチンがドライバに追加されまし た。これにより、塗りつぶしの速度がずっと速くなりました。このルー チンは(最新の状態でも)分割アドレッシング使用時、かつ仮想スクリー ンの幅が 1024 の時しか動作しません。この機能はドライバが自動的に 有効にします。無効にしたい場合には、このオプションを指定します。 経験的には、最初に "no_wait" を試し、これでテキスト表示が乱れなければ そのままで大丈夫です。表示が乱れる場合には、"first_wwait" を試し、それ でも駄目なら性能を順次落としていきます。ISA カードを使っている場合に は、このオプションを指定してはいけません。 3. モードについて 非常に高いドットクロックを使用すると、ボードの性能に「非常に」悪い影響 を与えます。その理由は、ドットクロックは 80Mビット/秒に制限されている ため、高いドットクロックではフレームバッファへのデータ描画の能力が制限 されるからです。したがって、(例えば)72MHz ベースのモードの性能の方が 78MHz ベースのモードよりも性能が高くなると考えられます。スクリーンの書 き換えに必要とするバンド幅は後者の方が高いからです。 OTI087 では 76Hz, 1024x768 モード時に最高のクロック(78MHz)を使ってもあ まり意味がありません。カードがほとんど限界に達するからです。72MHz の ドットクロックでちょうど良い値は 70Hz です。ドットクロック 78MHz で 1024x768, 76Hz をサポートしているモニタを使う場合には、いずれにせよ普 通の OTI087 ベースのカードでは力不足です。 4. リニアアドレッシング リニアアドレッシングは ISA ボードの場合は 14M バイト、VLB ボードの場合 には 78M バイトとハードウェア的に決まっています。したがって、それ以上 の領域がある場合には、リニアアドレッシングを有効にしてはいけません。ア パーチャは XF86Config ファイルの VideoRam パラメータか、(VideoRam が設 定されていなければ)検出したメモリの量を使って決められます。 リニアアドレッシングは全ての ISA で動き、VLB ボードも問題無く動くと思 います(完全にはテストしていません)。 $XFree86: xc/programs/Xserver/hw/xfree86/doc/Japanese/README.Oak,v 1.1.2.2 1999/11/26 15:23:07 hohndel Exp $ $XConsortium: Oak.sgml /main/8 1996/05/12 20:58:00 kaleb $ 5. 日本語訳について 日本語訳は X Japanese Documentation Project が行いました (翻訳: 藤原輝 嘉 , 校正: 金田浩 司 )。 問題点の指摘やご意見は藤原まで御連絡ください。原文の著作権は XFree86 プロジェクト社にあり、日本語訳に伴う権利は X Japanese Documentation Project にあります。