5.4. XFree86 の設定

寄稿: Christopher Shumway.

5.4.1. はじめに

XFree86 4.Xの設定を始める前に、 次の情報が必要となります。

モニターの仕様は、XFree86 がどの解像度とリフレッシュレートで動くかを決定するために用いられます。 こういった仕様は、通常はモニターに付いてくるドキュメントや製造元のWebサイトから取得することができます。必要なものは二つの数字の範囲、一つは水平走査周波数でもう一つは垂直同期周波数、です。

ビデオアダプタのチップセットは XFree86 がグラフィックハードウェアとやり取りするためにどのドライバーモジュールを使うかを定義します。ほとんどのチップセットが自動認識されますが、正常に認識されない時のために知っておくとよいでしょう。

ビデオメモリーは、グラフィックアダプタがどの解像度とどの色数で動くことができるかを決めます。 これは、ユーザが自分のシステムにおける制限を理解するために知っておくことが重要です。

5.4.2. XFree86 4.Xの設定

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
     

HorizSyncVertRefresh というキーワードが設定ファイル中にない場合があります。その場合には、 Horizsync キーワードの後には水平走査周波数の、 VertRefresh キーワードの後には垂直同期周波数の正しい値を加えてください。 上の例では対象となるモニターの周波数が書かれています。

X はモニターが対応していれば DPMS (Energy Star) 機能を使うことができます。 xset(1) プログラムでタイムアウトをコントロールしたり、 強制的にスタンバイ、サスペンドや電源オフにすることができます。 モニターの 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" サブセクションに求める DepthModes のキーワードを書いておきます。 ターゲットのシステムのグラフィックハードウェアによって定義されている、 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.Xxdm(1) で立ち上げることも可能です。

5.4.3. 高度な設定

5.4.3.1. Intel i810 グラフィックチップセットの設定

Intel i810 統合チップセットを設定するには、XFree86にカードを制御させるためにAGP プログラミングインタフェイスである agpgart が必要になります。 agpgart を利用するには、kldload(8) を使って agp.ko というカーネルローダブルモジュールをカーネルにロードしておく必要があります。 これは、/boot/loader.conf に次のように書いておけば loader(8) がブート時に自動的にやってくれます。

agp_load="YES"

次に、プログラミングインタフェイス用にデバイスノードを作る必要があります。 AGP のデバイスノードを作るには、/devMAKEDEV(8) を次のように起動します。

# cd /dev
# sh MAKEDEV agpgart

これで他のグラフィックカードと同様に設定を行うことができるようになります。

もし XFree86 4.1.0 (もしくはそれ以降) を使っており、 fbPictureInit といったようなシンボルが見つからないというメッセージが現われるなら、 XFree86 設定ファイルで Driver "i810" の後に次のような行を入れてみてください。

Option "NoDDC"