ARK Logic チップセットユーザ向けの情報 Harm Hanemaayer (H.Hanemaayer@inter.nl.net) 17 January 1997 The X Japanese Documentaion Project 1 Feburary 1999 ____________________________________________________________ 目次 1. サポートしているチップセット 2. サポートしている RAMDAC 3. アクセラレーション 4. 基本的な設定 5. リリース予定のβ版で追加予定の機能 6. テストを行った機器構成 ______________________________________________________________________ 1. サポートしているチップセット SVGA サーバに含まれる "ark" ドライバは ARK Logic グラフィックスチップ セット用のものです。このドライバは以下のチップセットをサポートしていま す: ARK1000PV (ark1000pv) 32 ビット DRAM インタフェースを持つチップセットで、高速な DRAM タイミングをサポートし、VESA と PCI バスに対応しています。この チップセットには、グラフィックスアクセラレーション用の「コプロ セッサ」があります。サポートできる解像度やリフレッシュレートの最 大値は、カードが使用している RAMDAC に依存します。80 や 110 MHz までのドットクロック値では 256 色が使えるはずです。16bpp や 24bpp (packed 形式)もサポートされています。 ARK1000VL (ark1000vl) 古いチップであり、VLB 版しかありませんが、ほぼ ARK1000PV と互換 です。テストは行っていません。アクセラレーションやリニアアドレッ シングを無効にしなければならないかもしれません。 ARK2000PV (ark2000pv) ARK1000PV の 64 ビット版です。DRAM を 1MB 積んだ ARK2000PV は、 ARK1000PV チップを積んだ同型のカードとほぼ同じものになります。64 ビット操作を行うためにはメモリが 2MB 必要です。繰り返しになりま すが、カードに載っている RAMDAC が、サポートされるドットクロック の最大値を決めます。8bpp では 16 ビット RAMDAC パス上での多重化 がまだサポートされていないので、使えるドットクロック値は 110MHz となります。16bpp と 32bpp や実験的な packed 形式の 24bpp もサポ ートされていますが、使えるかどうかは RAMDAC に依存します。 ARK2000MT (ark2000mt) これは新しいチップであり、AR2000PV と互換です。 ARK2000MI は、まだサポートされていません。 チップセットを自動的には検出されないことがあります。この場合には、 XF86Config ファイルの Device セクションで Chipset "ark1000pv" のような 行を指定します。全てのオプションも、このセクションで指定しなければなり ません。 2. サポートしている RAMDAC RAMDAC の指定がない場合、256 色と 80MHz までのドットクロック周波数をサ ポートする標準の RAMDAC を指定したものとみなされます。以下のタイプの RAMDAC を XF86Config ファイルの Device セクションで指定することができ ます(例: Ramdac "att20c490"): att20c490 業界標準の 8 ビット RAMDAC です。基本モデルの Hercules Stingray Pro で使われている RAMDAC は、これと互換です。40 または 55 MHz までのドットクロック値で 16bpp の色の深さがサポートされますが、 これは DAC の速度レートに依存します。約 36MHz までのドットクロッ ク値で packed 形式がサポートされます。 att20c498 業界標準の 16 ビット RAMDAC です。Hercules Stingray Pro/V と Stingray 64/V で使われている RAMDAC は、これと互換です。80MHz あ るいは 110MHz までのドットクロック周波数で 16bpp がサポートさ れ、40 または 55MHz までで 32 bpp がサポートされます。 zoomdac これは Hercules Stingray Pro/V と 64/V で実際に使われている RAMDAC です。これはほとんど ATT20C498 と同様に扱われますが、ドッ トクロック値の制限が正しく設定されます(16bpp の場合、ARK1000PV では 55MHz ですし、 ARK2000PV では少なくとも110MHz です)。加え て、packed 形式の 24bpp がサポートされ(ARK1000PV では 36MHz まで で、まだ ARK2000PV ではサポートされていません)、ARK2000PV では 32 bpp もサポートされています(55MHz まで)。この RAMDAC は自動的 に検出されるはずです。 stg1700 全くテストされていません。 ics5342 これは クロックチップと RAMDAC を組み合わせたものであり、Diamond Stealth 64 Graphics 2001 と ARK2000MT を使っている新しめの Hercules カードで使われています。256 色モードに加え、16bpp と 32bpp をサポートしています。32bpp モードは動作しないかもしれませ ん。 キーワード Dacspeed を使うと RAMDAC のスピードレートを指定することがで きますが、指定の際には特に注意が必要です。素のクロック周波数は 80MHz を越えるかもしれません。ARK チップと一部の RAMDAC に対して 120MHz まで の素のスピードが指定されますが、これは FCC の既定を破るかもしれません し、そうでなくても動作が不安定になるかもしれません。ドットクロックが高 い 8bpp モード(135MHz 等)は通常、16 ビット DAC パス上で同時に 2 ピクセ ルを送ることによって実現されますが(ドットクロック値 135 MHz に対する素 のクロック値は 67.5MHz です)、これはまだドライバがサポートしていない操 作モードです。ドットクロックが高い設定は全くテストされていません。 現在のドライバは、DRAM のスピード(バンド幅)に従ってドットクロックの最 大値を制限するようになりました。(ICS5342 の場合を除くと)メモリのクロッ クのスピードを知ることはできないので、ドライバはデフォルト値として 60MHz を想定します。ARK1000PV の場合には、109MHz までで 8bpp, 55MHz ま でで16bpp, 36MHz までで 24bpp, 27MHz までで 32bpp が使用できます。メモ リを 2MB 積んだ ARK2000PV の場合には、100MHz までで 16bpp, 72MHz まで で 24bpp, 55MHz までで 32bpp が使用できます。実際のメモリのクロック値 が分かっているならば、キーワード MCLK を使って指定することができま す(例: MCLK 70)。 16bpp で XF86_SVGA を実行するには、X サーバに次のようなオプションを指 定します: startx -- -bpp 16 5-6-5 RGB ('6万4千色', XGA) startx -- -bpp 16 -weight 555 5-5-5 RGB ('ハイカラー') startx -- -bpp 24 8-8-8 RGB (packed 形式の 24 ビットトゥルーカラー) startx -- -bpp 32 8-8-8 RGB (32bpp のトゥルーカラー) 3. アクセラレーション このドライバは、SVGA サーバに新しく導入された XAA(XFree86 Acceleration Architecture)の利点を十分に生かしています。実際、ARK ドライバは XAA 開 発の初期プラットフォームでした。一般的なグラフィックス操作のほとんどで アクセラレーションが効きます。これには、ほとのどのタイプの矩形と非矩形 の塗り潰し、スクリーン-スクリーンの BitBLT 操作、線の描画、テキストと ビットマップの展開が含まれます。2MB の ARK2000PV/MT では xstone 値が 300k を越えると思います。 24bpp だとアクセラレーションは駄目なのですが、おかしなことにグレースケ ールでは描画が速くなります。アクセラレーションを使うと動作がおかしくな る疑いがある場合には、"noaccel" オプションを使ってください。テキストや ビットマップが正しくレンダリングされないようであれば、"xaa_no_col_exp" オプションを試すこともできます。ピックスマップのキャッシュを無効にする には、"no_pixmap_cache" オプションを使います。 ハードウェアカーソルはデフォルトで無効になっています。以前は、モード行 を修正しないと、画面上でのマウスポインタの動いた跡に水平方向の線 2 本 と縞 1 本が現われていました。現在のドライバは、モードのタイミングを自 動的に修正し、このような影響が出ないようにします。これは考えられる全て の機器構成でテストしたわけではありません。ハードウェアカーソルを有効に するには、"hw_cursor" オプションを使います。 リニアアドレッシングはデフォルトの操作モードです。サーバが正しく起動し ない場合には、"no_linear" オプションを試すと良いでしょう。 古い ARK1000VL はおそらくアクセラレーションに関して互換ではありませ ん。 "noaccel" オプションと "no_linear" オプションを使ってください。 4. 基本的な設定 XF86Config ファイルの作成は `XF86Setup' プログラムか `xf86config' プロ グラムを用いて行うことをお勧めします。これらのプログラムを使えば、スク リーンのリフレッシュレートを最適にするためにモード行を並べ直す必要があ るかもしれませんが、8bpp ・高解像度でちゃんと動作する設定ができるで しょう。使っているモニタにうまく合うようなモードタイミングを Monitor セクションに入れても良いでしょう。 モニタに負荷をかけないために、クロックの検出(X -probeonly)の間にはモニ タの電源を切っておくことをお勧めします。XF86Config の Device セクショ ンに Clocks 行が無い場合にも検出の動作が起こります。以下の Clocks 行は ARK Logic のクロックジェネレータを使っている Hercules Stingray Pro, Pro/V や古い 64/V に対して使うことができます(したがって、これらのカー ドを使う場合にはクロック値を検出する必要は無く、単に以下の行を XF86Config ファイルの Device セクションに追加してください)。 Clocks 25.175 28.3 40 72 50 77 36 44.9 Clocks 128.43 118.8 80 31.5 110 63.96 74.19 95 高い周波数ではテストは行われていません。また、60-80MHz の範囲では周波 数の不一致が起こるかもしれません。 5. リリース予定のβ版で追加予定の機能 o o サポートされている RAMDAC を載せた ARK2000PV/MT において、16 ビット の RAMDAC パス上で同時に 2 つのピクセルを送ることによる、8bpp 時に おける高クロック値(80MHz から 135MHz)のサポート。 o ZoomDAC を載せた ARK2000PV における、72MHz までの packed 形式の 24bpp のサポート。 o アクセラレーションのさらなる最適化と安定化。 o 現在ある問題の修正。 o ARK2000MI が出てきたら、そのサポート。 6. テストを行った機器構成 Hercules Stringray Pro (ARK1000PV + ATT20C490 互換の RAMDAC) 8bpp, 16bpp, 24bpp がサポートされています。クロック値の集合は固 定です。 24bpp ではモードタイミングの制限があるようです。水平方 向幅(HTotal)のうち最後の数は 4 で割り切れて、8 で割り切れない数 でなければなりません。モード行が間違っている場合、色がおかしくな るでしょう。このドライバはモードタイミングを自動的に補正します。 Hercules Stingray Pro/V (ARK1000PV + IC Works ZoomDAC) 8bpp, 16bpp, 24bpp がサポートされています。クロック値の集合は固 定です。 24bpp モードでは、前の項目と同じ制限があります。一部の OS では、テキストモードの復元に関する問題が起こることが報告され ています。 Hercules Stingray 64/V (ARK2000PV + IC Works ZoomDAC) 8bpp, 16bpp, 32bpp がサポートされています。クロック値の集合は固 定です。一部の OS では、テキストモードの復元に関する問題が起こる ことが報告されています。 ARK2000MT + ICS5342 クロックチップ/RAMDAC を載せた Hercules Stingray 64 この項目は ICS5342 を積んだ他のカード(Diamond Stealth 64 Graphics 2001 等)にも当てはまります。RAMDAC "ics5342" を指定して ください。プログラマブルクロックチップが使えます(Clocks 行を設定 してはいけません)。8bpp, 16bpp, 32bpp がサポートされています が、32bpp は動作しないことが報告されています。この機器構成は 3.2 より後のサーバではテストが行われていません。 ドライバ関連の問題で、本ドキュメントに載っていないことがあれば、 XFree86 チームに連絡するか(ドライバの現在のメンテナには H.Hanemaayer@inter.nl.net で連絡できます)、Usenet のニュースグループ comp.windows.x.i386unix に投稿してください。 実際のところ、報告(成功・失敗に関わらず)は大歓迎です。特にまだテストが 行われていない機器構成の場合は特にそうです。報告はバグ報告フォーム (あるいは XFree86@XFree86.org へのメール)を使って行うことができます。 XFree86 の ウェブサイト に登場するベータリリースを待つ のも良いでしょう。 $XFree86: xc/programs/Xserver/hw/xfree86/doc/Japanese/README.ark,v 1.1.2.2 1999/11/26 15:23:15 hohndel Exp $ $XConsortium: ark.sgml /main/6 1996/10/28 05:24:04 kaleb $