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

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" オプションが必須です。


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