XFree86 4.Xの設定を始める前に、 次の情報が必要となります。
モニターの仕様
ビデオアダプタのチップセット
ビデオアダプタのメモリー
モニターの仕様は、XFree86 がどの解像度とリフレッシュレートで動くかを決定するために用いられます。 こういった仕様は、通常はモニターに付いてくるドキュメントや製造元のWebサイトから取得することができます。必要なものは二つの数字の範囲、一つは水平走査周波数でもう一つは垂直同期周波数、です。
ビデオアダプタのチップセットは XFree86 がグラフィックハードウェアとやり取りするためにどのドライバーモジュールを使うかを定義します。ほとんどのチップセットが自動認識されますが、正常に認識されない時のために知っておくとよいでしょう。
ビデオメモリーは、グラフィックアダプタがどの解像度とどの色数で動くことができるかを決めます。 これは、ユーザが自分のシステムにおける制限を理解するために知っておくことが重要です。
XFree86 4.X の設定は複数のステップの処理に分けられます。
まずは XFree86 に -configure
オプションを付けて初期設定ファイルを作りましょう。スーパーユーザになって次のようにしてください。
# XFree86 -configure
これにより、現在のワーキングディレクトリに XF86Config.new という XFree86 の設定ファイルのスケルトンが生成されます。 XFree86 プログラムはシステム上のグラフィックハードウェアを検出し、 そのハードウェア用の適切なドライバーを読み込む設定ファイルを作ります。
次のステップは、作成した設定ファイルで XFree86 が動くことを確認することです。 そのためには以下のようにします。
# XFree86 -xf86config XF86Config.new
黒とグレーのグリッドと X のマウスポインターが現われればその設定は成功です。 テストから抜け出すためには単に次のキーを同時に押します。 Ctrl+Alt+Backspace
次は XF86Config.new を好みに合うように調整します。 emacs(1) や ee(1) のようなテキストエディターでファイルを開いてください。 まずモニターの周波数を加えます。これらは水平と垂直の同期周波数と表現されるのが普通です。 これらの値は XF86Config.new の "Monitor" のセクションに次のように加えます。
Section "Monitor" Identifier "Monitor0" VendorName "Monitor Vendor" ModelName "Monitor Model" HorizSync 30-107 VertRefresh 48-120 EndSection
HorizSync
と VertRefresh
というキーワードが設定ファイル中にない場合があります。その場合には、 Horizsync
キーワードの後には水平走査周波数の、 VertRefresh
キーワードの後には垂直同期周波数の正しい値を加えてください。
上の例では対象となるモニターの周波数が書かれています。
X はモニターが対応していれば DPMS (Energy Star) 機能を使うことができます。 'xset' プログラムでタイムアウトをコントロールしたり、強制的にスタンバイ、サスペンドや電源オフにすることができます。 モニターの DPMS 機能を有効にしたい場合は、"Monitor" のセクションに次の行を加えてください。
Option "DPMS"
XF86Config.new はエディターで開いたままにしておき、 デフォルトの解像度と色数を好みで選びましょう。 Screen セクションに以下のように書きます。
Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Depth 24 Modes "1024x768" EndSubSection EndSection
DefaultDepth
というキーワードはデフォルトで動く色数について記述するためのものです。 XFree86(1)
のコマンドラインスイッチ -bpp
が使用された場合はこちらが優先されます。 Modes
というキーワードは与えられた色数におけるデフォルトの解像度を記述しておくためのものです。
上の例ではデフォルトの色数はピクセルあたり24ビットであり、この色数での解像度は1024ピクセル×768ピクセルです。
1024x768の解像度で動かすためには DefaultDepth
というキーワードに 24 という値を与えて書き加えておき、 "Display"
サブセクションに求める Depth
と Modes
のキーワードを書いておきます。
ターゲットのシステムのグラフィックハードウェアによって定義されているように、VESAスタンダードモードのみがサポートされていることに注意してください。
最後に、設定ファイルを保存し、上の例にあるようにテストしてみてください。全てうまくいったなら、XFree86(1) が見つけることができる共通の場所に設定ファイルを置きます。 これは、通常は /etc/X11/XF86Config や /usr/X11R6/etc/X11/XF86Config です。
# cp XF86Config.new /etc/X11/XF86Config
設定ファイルを共通の場所に置いたら、設定は完了です。 startx(1) で XFree86 4.X を起動するために x11/wrapper ポートをインストールします。 また、XFree86 4.X を xdm(1) で立ち上げることも可能です。
Intel i810 統合チップセットを設定するには、XFree86にカードを制御させるためにAGP プログラミングインタフェイスである agpgart が必要になります。 agpgart を利用するには、kldload(8) を使って agp.ko というカーネルローダブルモジュールをカーネルにロードしておく必要があります。 これは、/boot/loader.conf に次のように書いておけば loader(8) がブート時に自動的にやってくれます。
agp_load="YES"
次に、プログラミングインタフェイス用にデバイスノードを作る必要があります。 AGP のデバイスノードを作るには、/dev で MAKEDEV(8) を次のように起動します。
# cd /dev # sh MAKEDEV agpgart
これで他のグラフィックカードと同様に設定を行うことができるようになります。
もし XFree86 4.1.0 (もしくはそれ以降) を使っており、 fbPictureInit といったようなシンボルが見つからないというメッセージが現われるなら、 XFree86 設定ファイルで Driver "i810" の後に次のような行を入れてみてください。
Option "NoDDC"