Xconfig の設定項目をいじる前に、次の基礎的な事項を知っておく必要があり ます:
モニタの水平同期周波数とは、そのモニタが 1 秒間に描ける水平走 査線の数のことで、これはモニタの最も重要な特性です。垂直同期周波数は、 そのモニタが 1 秒間に電子ビームを縦方向に行き来させられる回数のことです。
同期周波数は普通、モニタのマニュアルの仕様のページに載っています。 垂直同期周波数の数値は一般的に Hz(秒当たりの回数)で、 水平同期周波数は KHz(秒当たりの千回数)で計測されています。通常の範囲 は、垂直で 50Hz から 150Hz 程度、水平で 31KHz から 135KHz 程度です。
マルチシンクモニタの場合、その周波数は幅のある値として表示されています。 ローエンドの製品に多いのですが、複数の固定した周波数を持っているモニタも あります。このようなモニタも普通のモニタと同様に設定はできますが、モニ タの持つ特性に厳しく制限されてしまうでしょう。できるだけ高い解像度で、 できるだけ高い水平同期と垂直同期周波数の組み合わせを選択してください。 また、固定周波数モニタでは設計値より高い周波数を与えるとモニタを傷める おそれがあるので注意してください。
この文書の初期の版では、マルチシンクモニタの仕様外使用にかなり無頓着で あり、より良い性能を得るために垂直同期周波数の名目上の最高値を超えさせて いました。その後、この状況への警告である、さらに多くの指摘を受けました。 後述の モニタの仕様外使用 で説明します。
モニタのビデオ信号帯域幅はマニュアルの仕様に関するページに載っています。 これが無かった場合は、モニタの最も高い解像度のところを見てください。 解像度から帯域幅(つまり使用できるドットクロックの大まかな上限値)を推定 するための経験則を以下に示します:
640x480 25
800x600 36
1024x768 65
1024x768 インタレース 45
1280x1024 110
1600x1200 185
ところで、この表に載っているのは謎の数字ではありません。これらの数字は、 XFree86 標準のモード値データベースから各解像度の最も低いドットクロック 値を集めただけのものです(最後の値だけは別です。これは外挿して求めまし た)。モニタの帯域幅は、一番上の解像度で必要な最低限の帯域幅よりも実際 には高いでしょうから、恐れずに数 MHz 高めのドットクロックを試してみて ください。
また、65MHz あたり以下のドットクロックでは帯域幅はほとんど問題にならな いことに注意してください。SVGA やほとんどの高解像度のモニタでは、これ はモニタのビデオ信号帯域幅の限界よりもはるかに低い周波数だからです。 以下に例を示します:
ブランド名 ビデオ信号帯域幅
---------- ---------------
NEC 4D 75MHz
Nano 907a 50MHz
Nano 9080i 60MHz
Mitsubishi HL6615 110MHz
Mitsubishi Diamond Scan 100MHz
IDEK MF-5117 65MHz
IOCOMM Thinksync-17 CM-7126 136MHz
HP D1188A 100MHz
Philips SC-17AS 110MHz
Swan SW617 85MHz
Viewsonic 21PS 185MHz
PanaSync/Pro P21 220MHz
一番下のクラスのモニタでも、解像度に関してビデオ信号帯域幅から厳しい 制約を受けることはありません。NEC Multisync II が良い例です。このディ スプレイは仕様によると 800x600 は表示できず、800x560 しか表示できませ ん。このような低解像度の場合は、高いドットクロックや大きなビデオ信号帯 域幅は必要ありません。多分 32MHz か 36MHz で十分で、両方の周波数とも モニタの公称のビデオ信号帯域幅である30MHz からそれほど離れた値ではあり ません。
これら 2 つの動作周波数では、ディスプレイが持っているはずの性能よりも 画面がくっきりと映らないかもしれませんが、それでもかなりの品質だと言っ てもいいでしょう。もちろん、NEC Multisync II がもっと高い、例えば 36MHz のビデオ信号帯域幅を持っているに越したことはありません。しかし、 大きく画像が歪む程周波数がかけ離れていなければ、文章を編集する等の一般 的な作業には問題はありません。(もし画像の歪みがあまりにも大きい場合に は、目で見てすぐわかるでしょう)。
ビデオアダプタの仕様書には普通、カードの最大ドットクロック 値が書かれています(ドットクロックとは画面へ 1 秒間に表示できる点の総数 です)。
ドットクロックの情報を与えなかった場合は、X サーバが自力でそれを取得し ます。最近の全ての X サーバ は、X の実際の起動やビデオモードの変更を行 わずにドットクロックの情報の出力だけを行う --probeonly オプションを サポートしています。
-probeonly オプションが無くても気にしないでください。X がモニタを固ま らせても、クロック値やその他の情報に関する行が標準エラー出力に書き出さ れます。これをファイルにリダイレクトすれば、たとえコンソールに戻るため に再起動が必要な場合でも、記録を残すことができます。
検出の結果や起動メッセージは、以下の例のようになります:
XFree86 の場合:
Xconfig: /usr/X11R6/lib/X11/Xconfig (**) stands for supplied, (--) stands for probed/default values (**) Mouse: type: MouseMan, device: /dev/ttyS1, baudrate: 9600 Warning: The directory "/usr/andrew/X11fonts" does not exist. Entry deleted from font path. (**) FontPath set to "/usr/lib/X11/fonts/misc/,/usr/lib/X11/fonts/75dpi/" (--) S3: card type: 386/486 localbus (--) S3: chipset: 924 --- チップセット -- これは正確なチップの種類です。86C911 の前のものです。 (--) S3: chipset driver: s3_generic (--) S3: videoram: 1024k ----- ボードに載っているフレームバッファ RAM の大きさ (**) S3: clocks: 25.00 28.00 40.00 3.00 50.00 77.00 36.00 45.00 (**) S3: clocks: 0.00 0.00 79.00 31.00 94.00 65.00 75.00 71.00 ------------------------------------------------------ 利用可能な駆動周波数(単位は MHz) (--) S3: Maximum allowed dot-clock: 110MHz ------ 帯域幅 (**) S3: Mode "1024x768": mode clock = 79.000, clock used = 79.000 (--) S3: Virtual resolution set to 1024x768 (--) S3: Using a banksize of 64k, line width of 1024 (--) S3: Pixmap cache: (--) S3: Using 2 128-pixel 4 64-pixel and 8 32-pixel slots (--) S3: Using 8 pages of 768x255 for font caching
SGCS や X/Inside の X の場合:
WGA: 86C911 (mem: 1024k clocks: 25 28 40 3 50 77 36 45 0 0 79 31 94 65 75 71) --- ------ ----- -------------------------------------------- | | | 利用可能な駆動周波数(MHz 単位) | | +-- ボードに載っているフレームバッファ RAM の大きさ | +-- チップの種類 +-- サーバの種類
注意: なるべくこの作業はマシンの負荷が低い時に行なってください。X はアプリケ ーションですから、ディスクの動作と時間調節のループが衝突すると、上記の数字 は不正確になります。何回か繰り返し実行し、数字が大きく変動しないことを確か めてください。もし変動が大きい場合には、安定するまでプロセスを殺してみてくだ さい。もしマウスデーモンのプロセスをお使いであれば、これは混乱の元になり ます(Linux では gpm, SVr4 では mousemgr が該当します)。
このような不正確さを避けるため、得られたクロックの数字をそのまま Clocks プ ロパティの値として Xconfig に取り込んでください。これは時間調節のループを抑 止し、X が試せるクロック値の正確な一覧を与えるためです。 上記の例のデータを使うと、次のようになります:
wga Clocks 25 28 40 3 50 77 36 45 0 0 79 31 94 65 75 71
高く変動する負荷がかかるシステムでは、この方法を使うと X の起動の不可 解な失敗を回避する助けになるでしょう。X が起動した時にシステムの負荷の せいで間違った値を得てしまい、config データベースからちょうどよい ドットクロック値を見つけることができなかったり、間違った値を見つけてし まうことがあり得るのです。
モニタの同期信号帯域幅は、ビデオアダプタのドットクロックと共に、表示でき る最高の解像度を決定します。しかしハードウェアの性能を引き出すのはドライバ です。どんなに優れたビデオアダプタやモニタでも、良いデバイスドライバ がなければ宝の持ち腐れになってしまいます。一方、有能なデバイスドライバ があれば機能の低いハードでも十分役に立ちます。これが XFree86 の設計哲学です。
使用するドットクロックはモニタのビデオ帯域幅に合わせるべきです。 ただし、ここはかなり柔軟性がある部分です――モニタによっては名目 上の帯域幅の 30% 増しで動作します。これに伴うリスクは、モニタに記載さ れている垂直同期周波数を超えることに関係します。 これについては以降で詳しく説明します。
帯域幅を知っていると、可能な設定の中から、より賢い選択ができるようにな ります。これは、あなたのディスプレイの表示品質(特に高精細のための シャープさ)に影響するかもしれません。