FreeBSD ハンドブック
Prev | Chapter 5. X Window System | Next

# 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

`HorizSync` と `VertRefresh` というキーワードが設定ファイル中にない場合があります。その場合には、 `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"` サブセクションに求める `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) で立ち上げることも可能です。

## 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 のデバイスノードを作るには、`/dev` で MAKEDEV(8) を次のように起動します。

    # cd /dev
    # sh MAKEDEV agpgart

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

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

    Option "NoDDC"

Prev | Home | Next
XFree86 のインストール | Up | XFree86 でのフォントの使用