次のページ 前のページ 目次へ

3. ET4000 ドライバの機能

ET4000 チップセット用の SVGA ドライバは、ET4000W32i 以降のほとんどの ET4000 チップに対して全ての色の深さ(8, 15, 16, 24,32 bpp) をサポートし ています。ET4000W32 は 8bpp しかサポートしていません。RAMDAC と SVGA の対応コードに依存して、一部のカードでは色の深さの一部あるいは 8bpp だ けしかサポートしていないこともあります。

W32i チップと W32p チップの場合、対応している RAMDAC (現在は ICS5341, STG170x ,Chrontel CH8398)で全ての色の深さがサポートされています。これ らのモードではアクセラレーションも有効です。

W32p ボードの一部の実装においては、リニアメモリモードで使えるビデオメ モリが 1MB に制限されています。これはハードウェアの制限なので、ドライ バで解決することはできません。XFree86 では 16/24/32bpp モードを使うた めにリニアメモリが必要なので、ハイカラーやトゥルーカラーのアプリケーショ ンを使う場合には、このようなカードは極めて不便になってしまいます(この ようなモードでは大抵ビデオメモリを大量に使います)。

さらに、このようなカードはリニアモードではアクセラレーションをサポート していません。これはドライバのコードを書くときの設計判断です。もしリニ アモードでアクセラレーションをサポートすれば、ビデオメモリは 768kB し か使えないでしょうし、ドライバのコードは倍くらい複雑になってしまうでしょ う。

まだサポートされていない RAMDAC を積んだカードは、古いカードと同じよう な制限を受けます。つまり、実際にはピクセルクロック値を 135MHz まで上げ られるところを最大値 86MHz に制限されます。その結果、1280x1024 モード はインタレースモードでしか使えず、非インタレースモードではリフレッシュ レート 75 Hz の 1024x768 程度に制限されます。

W32 タイプのカードで非インタレースの 1280x1024x(256 色) 135MHz を使う には、RAMDAC の多重化の機能を持つ w32p(16 ビットの RAMDAC バスを搭載) が必要です。というのも、w32p は 135MHz ではなく (135/2 = 67.5) MHz し か参照しないからです。これにより、ICS5341 GENDAC, STG170x, CH8398 のい ずれかを使っているカード専用の特別なコードが必要となります。このコード は大抵の場合うまく動作するようですが、ICS5341 を使う場合だけは例外で、 90MHz 付近の周波数で小さい縞が現われます。

リニアメモリモード(特に xf86quake 等の DGA クライアントでは重要)は、 全ての ET4000W32i, ET4000W32p カードでサポートされていますが、 ET4000W32 ではサポートされていません。詳しくはリニアメモリに関するセク ションを参照してください。リニアメモリに関する重要事項がいくつかありま す。

色の深さが大きい場合、リニアメモリモードは必要です。これらのモー ドの場合には、リニアメモリモードはデフォルトで有効になります。 XF86Config ファイルで指定する必要はありません。後述のリニアメ モリに関するセクションを参照してください。このセクションには、困難な問 題を回避するための重要な情報が書かれています。

8bpp モードで強制的に「バンク切替え」モードにするには(リニアメモリモー ドがデフォルトです)、以下の行を XF86Config ファイルの Device セクションに以下の行を追加してください:

  Option "no_linear"

W32 系と ET6000 系の全てのチップにおいてアクセラレーションはサポートさ れており、デフォルトで有効になっています。アクセラレーションのサポート は XFree86 の新しいアクセラレーションインタフェース(XAA)に基づいていま す。

アクセラレーションを使っていて問題が起こる場合には、以下の行を XF86Config ファイルの Device セクションに追加して、アクセラレー ションを無効にすることができます:

  Option "noaccel"

PCI システムの一部(つまり、ET6000 や ET4000W32p だけ)では、アクセラレー ションを使うとフォントが壊れてしまうことが時々起こります。この原因は多 分、Tseng PCI デバイスには「プリフェッチ不可能」属性が設定されているこ とを無視するシステム BIOS が、おかしな書き込みを行うことです。このよう な BIOS は、"write combining(書き込み連結)"(または "byte merging") と呼ばれる PCI の機能を Tseng ビデオカード に対して有効にしますが、カードはこれを認めません。一部のシステムでは、 BIOS 設定において手動で Write Combining 機能(WC と省略されることもあり ます)の有効・無効を切替えることができます。VGA メモリアパーチャに対し て WC が無効になっていることを確認してください。

システム上でフォントが壊れるけれど BIOS では手動で WC を無効にすること ができない場合、XF86Config ファイルの Device セクションに以下 の行を追加してフォントのアクセラレーションを無効にすることができます:

  Option "xaa_no_color_exp"

この設定を行うと X サーバの性能が落ちる点に注意してください。


次のページ 前のページ 目次へ