  Chips and Technologies ユーザ用の情報
  David Bateman (dbateman@eng.uts.edu.au),
  Egbert Eich (Egbert.Eich@Physik.TH-Darmstadt.DE)
  5th June 1998
  (3.3.2 まで) 岡本 一幸 Kazuyuki Okamoto
  <ikko-@pacific.rim.or.jp>,
  (3.3.3) 佐野 武俊 Taketoshi Sano <kgh12351@nifty.ne.jp>
  1999/02/03 (ja)
  ____________________________________________________________

  目次

  1. はじめに
  2. サポートしているチップ
  3. XF86Config オプション
  4. Modelines
  5. クロックの制限に関するまとまった説明
  6. トラブルシューティング(問題解決)
  7. 責任放棄声明
  8. 謝辞
  9. 著者

  ______________________________________________________________________

  1.  はじめに

  Chips and Technologies 社のチップセットは、電力消費管理回路が重要な意
  味を持つようなラップトップコンピュータ上で使われることを主な用途として
  製造されています。

  しかし、デスクトップ機用のいくつかの "Green"" ビデオカードにも、これら
  のチップを使っているものがあります。

  この版の XFree86 では次の機能をサポートしています。

  o  リニアアドレッシング

  o  ピクセルあたり 16/24/32 ビット

  o  プログラマブルクロック機能の完全なサポート

  o  ハードウェアカーソル

  o  XAA を使用した殆んどの操作での BitBLT 高速化機能

  ほとんどの Chips and Technologies 社製チップセットは、程度の差はあるに
  せよ、このドライバーによってサポートされています。

  2.  サポートしているチップ

     ct65520
        (最大メモリ: 1M バイト,最大ドットクロック: 5V 時 68MHz )

     ct65525
        このチップは基本的に 65530 として認識します。探査時に、 65530 と
        同じ ID を返します。詳細は ct65530 を見てください。

     ct65530
        このチップは 65520 そっくりです。しかし、 5V と 3.3V の混合動作
        モードとビデオメモリのリニアアドレッシングを追加しています。 (最
        大メモリ: 1M バイト,最大ドットクロック: 3.3V 時 56MHz, 5V 時
        68MHz )

     ct65535
        このチップは ct655xx 系列でプログラマブルクロックを完全にサポー
        トした最初のチップです。その他の特性は 65530 と同じです。

     ct65540
        ct655xx 系列で Hi-Color と True-Color をサポートした最初のチップ
        です。完全にプログラム可能なドットクロックと全ての種類のフラット
        パネルをサポートしています。 (最大メモリ: 1M バイト,最大ドットク
        ロック: 3.3V 時 56MHz, 5V 時 68MHz )

     ct65545
        このチップは 65540 そっくりです。ハードウェアカーソル、ポップ
        アップメニューの高速化、 BitBLT 機能と PCI バスをサポートしてい
        ます。 PCI 版は BitBLT とハードウェアカーソルのためのレジスタを
        すべて基底アドレスから始まる 2M バイトの空間に割り付け出来ます。
        (最大メモリ: 1M バイト,最大ドットクロック: 3.3V 時 56MHz, 5V 時
        68MHz )

     ct65546
        このチップは東芝の為に特別に製造されました。そしてそのために資料
        が広く公開されていません。実際には単に 80MHz の最大ドットクロッ
        クを使えるようにした 65545 であると考えられています。 (最大メモ
        リ: 1M バイト?,最大ドットクロック: 80MHz? )

     ct65548
        このチップは 65545 に似ています。しかし、XRAM と 65546 の高い
        ドットクロックをサポートしています。 (最大メモリ: 1M バイト,最大
        ドットクロック: 80MHz )

     ct65550
        これ以前の ct655xx 系列のチップとは全く異なる新しいアーキテク
        チャの最初のチップです。このチップには、例えば改良された BitBLT
        機能 (24bpp に色を拡張、最大ピッチを拡大等々)、マルチメディア機
        構 (例えばビデオキャプチャ、ズームビデオポート等々)、 24bpp 非圧
        縮天然色 (つまり 32bpp モード) などを含む、多くの新しい機能が盛
        り込まれています。また、全てのバス構成においてメモリマップ入出力
        も可能です。 (最大メモリ: 2M バイト,最大ドットクロック: 3.3V 時
        80MHz, 5V 時 l00MHz )

        (注：PCI バス接続でない ct65550 を持つシステムのうち、すくなくと
        もひとつの機種 (Libretto50) では、 BIOS の CMOS 設定がデフォルト
        の場合、 SuperProbe コマンドにチップの種類を正しく検出させるため
        に "-no_bios" オプションが必要です。 XF86_SVGA サーバーは同じ状
        況でもオプション無しで正しくチップを検出可能です。)

     ct65554
        このチップは 65550 に似ていますが 32 ビットバスではなく 64 ビッ
        トメモリバスです。またこのチップではメモリクロックとピクセルク
        ロックの上限がより高くなりました。 (最大メモリ: 4M バイト, 最大
        ドットクロック: 3.3V 時 100MHz)

     ct65555
        65554 に似ていますが、メモリクロックとピクセルクロックの上限がさ
        らに高くなっています。また DSTN 画面の性能を向上させる新しい
        DSTN ディザリング機能を塔載しています。 (最大メモリ: 4M バイト,
        最大ドットクロック: 3.3V 時 110MHz)

     ct68554
        65555 に似ていますが "PanelLink" ドライバも組み込まれています。
        このシリアルリンクはビデオプロセッサから最大 100m 離れた位置にあ
        る LCD 画面を動作させることができます。 LCD のデスクトップ機にこ
        のチップが搭載されることを期待しましょう。 (最大メモリ: 4M バイ
        ト, 最大ドットクロック: 3.3V 時 110MHz)

     ct69000
        65555 に似ていますが、チップ上に 2M バイトの SGRAM が組み込まれ
        ています。このチップは BitBlt レジスターだけでなく、すべてのレジ
        スターに MMIO 経由でアクセスできる最初の Chips and Technologies
        社製チップです。 (最大メモリ: 2M バイトのみ, 最大ドットクロック:
        3.3V 時 220MHz)

     ct64200
        WinGine としても知られているこのチップは、デスクトップシステム用
        のビデオカードとして使用されています。このチップは追加機能を提供
        するために、外部 DAC およびプログラマブルクロックチップをしばし
        ば使用します。これらは全て現在サポートされておらず、従って多くの
        カードでは限定的なサポートになります。またこのカードに対するリニ
        アアドレッシングはサポートされていません。 (最大メモリ: 2M バイ
        ト,最大ドットクロック: 80MHz)

     ct64300
        このチップは WinGine チップのより進化したもので、仕様的には
        6554x 系列のチップと良く似ていますが、レジスタレベルでは多くの点
        で独自構成になっています。このドライバーで得られる高速化のレベル
        は 65545 程度です。 (最大メモリ: 2M バイト,最大ドットクロック:
        80MHz)

  3.  XF86Config オプション

  次のオプションは Chips and Technologies ドライバを使用する場合特に重要
  です。 XF86Config ファイル中でオプションを指定する場所は、 `svga' ドラ
  イバーを使用する Screen 節の中の、そのオプションを指定したい色深度に対
  応する Display サブセクションの中です。 (Device 節で指定すると、全ての
  色深度に対してオプションを有効にできます。)

     Option "noaccel"
        高速化機能を無効にします。 DRAM の時間調整や高ドットクロックと高
        速化機能のバグなどに関する問題がある時に性能と引き替えに救ってく
        れます。 (VLB/PCI の場合、このオプションが未だ必要かもしれませ
        ん。)

     Option "no_bitblt" (Chips 65545 以降)
        65545 以上のチップに搭載されている BitBLT エンジンを無効にしま
        す。 "noaccel" オプションを使用して問題が解決したら、このオプ
        ションを使用した方がいいかもしれません。一般的な速度向上に寄与し
        ます。

     Option "xaa_no_color_exp" (Chips 65545 以降)
        白黒展開を無効にします。特にテキストとビットマップに作用します。
        画像書き込みや高速化に問題がある時に有用です。これを使うと一般に
        性能は低下します。 XFree86 3.2 で使われていた "no_imageblt" オプ
        ションはこのオプションで置き換えられたことに注意してください。

     Option "xaa_benchmark" (Chips 65545 以降)
        XAA 高速化ベンチマークを起動します。 X サーバの起動時にどのグラ
        フィックプリミティブが高速化されているかという点と、その相対的な
        速度を表示します。

     videoram 1024 (または他の値)
        探知したビデオメモリの大きさを上書きし、カードのメモリの大きさを
        指定した大きさにだまします。多くの ct655xx チップは 1M バイトま
        でのメモリしか搭載できず、またその量を正しく認識させる必要がある
        ことに注意して下さい。

     Option "nolinear" (Chips 65530 以降)
        標準では全ての ct655xx チップに対してリニアアドレッシングを使い
        ます。しかし、これがうまく動作しないような実装がいくつか存在しま
        す。そういう場合は、リニアアドレッシングをこのオプションで無効に
        してください。ハードウェアによる高速化と 16/24/32bpp はリニアア
        ドレッシングでのみ有効なことに注意して下さい。

     MemBase 0x03b00000 (もしくは異なるアドレス)
        リニアフレームバッファの物理メモリの基底アドレスを設定します。一
        般にこれは正しく探知されますが、もし探知に失敗していると感じたら
        このオプションが救いになるでしょう。非 PCI 機器でこの値を指定し
        て強制的に置き換えた場合、ビデオプロセッサはもう一度適正にプログ
        ラムされます。 65530 では基底アドレスを正しく探知出来ないためこ
        のオプションを設定する必要があることに注意してください。

     Option "hw_cursor" (Chips 65545 以降)
        チップが提供しているハードウェアカーソルを有効にします。これによ
        り、カーソルを常に画面上へ表示させるための描画処理をハードウェア
        にまかせることができるため、全ての画像操作において描画速度が顕著
        に向上します。またこのオプションは画像操作中のカーソルフラッシュ
        効果を低減します。

     Option "sw_cursor" (Chips 65545 以降)
        この版ではソフトウェアカーソルが標準になりました。従って、現在こ
        のオプションには実質的な意味がありません。

     Option "STN"
        この版の X サーバーは SS STN と TFT ディスプレイを自動識別できま
        せん。このオプションは、ディスプレイを TFT ではなく SS STN とし
        て強制的に識別させます。

     Option "use_modeline"
        フラットパネルの時間調整はパネルの大きさに依存しますが、
        XF86Config で指定したモードの大きさには依存しません。この理由か
        ら、 X サーバの標準動作ではあらかじめチップに組み込まれているパ
        ネルの時間調整を使用します。このオプションの指定により、
        modeline からパネルの時間調整を再計算して置き換える事ができま
        す。しかし、このオプションを指定してもパネルの大きさについては検
        出動作を実行します。

     Option "fix_panel_size"
        LCD パネルの大きさが間違ってレジスタから検出されるようないくつか
        の機器に対して使います。このオプションを使用すると、 X サーバー
        の認識する LCD パネルの大きさが modeline の display サイズによっ
        て置き換えられます。これによって、実際のパネルの大きさと異なる設
        定のモードを使用しないようにできます。このオプションを使う前に、
        X サーバの報告するパネルの大きさが間違っていることを確認して下さ
        い。このオプションは modeline で指定した数値を使用して全てのパネ
        ルの時間調整を行なうための "use_modeline" オプションと併用できま
        す。

     Option "no_stretch"
        モードの大きさが実際のパネルより小さく指定された場合、 X サーバ
        の標準では表示内容を画面一杯に引き延ばすように動作します。このオ
        プションを使用することで、引き延ばしのない "letterbox" 効果が得
        られます。

     Option "lcd_center"
        モードの大きさが実際のパネルより小さく指定された場合、 X サーバ
        の標準挙動では画面の左端をパネルの左端に合わせます。このオプショ
        ンを使うと画面をパネルの中央に表示します。このオプション
        は16/24/32bpp の場合にいくつかの機器で問題を生じるという報告があ
        りました。その症状は画面の右端が欠けるとの事です。

     Option "hw_clocks" (Chips 65535 以降)
        chips 65535 以降のチップでは、全てのクロックでプログラマブルク
        ロックの使用が標準です。このオプションの使用により、チップがサポ
        ートしている固定周波数クロックを代わりに使うことができます。例え
        ば、 25.175, 28.322, 31.000 と 36.000MHz の全てか一部の周波数を
        使えることでしょう。最新のプログラマブルクロックは一覧の最後のク
        ロックの値で与えられます。コールド・ブートしたシステムではテキス
        トコンソールに適正な値になっています ( "TextClockFreq" 参照)
        が、多くのフラットパネルでは同期を取るために標準値とは異なるク
        ロック値が必要です。プログラマブルクロックがこのオプションを古め
        かしくしてしまったので、現在では使用をお勧めしません。

     Option "use_vclk1" (Chips 65550 以降)
        chips の HiQV 系列にはプログラマブルクロックが 3 つあります。最
        初の 2 つは VGA との互換性のために 25.175 および 28.322MHz を通
        常準備しています。 3 つめはすべてプログラム可能なクロックです。
        すくなくともひとつのシステム (Inside 686 LCD/S シングルボードコ
        ンピュータ) では 3 つめのクロックを使えません。このオプションは
        プログラマブルクロックに VClk1 を強制使用させるものです。いくつ
        かのマシンで発生していた起動時の黒/青画面問題をこのオプションに
        よって解決できたという報告があります。

     TextClockFreq 25.175
        テキスト用コンソールが現在使用している周波数を ct6554x 系列の
        チップから読み出すのは不可能です。従って X サーバはテキスト用コ
        ンソールが使う周波数の標準値として 25.175MHz を用います。いくつ
        かの LCD では、特に DSTN スクリーンの場合、この値は好ましくあり
        ません。このオプションを使うと、テキスト用コンソールに戻る時に X
        サーバが使う周波数として標準以外のクロックを指定することができま
        す。

     Option "mmio"
        BitBLT エンジンと接続する為にメモリマップ入出力を有効にします。
        6554x 系列のメモリマップ入出力は PCI バス接続の場合にのみ標準で
        有効に (その他の場合は無効に) されています。 BitBLT エンジンを使
        用していない (例えば "no_bitblt" を使っている) 場合には、効果が
        ありません。また BitBLT エンジンに接続するために MMIO だけを使う
        65550 以降の場合にも効果がありません。 65545 PCI 機器では MMIO
        経由でなければ blitter を使えないため、標準で MMIO を有効にしま
        す。

     Option "suspend_hack"
        センタリングと画面の拡大をバイオスの標準値に設定します。いくつか
        の機器でのサスペンド/リジュームの問題を修正します。 "lcd_center"
        と "no_stretch" を上書きします。

     Option "use_18bit_bus"  (Chips 65540/45/46/48)
        X サーバの標準では TFT 画面の 24bpp 用に 24 ビットバスが使用され
        ているものと仮定します。これによって 24bpp モードにほのかに赤み
        がかかる場合があります。このオプションは 18 bit TFT バスを選択し
        ます。他の色深度では、このオプションは無効です。

     Chipset "ct65546" (または他のチップ)
        特に X サーバ内の他のドライバと干渉した場合、チップを誤認する可
        能性があります。このオプションで所定のチップを X サーバに強制認
        識させます。

     Option "sync_on_green" (Chips 65550/54/55 と 68554)
        グリーン同期を設定します。多分、古いワークステーションのモニタを
        使いたいときに役にたつでしょう。 65550/54 の内蔵 RAMDAC はこのモ
        ードをサポートしますが、特定の機器で使えるかどうかはその機器の製
        造会社に依存します。

     Option "fast_dram" (Chips 65550/54/55 と 68554)
        内蔵メモリクロック(MCLK) レジスタを 38MHz に設定します。通常は
        BIOS がプログラムした値を標準値として問題無いのですが、いくつか
        の機器ではより良い性能に達するためにより高速な MClk を使わせるこ
        とが可能です。 Toshiba 720CDT という機器ではこのオプションでうま
        く動作することが知られています。より新しい機器ではもともと 38MHz
        以上の MClk を使っている場合があることに注意が必要です。というの
        はこのオプションによって機械が遅くなる場合があるからです。このオ
        プションは一般にはお勧めできませんし、また現在では "Set_MemClk"
        オプションによって置き換えられています。

     DacSpeed 80.000
        X サーバーの標準では、製造会社によって指定された数値を上限として
        使用する最高ドットクロックを制限します。この動作によって、画面解
        像度を上げてゆくと実用的な再描画速度を得られないモードが現われて
        きます。このオプションを使えば、最高ドットクロックの上限を書き換
        えて、任意の値を指定することが可能です。仕様上の限界を超えて酷使
        するとビデオプロセッサにダメージを与えてしまうのでこのオプション
        の使用には注意が必要です。

     Set_MemClk 38.000 (Chips 65550/54/55 と 68554)
        このオプションを使って、内部メモリークロック (MCLK) レジスタを
        38MHz またはその他の数値に設定できます。仕様上の限界を超えてビデ
        オプロセッサを酷使すると、発生した過剰な熱のためにダメージを受け
        るため、このオプションの使用には注意が必要です。しかし、うまく使
        えば描画性能を大きく向上させるためにこのオプションが役に立つこと
        でしょう。

  4.  Modelines

  Chips and Technologies 用ドライバに使わせる modeline を作成する時には
  次のいくつかの点に考慮してください。

      * Virtual Screen Size
        そのモードで必要となるメモリ量を決定する仮想画面の大きさです。例
        えば 8bpp の 800x600 で 仮想画面を 1024x768 に設定すると、そのモ
        ードでは 768kB 使います。さらにある種の XAA アクセラレーションコ
        ードは画面のピッチが 64 ピクセルの倍数であることを要求します。し
        たがって、ドライバは仮想 X 画面の寸法を 64 の倍数に切り上げます
        が仮想画面解像度には影響が無いようにします。これにより、結果とし
        て利用可能なメモリはさらに少なくなってしまいます。

      * 16/24/32 Bits Per Pixel
        ct65540 以降のチップでは Hi-Color モードと True-Color モードを使
        用可能です。これらの機能は現在の X サーバに実装されています。一
        つの modeline を全ての色深度で使えるように、 6554x 系列のチップ
        ではドライバー内部で使用するクロックを 16bpp の場合は 2、 24bpp
        の場合は 3 で割っています。この割算により、ユーザーにとっては最
        大ドットクロックがそれぞれ 8bpp における値の 1/2 または 1/3 とし
        て見えることになります。 6555x 系列のチップではより高い色深度を
        表示する為に余分なクロックサイクルを必要としません。従ってクロッ
        クを割算しないでも全ての色深度で同じ modeline を使用できます。ま
        た、16/24/32 bpp モードでは 8bpp モードに比べてそれぞれ 2, 3, 4
        倍のビデオメモリが必要になります。

      * Frame Acceleration
        多くの DSTN 表示装置では速度向上のためフレーム高速化を行なってい
        ます。この高速化には、外部のフレームバッファを使用したり、フレー
        ムバッファをビデオメモリの最上位に組み込むなどの実装方法がありま
        す。 X サーバーの標準では、もしフレームバッファーが使用されてい
        るなら、それはビデオメモリの最上位に組み込まれているものと仮定し
        ます。フレームバッファに必要なメモリ量は画面サイズに依存し、また
        モードに使用可能なビデオメモリ量に影響を与えます。典型的なフレー
        ムバッファの大きさは 640x480 画素では 61440 バイト、 800x600 画
        素では 96000 バイト、 1024x768 画素では 157287 バイトです。

      * H/W Acceleration
        ハードウェアカーソルのために 6554x では 1kバイト、65550 では
        4kバイト必要です。 64300 ではハードウェアカーソルをレジスタに格
        納しているのでハードウェアカーソル用のメモリは必要ありません。こ
        のオプションに加えて "pixmap cache" を使用すると、多くの画像操作
        がより速くなります。ただし、キャッシュ用のメモリが少な過ぎる場合
        にはグラフィック性能にマイナスの影響しか与えません。

      * VESA like modes
        標準 VESA モードに近いモードを試してみることをお勧めします。もし
        そうしなければ、サスペンド/リジュームや LCD/CRT 切替えを行なった
        際に画面が乱れることがあります。これはその時使用されているちょっ
        と変ったモードのことをビデオ BIOS がまったく認識していないために
        生じる問題です。

      * Dot Clock
        LCD 画面の場合、満足できるコントラストとちらつきの無さが得られる
        ような最も低い周波数をクロックとして使いましょう。これによって描
        画時に使用されるメモリの帯域を大きく使うこともできます。 BIOS に
        よって定義されているクロックを好んで使うユーザもいます。このよう
        にすると、指定したクロックをサスペンド/リジュームや LCD/CRT 切替
        えを行なった後で BIOS が設定してくれます。ドットクロックの制限に
        関する詳細な説明は、次の節にあります。

  このドライバは CRT とフラットパネルディスプレイの両方を駆動できます。
  実のところ、フラットパネル用の時間調整はパネル自身の仕様に依存してお
  り、指定されたモードとは独立に決められます。この理由から XF86Config
  ファイルを自動生成する "xf86config" や "XF86Setup" などのプログラムを
  使われるようお勧めします。

  しかし、特に 800x600 の画面またはそれ以上の解像度を持つ場合など、パネ
  ルの時間調整を再設定する必要のある機器も多く存在しています。それは製造
  会社がパネルの時間調整の値を標準EGA モードで動作するように設定してい
  て、その時間調整の値では SVGA モードは動作しないからです。このような機
  器では "use_modeline" または/同時に "fix_panel_size" を必要とします。
  これらのオプションを必要とするいくつかの機器の存在が知られています。

       Modeline "640x480@8bpp"       25.175  640  672  728  816   480  489  501  526
       Modeline "640x480@16bpp"  25.175  640  672  728  816   480  489  501  526
       Options: "use_modeline"
       Prostar 8200 でテスト済み, (640x480, 65548, 1Mバイト)

       Modeline "800x600@8bpp"       28.322  800  808  848  936   600  600  604  628
       Options: "fix_panel_size", "use_modeline"
       HP OmniBook 5000CTS でテスト済み (800x600 TFT, 65548, 1Mバイト)

       Modeline "800x600@8bpp"       30.150  800  896  960 1056   600  600  604  628
       Options: "fix_panel_size", "use_modeline"
       Zeos Meridan 850c でテスト済み (800x600 DSTN, 65545, 1Mバイト)

  NEC Versa 4080 では "fix_panel_size" オプションが必須です。

  5.  クロックの制限に関するまとまった説明

  Chips and Technologies 社製のチップセットが持つクロックの制限とは正確
  にはどういうことなのか、という点について混乱している場合が多いようで
  す。この誤解を解くために、この節に説明を書くことにしました。

  一般に、最高ドットクロックを決定する要因は 2 種類存在しています。ビデ
  オプロセッサが扱える最高ドットクロックによる制限と、利用可能なメモリー
  の帯域幅による制限です。メモリーの帯域幅はビデオメモリーのために使用さ
  れているクロックによって決定されます。 65535 のように、 8bpp を超える
  色深度を使用できないチップセットの場合、ビデオプロセッサが扱うことので
  きる最高ドットクロックによってのみ、クロックの制限が決められます。従っ
  てこの制限は 655xx チップセットの場合、駆動電圧によってそれぞれ 56MHz
  または 68MHz のどちらかになり、64200 WinGine の場合には 80MHz となりま
  す。

  6554x 系列および 64300 WinGine チップセットは、 16bpp や 24bpp の色深
  度を扱うことができます。しかし、これらのチップセットに使用されているメ
  モリクロックを確実かつ正確に検出する方法は今のところありません。このた
  め、ドットクロックの制限についてはより安全と思われる数値を使用する必要
  があります。このため、 C&T ドライバーはビデオプロセッサのドットクロッ
  ク制限を 1 画素あたりのバイト数 (number of bytes per pixel) で割り、そ
  れを動作時のドットクロック制限として使用します。したがって、それぞれの
  色深度における使用可能な最高クロックは次のようになります。

                          8bpp    16bpp   24bpp
  64300                   85      42.5    28.33
  65540/65545 3.3v        56      28      18.67
  65540/65545 5v          68      34      22.67
  65546/65548             80      40      26.67

  CRT または TFT の表示装置に対して、これらの制限値は充分余裕のあるもの
  であり、 "DacSpeed" オプションによってこれらの数値をある程度大きくして
  も問題無く動作するでしょう。しかし、これらの数値では DSTN 表示装置が必
  要とする特別な帯域幅のことを考慮していません。

  HiQV 系列のチップでは、メモリークロックをきちんと検出できます。例えば
  startx のログを取ったファイルの中に

  (--) SVGA: CHIPS: probed memory clock of 40090 KHz

  という行があることに気がつくでしょう。

  多くのチップでは、 BIOS によって実際に設定されている数値よりも高いメモ
  リークロックを扱うことができることに注目して下さい。 XF86Config ファイ
  ルの中で Set_MClk オプションを使うことで、より高い MClk を指定できま
  す。ただし、例えば EDO のようなあまり速くないビデオメモリーのために高
  い MClk を扱えず、表示画面に乱れを生じる場合もあります。 HiQV 系列の
  チップで使用可能な最高ドットクロックを求める公式を次に示します。

  Max Dotclock = min(MaxDClk,  0.70  * 4 * MemoryClk / (BytesPerPixel +
                  (isDSTN == TRUE ? 1 : 0)))

  [最高ドットクロック] = [MaxDClk:ビデオプロセッサによる制限] または
                         {[0.70 * 4 * メモリークロック] を
                          [BytesPerPixel: 1 画素あたりのバイト数、
                          (DSTN 表示装置の場合はこれに 1 を加える)] で
                          割った数値} のどちらか低いほう

  上記の公式を見ればわかるように、ドットクロックには 2 種類の制限があり
  ます。ひとつは全体的な上限値であり、もうひとつはチップが使用できるメモ
  リー帯域幅によるものです。メモリー帯域幅による制限について、計算の中身
  を説明すると、まずクロックサイクルあたり 4 バイトが転送されます (した
  がってメモリークロックに 4 をかけます) が、 RAS/CAS シグナル処理のた
  め、実際に利用できる帯域幅はおよそ 70% 程度になってしまいます。次にこ
  の全体を 1 画素あたりのバイト数で割りますが、 DSTN 表示装置を使用する
  場合には 1 画素あたりのバイト数におまけの 1 バイトを追加した数値で割り
  ます。 DSTN 表示装置の「おまけの 1 バイト」はフレームバッファ処理およ
  びフレーム高速化のために使用されます。 Chips and Technologies 社製チッ
  プの仕様を次に示します。

                      Max DClk MHz      Max Mem Clk MHz
  65550 rev A 3.3v          80                38
  65550 rev A 5v           110                38
  65550 rev B               95                50
  65554                     94.5              55
  65555                    110                55
  68554                    110                55
  69000                    220               100

  65550 rev A 以外のチップはすべて 3.3v 専用であることに注意して下さい。
  これはドットクロックが一時的に落ち込んでいる理由となっています。ところ
  で上記の最高メモリークロックは単にビデオプロセッサがサポートしている数
  値というだけであり、ビデオメモリーがサポートする最高クロックと同じであ
  るという保証はありません。実際にメモリークロックとして使われている数値
  は上記の最大値よりもずっと小さい場合があります。しかし、メモリークロッ
  クが上記の最高値にプログラムされていると仮定した場合には、それぞれの
  チップに対する最高ドットクロックの制限は次のようになります。

                          ------CRT/TFT-------    --------DSTN--------
                          8bpp    16bpp   24bpp   8bpp    16bpp   24bpp
  65550 rev A 3.3v        80      53.2    35.47   53.2    35.47   26.6
  65550 rev A 5v          106.2   53.2    35.47   53.2    35.47   26.6
  65550 rev B             95      70      46.67   70      46.67   35.0
  65554                   94.5    77      51.33   77      51.33   38.5
  65555                   110     77      51.33   77      51.33   38.5
  68554                   110     77      51.33   77      51.33   38.5
  69000                   220    140      93.33  140      93.33   70.0

  メモリークロックによって決まる上限を超えて動かした場合、 HW BitBlt エ
  ンジンがクロックサイクルごとに必要とするデータを入手できず、画像操作中
  の表示が乱れることになるでしょう。もし (高すぎる MemClk を指定するなど
  によって) ビデオメモリーを速すぎるクロックで動かした場合には、メモリー
  に実際に書き込まれるデータが壊れてしまうため画素単位での表示異常を見る
  ことになるでしょう。 TFT または CRT 上で 8bpp 表示の場合には、おそらく
  Max DClk 値を 10% 程度超えて設定してもすこしばかり余分に熱を発生する以
  外の問題を生じることなく描画速度を向上させることが可能です。これは
  8bpp におけるクロックが使用可能なメモリーの帯域幅によって制限されない
  ことによります。

  もし、標準のクロック制限に従うと必要なモードをどうしても使えないような
  場合には、 "DacSpeed" および "Set_MemClk" オプションを調べてみましょ
  う。これらのオプションを使えば、特定のモードで動作させるために X サー
  バー内で必要とするすべての機能を得ることができます。だたし、ビデオプロ
  セッサをその仕様を超えて動作させた場合、ダメージを受けないという保証は
  ありません。これらのオプションを使用するにあたっては、充分な注意が必要
  です。

  6.  トラブルシューティング(問題解決)

             モードを切替えた後で、カーソルが白い矩形になって見える。
        モードを切替えた時カーソルを白い矩形に再描画してしまう、ハード
        ウェアカーソルの問題だと分かっています。この問題を解決するにはカ
        ーソルを他の領域に移動させ、コンソールへ切替えてから元に戻すか、
        切替えが面倒なら "hw_cursor" オプションを外してハードウェアカー
        ソルを無効にしてください。

             カーソルのホットスポットがカーソルと一致していない。
        6555x の機器上でフラットパネル全体に拡大したモードの場合、ハード
        ウェアカーソルがモードに対応して拡大されていません。この問題は現
        在のサーバに存在する、小さいが長いあいだ残されたままのバグです。
        "no_stretch" か "sw_cursor" のどちらかを使うことで、このバグを避
        けることが出来ます。
        訳注：ホットスポット:クリックした時の有効点。

             画面の下の方の表示が乱れる
        多くの DSTN 画面ではビデオメモリの上位をフレーム高速化のために使
        用しています。これはモードのために使用できるメモリの量を減少させ
        てしまいます。 X サーバは利用者がこの領域のメモリを使うモードを
        指定することを妨げたりせず、コンソールに警告のメッセージを表示し
        ます。この場合、画面の下の方に相当するメモリがフレーム高速化の領
        域と同じ位置に割り当てられるため、両者が衝突して画面が乱れます。
        モードによって消費されるメモリの量を削減して下さい。

             ビデオ信号は来ているが、画面が同期しない。
        その表示装置で取り扱うことができないモードを使用しています。非標
        準なモードを使用している場合は、少し画面の時間調整を変更する必要
        があるかもしれません。その表示装置で取り扱うことができるはずの標
        準的なモードと周波数を使用している場合は、それに近いモードと周波
        数の組合せを実現できるような異なる時間調整の設定を試してみて下さ
        い。 LCD のモードについては、テキストコンソールのパネルの時間調
        整とグラフィックのそれとで異なる数値を必要とする場合があります。
        このような場合には "use_modeline" を指定する必要があるかもしれ
        ず、多分 "fix_panel_size" も指定して LCD パネルの時間調整を微妙
        に変更する必要があるでしょう。

             `波うつ' 画面。
        描画操作によらず絶えまなく水平方向に波うったり画面全体に落ち着か
        ない。使用しているドットクロックが高過ぎるか低過ぎるような場合に
        発生します。近過ぎる MCLK と干渉をおこしている可能性もあります。
        より低いドットクロックを試してみましょう。 CRT の場合には、モー
        ドの時間調整も変更してみましょう。 2 番めの水平方向の数値を幾ら
        か増加させてみると良いかもしれません。

             起動後に終了した、または固まった(多分、画面が黒いままで)。
        "noaccel" または "no_bitblt" オプションを試して下さい。 BIOS の
        設定が大丈夫かチェックしましょう。特に 0xa0000-0xaffff のキャッ
        シュは無効にしましょう。隠し DRAM のリフレッシュも無効にしましょ
        う。

      SVR4 の機器では画面上に最初の文字が出力されると固まる。
        この問題は UnixWare 1.x で報告されています。しかし解析されていま
        せん。 UnixWare 2.x ではこの問題は現れません。また、HiQV シリー
        ズのチップでのみ現れます。その他の SVR4 オペレーティングシステム
        でも同様の悪影響が出るかもしれません。この現象に遭遇したら
        "xaa_no_color_exp" オプションを使って CPU 画面間の高速化機能を使
        わないようにしましょう。

             グラフィック操作後に終了する、固まる、または画面にゴミをま
        き散らす。
        この現象はアクセラレータ関数のバグに起因したものか、 BitBLT エン
        ジンに関する問題です。 "noaccel" または "no_bitblt" オプションを
        試してみて下さい。また BIOS の設定もチェックしましょう。それから
        大きな画面で高いドットクロックや大きな色深度を使うと、 BitBLT エ
        ンジンが使うための残りのメモリがとても小さな帯域幅になってしまい
        ます。こういう場合にはクロックの削減を試して下さい。

      チップセットを探知しない。
        お手持ちのチップセットに似た型のチップセットを強制的に指定してみ
        ましょう。

     X の開始時に画面が真っ黒になる。
        この問題は "APM_DISPLAY_BLANK" オプションを指定してカーネルをコ
        ンパイルしている場合に起こる可能性があります。このオプションを指
        定しても意図したとおりに動作せず、 X 起動時に Xserver の表示画面
        が真っ黒になる場合があります。いずれにしろ、カーネルのコンパイル
        時にこのオプションを指定してはいけません。この問題が発生した場
        合、 CRT/LCD または仮想コンソールとの画面切替えで回復する場合が
        あります。

      テキストモードが適切に回復しない。
        いくつかの環境で発生すると報告されています。多くのラップトップで
        はコンソールで 6554x のプログラマブルクロックを使っています。
        BIOS が VClk の後に MClk を書き込んだ場合には、このコンソール用
        クロックの設定をプログラマブルクロックから必ず発見できるわけでは
        ありません。このため X サーバは 25.175MHz をコンソール用と決めて
        います。この設定はほとんどのモードで正常に動作しますが、問題の発
        生する場合もあり得ます。通常この問題は LCD と CRT の間で画面切替
        えを実行することにより回復します。あるいは既に説明した
        "TextClockFreq" オプションを使ってテキストコンソール用に標準とは
        異なるクロックを選べます。この問題の原因に関する他の可能性とし
        て、 "APM_DISPLAY_BLANK" オプションを指定してカーネルをコンパイ
        ルしている場合があります。既に説明したように、このオプションは無
        効にしてください。

      800x600 の液晶ディスプレイで 640x480 が表示出来ません。
        この問題は、フラットパネルがその時間調節値としてモードによる画面
        サイズではなくパネルの大きさに関係した数値を必要とすることにより
        ます。現在の X サーバーにはこの数値を指定する機能はありませんの
        で、 X サーバはパネルの大きさをチップから読み込みます。
        "use_modeline" または "fix_panel_size" オプションを指定した場合
        には、パネルの時間調整としてパネルの大きさではなく指定されたモー
        ドの画面の大きさから求められた数値を使用します。これらのオプショ
        ンを XF86Config から取り除くか、 LCD/CRT 表示画面切替えを試して
        みましょう。

      640x480 LCD 全面を占有する 320x240 モードを得ることが出来ない。
        6554x のハードウェアカーソルでは縦方向に 2 倍になるモードに関す
        るバグがあります。画面の下半分が利用できません。この問題の解決方
        法は縦方向に 2 倍にしない事です。 320x240 モードでの解決結果は
        640x360 に拡大する事だけです。これをしたくないならば、
        "sw_cursor" オプションを使ってください。これによって、 640x480
        LCD の全面を占有するモードが使えます。

      サスペンド/リジュームの後で画面が乱れる。
        サスペンド/リジュームの時は BIOS がレジスタを読み書きします。
        BIOS が分からないモードを使っている場合、正しくリジュームする保
        証はありません。したがって、 VESA 標準にできるだけ近いモードを選
        択するべきです。また VGA パレットもサスペンド/リジュームによって
        影響を受ける可能性があります。 8bpp を使用している場合、色が正し
        く表示出来なくなります。より大きな bpp ではこの現象は発生しませ
        ん。またこの問題は仮想コンソールとの画面切替えによって回復可能で
        す。

      LCD 上でモードの右端が表示出来ない。
        この現象は通常 "lcd-center" オプションと関連しています。このオプ
        ションを XF86Config から取り除くと、問題が解消されるかもしれませ
        ん。別の原因として、製造者がパネルの大きさを間違って EGA コンソ
        ールモードとして仕込んだ場合にも発生します。 "fix_panel_size" オ
        プションを使用して modeline の数値からパネルサイズレジスタの内容
        を置き換えることが可能です。 "HP OmniBook 5000" および "NEC
        Versa 4080" の 2 つの機器で、この問題の発生が報告されています。

      24bpp モードの時、 TFT 画面にほのかに赤みがかかる。
        X サーバは TFT のバスを 24 ビットと仮定しています。ほのかに赤み
        がかかるのはこの仮定が正しくない場合です。この問題は
        "use_18bit_bus" オプションを使用することで解決します。この反対も
        ありうるので注意してください。 24bpp の TFT バスに
        "use_18bit_bus" を使用すると画面にほのかに赤みがかかります。この
        オプションは TFT にしか効果がないので注意してください。

      16、24 または 32bpp で X を起動できない。
        まず、指定したモードで 16/24/32bpp を使える機器であるかどうか確
        認してください。多くの液晶ディスプレイでは 24bpp を扱えません。
        また 16/24bpp を使うには 65540 以上、 32bpp を使うには 65550 以
        上が必要です。モードに使うビデオメモリは 8bpp のそれぞれ 2/3/4倍
        必要です。それぞれのモードで X サーバーを起動する時の正しいオプ
        ションを次に示します。

                  startx -- -bpp 16               5-6-5 RGB ('64K color', XGA)
                  startx -- -bpp 16 -weight 555   5-5-5 RGB ('Hicolor')
                  startx -- -bpp 24               8-8-8 RGB truecolor

     HiQV 系列のチップ (6555x, 68554 または 69000) では、次のような指定
     も可能です。

               startx -- -bpp 32               8-8-8 RGB truecolor

  画面描画エラーや波うつ画面などの多くのかたちで現れてくる X サーバにつ
  いての一般的な問題は、プログラマブルクロックに関連したものです。多くの
  プログラマブルクロックレジスタの設定は潜在的に不安定です。とはいえ好運
  にも同じか非常に良く似たクロックを発生させる多くの異なるレジスタ設定が
  あります。単に指定するクロック値を少し変更することで、より安定した異な
  るクロックを発生するようにクロックプログラムを手なづけることが可能で
  す。例えば 65.00MHz が不安定であっても 65.10MHz は安定している、という
  こともあり得ます。ですから、今までに説明していない問題に対処するには、
  クロックをほんの少しづつ、例えば 0.05MHz 刻みに変更してみて、問題が解
  消するかどうか試してみましょう。別の方法として、 65550 以降のチップで
  は "use_vclk1" オプションを使ってみるのも良いでしょう。

  その他の画面描画に関する問題に対しては、 "noaccel" または "no_bitblt"
  オプションを試してみて下さい。画面表示に問題が発生した場合、すべての
  ラップトップコンピュータで有効な技は LCD/CRT 表示画面切替えです。 (通
  常ファンクションキー 5 番によって実行できます)

  この文書に記載の無いドライバ関連の問題が発生した場合、もしくは高速化機
  能にバグを発見した場合には、 XFree86 チームに連絡をとってみて下さい。
  (現在このドライバの保守は  dbateman@eng.uts.edu.au および
  Egbert.Eich@Physik.TH-Darmstadt.DE が行なっています。) もしく
  は、Usenet のニュースグループ "comp.windows.x.i386unix" に投稿して下さ
  い。

  7.  責任放棄声明

  XFree86 の提供するソフトウェアは、利用者が自分自身でハードに損傷を与え
  ることを許容する可能性があります。開発者達はそういうことが起きないよう
  に努力してはいますが、このソフトによる如何なる損傷についても、全ての責
  任を放棄しています。使用に際しては充分注意して下さい。 Xserver が画面
  を焼いていると感じた場合には、すぐに電源を切って下さい。

  8.  謝辞

  このソフトウェアの作者を代表して、開発中に Chips and Technologies 社か
  ら提供された支援に対して感謝します。

  9.  著者

  主な貢献者 (順不同)

  o  Nozomi Ytow

  o  Egbert Eich

  o  David Bateman

  o  Xavier Ducoin

  貢献者 (順不同)

  o  Ken Raeburn

  o  Shigehiro Nomura

  o  Marc de Courville

  o  Adam Sulmicki

  o  Jens Maurer

  このサーバが XFree86 3.2 に含まれるようになる以前からバグレポートと徹
  底的なテストによって開発に貢献してくださったインターネット上の多くの皆
  さんにも感謝致します。

  $XFree86: xc/programs/Xserver/hw/xfree86/doc/Japanese/README.chips,v 1.1.2.3 1999/11/26 15:23:16 hohndel Exp $

  このファイルは岡本  一幸 ( Kazuyuki Okamoto <ikko-@pacific.rim.or.jp>
  <mailto:ikko-@pacific.rim.or.jp> ) さんによる
  xc/programs/Xserver/hw/xfree86/doc/sgml/chips.sgml,v 3.12.2.6
  1997/07/28 14:17:31 の日本語訳をベースに、佐野  武俊 ( Taketoshi Sano
  <kgh12351@nifty.ne.jp> <mailto:kgh12351@nifty.ne.jp> ) が XFree86
  3.3.3 を日本でインストールする人向けに
  xc/programs/Xserver/hw/xfree86/doc/sgml/chips.sgml,v 3.12.2.12
  1998/11/07 13:52:45 を和訳したものです。ここがおかしいとか、ここはこう
  したほうがいいといったご意見がありましたら、電子メールでお知らせ下さ
  い。原文の著作権は XFree86 プロジェクト社にあります。この和訳の著作権
  は xjman プロジェクトが所有しますが、文章内容についての不具合は私 (佐
  野) まで電子メールで送って下さい。

