XF86Config(5x)

名前
XF86Config - XFree86 の設定ファイル

説明。
XFree86 は XF86Config という設定ファイルを初期設定のために使う。 一般ユーザがサーバを起動したときは、この設定ファイルが検索されるのは次 の場所からである:

    /etc/X11/<コマンド行>
    /usr/X11R6/etc/X11/<コマンド行>
    /etc/X11/$XF86CONFIG
    /usr/X11R6/etc/X11/$XF86CONFIG
    /etc/X11/XF86Config-4
    /etc/X11/XF86Config
    /etc/XF86Config
    /usr/X11R6/etc/X11/XF86Config.<ホスト名>
    /usr/X11R6/etc/X11/XF86Config-4
    /usr/X11R6/etc/X11/XF86Config
    /usr/X11R6/lib/X11/XF86Config.<ホスト名>
    /usr/X11R6/lib/X11/XF86Config-4
    /usr/X11R6/lib/X11/XF86Config

ここで <コマンド行> はコマンド行引き数 -xf86config で指定されたディレクトリからの相対パス(".." を含んではいけない) であり、 $XF86CONFIG は環境変数 $XF86CONFIG で指定されたディレクトリからの 相対パス(".." を含んではいけない)である。 また、 <ホスト名> は gethostname(3) が返す、そのマシンのホスト名である。

"root" ユーザが X サーバを起動したときは、設定ファイルが検索されるのは 次の場所からである:

    <コマンド行>
    /etc/X11/<コマンド行>
    /usr/X11R6/etc/X11/<コマンド行>
    $XF86CONFIG
    /etc/X11/$XF86CONFIG
    /usr/X11R6/etc/X11/$XF86CONFIG
    $HOME/XF86Config
    /etc/X11/XF86Config-4
    /etc/X11/XF86Config
    /etc/XF86Config
    /usr/X11R6/etc/X11/XF86Config.<ホスト名>
    /usr/X11R6/etc/X11/XF86Config-4
    /usr/X11R6/etc/X11/XF86Config
    /usr/X11R6/lib/X11/XF86Config.<ホスト名>
    /usr/X11R6/lib/X11/XF86Config-4
    /usr/X11R6/lib/X11/XF86Config

ここで <コマンド行> はコマンド行引き数 -xf86config で指定されたパス(相対パスでも絶対パスでもよい)であり、 $XF86CONFIG は環境変数 $XF86CONFIG で指定されたディレクトリである (普通はホームディレクトリ)である。 また、 <ホスト名> は gethostname(3) が返す、そのマシンのホスト名である。

XF86Config ファイルはたくさんのセクションからなり、その順序は任意である。 各セクションは次の形式を取る:

    Section  "SectionName"
        SectionEntry
        ...
    EndSection

セクション名には次のものがある:

    Files          ファイルのパス名
    ServerFlags    サーバのフラグ
    Module         ダイナミックモジュールの読み込み
    InputDevice    入力デバイスの設定
    Device         グラフィックスデバイスの設定
    VideoAdaptor   Xv 用ビデオアダプタの設定
    Monitor        モニタの設定
    Modes          ビデオモードの設定
    Screen         画面設定
    ServerLayout   全体のレイアウト
    DRI            DRI 固有の設定
    Vendor         ベンダ固有の設定

以下に示す古い形式のセクションも、まだ互換性のために認識される。 新しい形式の設定ファイルでは、代わりに InputDevice を使うこと。

    Keyboard       キーボード設定
    Pointer        ポインタ/マウスの設定

古い形式の XInput セクションは、もう認識されなくなった。

ServerLayout セクションは最も高いレベルに置かれている。 このセクションは、あるセッションで使われる入力デバイスと出力デバイスを 対応づける。 入力デバイスは InputDevice セクションで設定する。出力デバイスは通常、複数の互いに独立な要素 (例: グラフィックスボードとモニタ)からなる。 これらの要素は Screen セクションでひとまとめにされ、この Screen が ServerLayout セクションから参照される。 それぞれの Screen セクションはグラフィックスボードとモニタを対応づける。 グラフィックスボードは Device セクションに記述され、モニタは Monitor セクションに記述される。

設定ファイルにおけるキーワードでは大文字と小文字は区別されず、"_" (アンダースコア)文字は無視される。 ほとんどの文字列( Option で使う名前を含む)でも大文字と小文字は区別されず、空白文字と "_" 文字も 区別されない。

設定ファイルの各項目は普通、ファイル中で 1 行を使って書かれる。 項目はキーワードの後に(たぶん) ひとつ以上の引き数を書いたものである。 引き数の数や型はキーワードによって異なる。 引き数には次のような型がある:

    Integer     10 進、16 進、8 進の整数
    Real        浮動小数点数値
    String      文字列。二重引用符(")で括る

注意: 16 進の整数値の前には "0x" を付け、8 進の整数値の前には "0" を付 けなければならない。

Option という特殊なキーワードを使って、各種のサーバ要素に対して自由な形式で データを渡すことができる。 Option キーワードは 1 個または 2 個の文字列引き数を取る。 最初の引き数名はオプション名であり、ふたつ目の引き数(なくてもよい)は オプションの値である。 オプション値によく使われる型には次のようなものがある:

    Integer     10 進、16 進、8 進の整数
    Real        浮動小数点数値
    String      文字列
    Boolean     真偽値(後述)
    Frequency   周波数後述

Option の値は、文字列でなくても 全て 引用符で括らなければならないので注意すること。

真偽値のオプションは値を指定しなくてもかまわない。 値が指定されなかった場合、そのオプションの値は TRUE となる。 真偽値を取るオプションに次の値を指定すると TRUE と認識される:

    1, on, true, yes

また、真偽値を取るオプションに次の値を指定すると FALSE と認識される:

    0, off, false, no

オプション名の先頭部分が "No" である場合、そのオプションの値は真偽が反転する。

指定例: 次のオプション項目は同じ意味である:

    Option "Accel"   "Off"
    Option "NoAccel"
    Option "NoAccel" "On"
    Option "Accel"   "false"
    Option "Accel"   "no"

周波数のオプション値は、実数の後に単位(省略可能)を付けて指定する。 単位は次のうちのひとつである:

    Hz, k, kHz, M, MHz

単位名が省略されると、指定された値と想定されている適切な値の範囲から 正しい値が決められる。 周波数値を使うときには、値を決める際に誤りが起こるのを避けるために、 必ず単位を指定することが望ましい。

Files セクション
Files セクションは、サーバが必要とする各種パス名の指定に使う。 これらのパスの一部は、コマンド行から指定することもできる( Xserver(1) および XFree86(1) を参照)。 コマンド行の設定は、設定ファイルで指定した値よりも優先される。 このセクションの項目は次の通りである:

FontPath "path"
    フォントを探す検索パスを指定する。 このパスはフォントパス要素をコンマで区切ったリストであり、 X サーバはフォントパス要素からフォントデータベースを探す。 FontPath 項目は複数個指定できる。 これらは繋げられて、X サーバが使うフォントパスとなる。 フォントパス要素には絶対パス指定かフォントサーバの識別子を指定できる。 フォントサーバの識別子は次の形式である:

    <trans>/<hostname>:<port-number>

    ここで <trans> はフォントサーバとの接続に使う通信の種類(例: unix ならば UNIX ドメインソケット、 tcp ならば TCP/IP 接続)、 <hostname> はフォントサーバが動作しているマシンのホスト名、 <port-number> はフォントサーバが接続待ちしているポート番号(普通は 7100)である。

    この項目が設定ファイル中で指定されていないとき、X サーバはデフォルトの 組み込みパスを使う。このパスのパス要素は次の通りである:

        /usr/X11R6/lib/X11/fonts/misc/
        /usr/X11R6/lib/X11/fonts/Speedo/
        /usr/X11R6/lib/X11/fonts/Type1/
        /usr/X11R6/lib/X11/fonts/CID/
        /usr/X11R6/lib/X11/fonts/75dpi/
        /usr/X11R6/lib/X11/fonts/100dpi/

    フォントパスは、次のフォントパス要素を含んでいることが望ましい:

        /usr/X11R6/lib/X11/fonts/local/
        /usr/X11R6/lib/X11/fonts/misc/
        /usr/X11R6/lib/X11/fonts/75dpi/:unscaled
        /usr/X11R6/lib/X11/fonts/100dpi/:unscaled
        /usr/X11R6/lib/X11/fonts/Type1/
        /usr/X11R6/lib/X11/fonts/CID/
        /usr/X11R6/lib/X11/fonts/Speedo/
        /usr/X11R6/lib/X11/fonts/75dpi/
        /usr/X11R6/lib/X11/fonts/100dpi/

    不正であることが判明したフォントパス要素は、サーバの起動時に フォントパスから削除される。

RGBPath "path"
    RGB 色情報データベースのパス名を設定する。 設定ファイルにこの項目が指定されていない時は、X サーバは 組み込みの RGB パスを使う。これは

    /usr/X11R6/lib/X11/rgb
である。

ModulePath "path"
    X サーバのローダブルモジュールの検索パスを指定する。 このパスはディレクトリをコンマ区切りで並べたリストであり、 X サーバはこのディレクトリからローダブルモジュールをロードする。 ロードは指定順に行われる。 ModulePath は複数個指定できる。 これらは繋げられて、X サーバが使うモジュール検索パスとなる。

ServerFlags セクション
ServerFlags セクションは、X サーバのグローバルなオプションのいくつかを指定するため に使われる。 このセクションの全ての項目は Option として書かれるが、古い形式の項目の一部も互換性のために認識される。 古い形式の項目はここでは説明しないし、それらを使うことも推奨しない。

このセクションで指定された Option は、アクティブな ServerLayout セクションで指定されている Option を上書きできる。 コマンド行から指定できる内容の Option については、 コマンド行から指定した値の方が優先される。 このセクションで認識されるオプションは次の通りである:

Option "NoTrapSignals"  "boolean"
    このオプションは、 予期しない範囲の致命的なシグナルをトラップして、正常に終了するという X サーバの動作を抑止する。 その代わりに、X サーバは障害が起こった時点で core を出力して異常終了 する。 X サーバのデフォルトの動作は正常終了の方であるが、その場合でも core ファイルは出力される。 一般的には、X サーバの問題点をデバッグし、その結果を処理しようとしてい るのでなければ、このオプションを使うことはない。

Option "DontZap"  "boolean"
    このオプションは Ctrl+Alt+Backspace のキーシーケンスを使えないようにする。 このキーシーケンスは通常、X サーバを終了させるために使う。 このオプションが有効であるときは、このキーシーケンスは 特殊な意味を持たず、クライアントに渡される。 デフォルト値: off

Option "DontZoom"  "boolean"
    このオプションは Ctrl+Alt+「+(テンキー)」 および Ctrl+Alt+「-(テンキー)」 のキーシーケンスを使えないようにする。 このキーシーケンスはビデオモードの切り替えに使われる。 このオプションが有効であるときは、このキーシーケンスは 特殊な意味を持たず、クライアントに渡される。 デフォルト値: off

Option "DisableVidModeExtension"  "boolean"
    このオプションは xvidtune クライアントが使う VidMode 機能拡張の部分を 無効にする。この機能拡張を使うとビデオモードを変更できる。 デフォルト値: VidMode 機能拡張が有効

Option "AllowNonLocalXvidtune"  "boolean"
    このオプションは、別のホストからの xvidtune クライアント(および VidMode 機能拡張を使う他のクライアント)の接続を許可する。 デフォルト値: off

Option "DisableModInDev"  "boolean"
    このオプションは XFree86-Misc 機能拡張の部分を無効にする。この機能拡張 を使うと入力デバイスの設定を動的に変更できる。 デフォルト値: この機能が有効

Option "AllowNonLocalModInDev"  "boolean"
    このオプションを使うと、他のホストから接続したクライアントが キーボードやマウスの設定を変更することを許可される。 デフォルト値: off

Option "AllowMouseOpenFail"  "boolean"
    このオプションは、マウスデバイスがオープン/初期化できない場合でも X サーバが起動できるようにする。 デフォルト値: false

Option "VTInit"  "command"
    サーバが使う仮想端末がオープンされた後に command を実行する。 コマンド文字列は "/bin/sh -c" に渡され、仮想端末に設定されている 標準入力と標準出力を持つ実ユーザ ID で実行される。 このオプションの目的は、仮想端末の初期化のシステム依存処理を実行できる ようにすることである。 このオプションが必要になることは滅多にない。 デフォルト値: 未設定

Option "VTSysReq"  "boolean"
    SYSV 形式の仮想端末切り替えシーケンスを、仮想端末をサポートしている 非 SYSV システムでも使えるようにする。 このシーケンスは、 Alt-SysRq + ファンクションキー (Fn) である。 このオプションは、仮想端末のデフォルトの切り替えシーケンスとして使われ るキーのトラップを抑止する。これにより、クライアントはこれらのキーに アクセスできるようになる。 デフォルト値: off

Option "BlankTime"  "time"
    スクリーンセーバーが画面表示を消すまでの時間を設定する。 time は分単位で指定する。 このオプションは X サーバの `-s' フラグと同じ意味であり、また xset(1) を使って値を実行時に変更できる。 デフォルト値: 10 分

Option "StandbyTime"  "time"
    DPMS モードにおいて ``standby'' 状態に移行するまでの時間を設定する。 time は分単位で指定し、また xset(1) で値を実行時に変更できる。 デフォルト値: 20 分。 このオプションは VESA DPMS 互換モニタにのみ有効であり、かつ現時点では 全ての X サーバでサポートされているわけではない。 このオプションは、 "DPMS" オプション(後述の Monitor セクションを参照)が設定されているスクリーン に対してのみ有効となる。

Option "SuspendTime"  "time"
    DPMS モードにおける ``suspend'' 状態に移行するまでの時間を設定する。 time は分単位で指定し、また xset(1) で実行時に値を変更できる。 デフォルト値: 30分。 このオプションは VESA DPMS 互換モニタにのみ有効であり、かつ現時点では 全ての X サーバでサポートされているわけではない。 このオプションは、 "DPMS" オプション(後述の Monitor セクションを参照)が設定されているスクリーン に対してのみ有効となる。

Option "OffTime"  "time"
    DPMS モードにおける ``off'' 状態に移行するまでの時間を設定する。 time は分単位で指定し、また xset(1) で実行時に値を変更できる。 デフォルト値: 40分。 このオプションは VESA DPMS 互換モニタにのみ有効であり、かつ現時点では 全ての X サーバでサポートされているわけではない。 このオプションは、 "DPMS" オプション(後述の Monitor セクションを参照)が設定されているスクリーン に対してのみ有効となる。

Option "Pixmap"  "bpp"
    このオプションは深さ 24 で使うピックスマップのフォーマットを設定する。 bpp に指定できる値は 24 と 32 である。 デフォルト値: (滅多にないが)ドライバの制約で許されていない場合を除いて 32。 注意: 一部のクライアントは、この値を 24 に設定するとうまく動作しない。

Option "PC98"  "boolean"
    マシンが日本の PC-98 であることを示す。 このオプションは日本固有の PC-98 アーキテクチャ以外のマシンでは有効に すべきではない。 デフォルト値: 自動検出

Option "NoPM"  "boolean"
    電源管理イベントの関連機能を無効にする。 デフォルト値: 電源管理に対応しているプラットフォームでは電源管理が有効

Option "Xinerama"  "boolean"
    Xinerama 機能拡張を有効または無効にする。 デフォルト値: 無効

Module セクション
Module セクションはロードすべき X サーバモジュールの指定に使う。 このセクションは X サーバが静的リンク形式で作られている場合には無視さ れる。 このセクションで通常ロードされるモジュールの型は、X サーバの機能拡張 モジュールとフォントラスラタイザのモジュールである。 他のほとんどの型のモジュールは、必要な時に別の機構を通じて自動的に ロードされる。

このセクションの項目にはふたつの形式が使える。 最初に説明するのは最もよく使われる形式で、 Load キーワードを使う。これは次のように記述する:

Load  "modulename"
    この指定は modulename というモジュールをロードするようにサーバに指示する。 指定するモジュール名はモジュールの標準名であり、モジュールのファイル名 ではない。 標準名では大文字と小文字は区別され、プレフィックス "lib" やサフィックス ".a", ".o", ".so" は名前に含まれない。

    例: Type 1 フォントのラスタライザは次の項目を使ってロードできる:

        Load "type1"

次に説明する形式は、 SubSection として指定するものである。 このサブセクションは、モジュール名をサブセクション名として持ち、 モジュールをロードした時に渡す Option を SubSection の内容として持っている。

例: extmod モジュール(さまざまな種類のサーバ機能拡張を含んでいる)をロード し、その中の XFree86-DGA 機能拡張を無効にすることは、次の項目を指定 することで行える:

    SubSection "extmod"
       Option  "omit XFree86-DGA"
    EndSubSection

モジュールが検索されるのは、検索パス ModulePath 内で指定された各ディレクトリおよび、これらのディレクトリの drivers, input, extensions, fonts, internal サブディレクトリである。 これに加え、上記全てのディレクトリ内に OS 固有のサブディレクトリがあれ ば、そのディレクトリが最初に検索される。

利用可能なフォントモジュールと機能拡張モジュールを調べるには、 次のディレクトリの内容を確認すること:

    /usr/X11R6/lib/modules/fonts
    /usr/X11R6/lib/modules/extensions

"bitmap" フォントモジュールは自動的にロードされる。 少なくとも "extmod" 機能拡張モジュールをロードすることは推奨される。 このモジュールがロードされていないと、よく使われるサーバ機能拡張の いくつか(Shape 機能拡張など)が使えない。

InputDevice セクション
設定ファイルには複数個の InputDevice セクションを書いてもよい。 普通は少なくともふたつの InputDevice セクションが書かれる: コア(プライマリ)キーボード用のセクション と、コアポインタ用のセクションである。

InputDevice セクションの書式は次の通りである:

    Section "InputDevice"
        Identifier "name"
        Driver     "inputdriver"
        options
        ...
    EndSection

Identifier 項目は、この入力デバイスを一意に決める名前を指定する。 Driver 項目は、この入力デバイスで使うドライバの名前を指定する。 ローダブルモジュール対応のサーバを使っている場合は、アクティブな InputDevice セクションのそれぞれに対して、入力ドライバモジュール "inputdriver" がロードされる。 InputDevice セクションがアクティブだと見なされるのは、そのセクションが アクティブな ServerLayout セクションから参照されている場合か、コマンド行オプションの -keyboard または -pointer から参照されている場合である。 最もよく使われる入力ドライバは "keyboard" と "mouse" である。

InputDevice セクションはドライバ独立な Option をいくつか認識する。ここではそれらを説明する。 ドライバ固有のオプションの説明については、個々の入力ドライバの オンラインマニュアルを参照すること。

Option "CorePointer"
    このオプションが設定されている時、その入力デバイスは コア(プライマリ)ポインタデバイスとしてインストールされる。 コアポインタはちょうどひとつだけ存在しなければならない。 このオプションがここ、 ServerLayout セクション、コマンド行オプションの -pointer のいずれでも設定されていない場合は、コアポインタとして使える 機能を持つ最初の入力デバイスがコアポインタとして選ばれる。 このオプションは、古い形式の Pointer セクションが使われている場合には暗黙的に設定される。

Option "CoreKeyboard"
    このオプションが設定されている時、その入力デバイスは コア(プライマリ)キーボードデバイスとしてインストールされる。 コアキーボードはちょうどひとつだけ存在しなければならない。 このオプションがここ、 ServerLayout セクション、コマンド行オプションの -keyboard のいずれでも設定されていない場合は、コアキーボードとして使える 機能を持つ最初の入力デバイスがコアキーボードとして選ばれる。 このオプションは、古い形式の Keyboard セクションが使われている場合には暗黙的に設定される。

Option "AlwaysCore"  "boolean"

Option "SendCoreEvents"  "boolean"
    このふたつのオプションは同じ意味である。 これらオプションを有効にすると、入力デバイスは常にコアイベントを送るよ うになる。 これを使うと例えば、コア以外のポインタデバイスに コアポインタイベント(カーソルの移動など)を生成させることができる。

Option "HistorySize"  "number"
    移動履歴の大きさを設定する。 デフォルト値: 0

Option "SendDragEvents"  "boolean"
    ???

Device セクション
設定ファイルには複数個の Device セクションを書いてもよい。 Device セクションは少なくともひとつ、使用するビデオカードのための設定がなけれ ばならない。

Device セクションの書式は次の通りである:

    Section "Device"
        Identifier "name"
        Driver     "driver"
        entries
        ...
    EndSection

Identifier 項目は、このグラフィックスデバイスを一意に決める名前を指定する。 Driver 項目は、このグラフィックスデバイスで使うドライバの名前を指定する。 ローダブルモジュール対応のサーバを使っている場合は、アクティブな Device セクションのそれぞれに対して、ドライバモジュール "driver" がロードされる。 Device セクションがアクティブだと見なされるのは、そのセクションが アクティブな Screen セクションから参照されている場合である。

Device セクションはいくつかのドライバ非依存の項目と Option を認識する。これらをここで説明する。 必ずしも全てのドライバがこれらのドライバ非依存の項目を利用しているわけ ではないし、こういったドライバの多くは項目を指定する必要がない。 というのも、情報が自動検出されるからである。 この点についての詳しい説明と、デバイス固有のオプションの説明については、 個々のグラフィックスドライバのオンラインマニュアルを参照すること。 ここで説明している Option のほとんどは(他の項目についてはそうではない)、この Device セクションでなく、 Screen セクションでも指定できる点に注意すること。

BusID  "bus-id"
    このオプションはグラフィックスカードのバス位置を指定する。 PCI/AGP カードの場合には、 bus-id 文字列は PCI:bus:device:function の形式となる(例えば、"PCI:1:0:0" は、ある AGP カードに対する適切な指定 である)。 この項目は、シングルヘッド構成でプライマリのグラフィックスカードを使う 時には普通は省略可能である。 マルチヘッド構成や、シングルヘッド構成でセカンダリのグラフィックス カードを使う時には、この項目は必須である。 このオプションの主な目的は、デバイスセクションとそれが示すハードウェア の結び付きを明確にすることである。 この情報は普通、コマンド行オプション -scanpci を付けて X サーバを実行することによって得られる。

Screen  number
    このオプションは、ひとつの PCI エンティティで複数のディスプレイを動かせ るカードでは必須である(例えば、ひとつのグラフィックスアクセラレータと ビデオメモリを共有している複数の CRTC)。 ひとつのヘッドごとにひとつの Device セクションが求められ、このパラメータはそれぞれの Device セクションがどのヘッドに対応するのかを決める。 number の有効な値は、0 以上エンティティごとの合計ヘッド数未満である。 ほとんどのドライバは、プライマリのスクリーン(0)が存在することを必要と する。

Chipset  "chipset"
    この項目はグラフィックスボードが使うチップセットを指定する。 通常は省略できる。 ほとんどの場合、ドライバがハードウェアを調べてチップセットの種類を 調べるので、この項目は必要でない。 指定することが個々のドライバの説明で推奨されていなければ、この項目は 指定しないこと。

Ramdac  "ramdac-type"
    この項目はグラフィックスボードが使う RAMDAC を指定する。 通常は省略できる。 この項目が使われるのは一部のドライバだけであり、ほとんどの場合は ドライバがハードウェアを調べて利用可能な RAMDAC を調べるので、この項目 は必要でない。 指定することが個々のドライバの説明で推奨されていなければ、この項目は 指定しないこと。

DacSpeed  speed

DacSpeed  speed-8 speed-16 speed-24 speed-32
    この項目は RAMDAC の速度を指定する(これは普通は RAMDAC チップに 印刷されている)。この項目は省略できる。 速度の単位は MHz である。 あるひとつの値が与えられた時、その値は全てのフレームバッファのピクセル サイズに適用される。 複数の値が与えられた時は、これらは 8, 16, 24, 32 の フレームバッファのピクセルサイズにそれぞれ適用される。 多くのドライバはこの項目を使っておらず、使われるのは RAMDAC の速度がドライバにデフォルトで組み込まれている値と異なる場合、 またはドライバが正しいデフォルト値を自動検出できない場合だけである。 指定することが個々のドライバの説明で推奨されていなければ、この項目は 指定しないこと。

Clocks  clock ...
    グラフィックスボード上のドットクロックを指定する。 ドットクロックの単位は MHz であり、浮動小数点数値も指定できる。 指定された数値は、最も近い kHz 単位の周波数に内部的に換算してから 保持される。 クロックを指定する順序は重要である。 使用するグラフィックスボード上でクロックが選択される順序に合っていなけ ればならない。 Clock 行を複数個指定することもできる。 それぞれの値は順に並べられてリストとなる。 ほとんどのドライバはこの項目を使っておらず、プログラマブルでない クロックを積んだ一部の古いチップでしか必要とされない。 指定することが個々のドライバの説明で推奨されていなければ、この項目は 指定しないこと。

ClockChip  "clockchip-type"
    この項目は、プログラマブルクロックジェネレータを搭載した グラフィックスカード上のクロックチップの種類を指定する。 この項目は省略できる。 プログラマブルクロックチップに対応しているのは、ごく少数の
     X サーバだけである。 詳しくは、該当する X サーバのオンラインマニュアルを参照すること。

VideoRam  mem
    この項目はグラフィックボードが搭載しているビデオメモリの容量を指定する。 この項目は省略できる。 指定はキロバイト単位で行うこと。 ほとんどの場合は X サーバがグラフィックボードを調べてメモリ量を認識す るので、指定する必要はない。 個々のドライバの説明に、どういう時にこの項目が必要となるのかが書かれて いるはずである。

BiosBase  baseaddress
    この項目は VGA ボード用のビデオ BIOS のベースアドレス値を指定する。 この項目は省略できる。 このアドレスは通常は自動的に検出されるので、指定するのは 個々のドライバの説明に必要と書かれている場合だけにすべきである。

MemBase  baseaddress
    この項目はグラフィックスボードのリニアフレームバッファの メモリベースアドレス値を指定する。 この項目は省略できる。 多くのドライバはこの項目を使っていないので、指定するのは 個々のドライバの説明に必要と書かれている場合だけにすべきである。

IOBase  baseaddress
    この項目は I/O ベースアドレス値を指定する。 この項目は省略できる。 多くのドライバはこの項目を使っていないので、指定するのは 個々のドライバの説明に必要と書かれている場合だけにすべきである。

ChipID  id
    この項目はチップの種類を表す数値 ID を指定する。 この項目は省略できる。 PCI カードの場合、この値は普通はデバイス ID である。 この項目は自動検出の結果よりも優先されるが、これを行うのは、 個々のドライバの説明に必要と書かれている場合だけにすべきである。

ChipRev  rev
    この項目はチップのリビジョン番号を指定する。 この項目は省略できる。 この項目は自動検出の結果よりも優先されるが、これを行うのは、 個々のドライバの説明に必要と書かれている場合だけにすべきである。

TextClockFreq  freq
    この項目は、通常のテキストモードで使われるピクセルクロック周波数 を指定する。 この項目は省略できる。 周波数は MHz 単位で指定する。 この項目を使うことは滅多にない。

Option
    Device セクションでは Option フラグを指定できる。 これらには、ドライバ固有のオプションもドライバ非依存のオプションも含ま れる。 前者は個々のドライバの文書で説明されている。 後者の一部は、後述の Screen セクションの項で説明されているが、ここでも指定できる。

VideoAdaptor セクション
このセクションの働きは誰も説明しようとしない。 たぶん誰も知らない…。

Monitor セクション
設定ファイルには複数個の Monitor セクションを書いてもよい。 Monitor セクションは少なくともひとつ、使用するモニタのための設定がなければなら ない。

Monitor セクションの書式は次の通りである:

    Section "Monitor"
        Identifier "name"
        entries
        ...
    EndSection

Identifier 項目は、この入力モニタを一意に決める名前を指定する。 Monitor セクションは、モニタの仕様に関する情報、 モニタ固有の Option, そのモニタで使うビデオモードに関する情報を指定する。 ビデオモードの指定は省略してもよい。というのも、現在のサーバは VESA 標準のモード値を組み込みで持っているからである。 モード値を Monitor セクションで明示的に指定する (Modes, ModeLine, UseModes キーワードを使う) 時には、同じ名前を持つ組み込みのモード値は取り込まれない。 しかし、この場合でも、別の名前を持つモード値は暗黙的に取り込まれる。

Monitor セクションで使える項目を以下で説明する:

VendorName  "vendor"
    この項目はモニタのメーカーを指定する。 この項目は省略できる。

ModelName  "model"
    この項目はモニタのモデルを指定する。 この項目は省略できる。

HorizSync  horizsync-range
    モニタが対応している水平同期周波数の範囲を指定する。 horizsync-range は、離散的な数値または数値の範囲をコンマで区切って並べたリストである。 数値の範囲指定するときは、ふたつの値をダッシュ(-)で繋ぐ。 デフォルトでは、値の単位は kHz である。 行末に MHz または Hz を追加することにより、数値を MHz 単位または Hz 単位でも指定できる。 X サーバはここで指定した数値を用い、ビデオモード値がモニタの仕様の 範囲内にあるかどうかを調べる。 モニタの仕様に関する情報はモニタの説明書に書かれているはずである。 この項目を省略すると、デフォルト値の 28-33kHz が使われる。

VertRefresh  vertrefresh-range
    モニタが対応している垂直同期周波数の範囲を指定する。 vertrefresh-range は、離散的な数値または数値の範囲をコンマで区切って並べたリストである。 数値の範囲指定するときは、ふたつの値をダッシュ(-)で繋ぐ。 デフォルトでは、値の単位は Hz である。 行末に MHz または kHz を追加することにより、数値を MHz 単位または kHz 単位でも指定できる。 X サーバはここで指定した数値を用い、ビデオモード値がモニタの仕様の 範囲内にあるかどうかを調べる。 モニタの仕様に関する情報はモニタの説明書に書かれているはずである。 この項目を省略すると、デフォルト値の 43-72Hz が使われる。

DisplaySize  width height
    この項目は、モニタの画像領域の幅と高さとミリメートル単位で指定する。 この項目は省略できる。 この項目を与えると、画面の水平および垂直ピッチ(DPI)の算出に使われる。

Gamma  gamma-value

Gamma  red-gamma green-gamma blue-gamma
    この項目を使うとモニタのガンマ補正値を指定できる。 この項目は省略できる。 ガンマ補正値はひとつの値としても指定できるし、RGB 値を 3 つの値で別々に 指定することもできる。 値は 0.1 から 10.0 の範囲でなければならない。 デフォルト値は 1.0 である。 必ずしも全てのドライバがこの情報を使えるわけではない。

UseModes  "modesection-id"
    modesection-id という Modes セクションで列挙されている一連のモードを取り込む。 この指定により、この項目で定義されている全てのモード値がそのモニタで使 えるようになる。

Mode "name"
    この複数行指定の項目を使うと、そのモニタで使うビデオモードを定義できる。 この項目は省略してもよい。 ほとんどの場合はこの指定は不要である。というのも、組み込みの VESA 標準 モード値が一通りあれば十分だからである。 Mode キーワードは複数行にわたるビデオモード指定の開始を示す。 モード指定は EndMode キーワードで終わる。 モード指定は次の項目からなる:

    DotClock  clock
        そのモードで使うドット(ピクセル)クロック速度。

    HTimings  hdisp hsyncstart hsyncend htotal
        そのモードでの水平タイミング値を指定する。

    VTimings  vdisp vsyncstart vsyncend vtotal
        そのモードでの垂直タイミング値を指定する。

    Flags  "flag" ...
        モードフラグのセットを追加的に指定する。それぞれのフラグは 二重引用符で括って別々の文字列で指定する。 "Interlace" は、そのモードがインタレースであることを示す。 "DoubleScan" は、スキャンラインを倍にするモードを示す。 "+HSync" と "-HSync" を使うと、HSync 信号の極性を選択できる。 "+VSync" と "-VSync" を使うと、VSync 信号の極性を選択できる。 "Composite" を使うと、コンポジット同期信号に対応しているハードウェアで、 コンポジット同期信号を使うことを指示できる。 さらに、一部のハードウェアでは、 "+CSync" と "-CSync" を使って、コンポジット同期信号の極性を指定できる。

    HSkew  hskew
        (画面の右端に向かって)ディスプレイのイネーブル信号を傾斜させるのに使う ピクセル数を指定する。 全てのドライバがこの情報を使うわけではない。 このオプションは、サーバが持っているデフォルトの値(もしあれば)を置き換 えるために必要となるかもしれない。 水平な線が「ぶれて位置が定まらない」場合には、この値を増やす必要がある。 また、走査線の最後のピクセルが画面の左端に表示されてしまう場合には、この 値を数値を減らすこと。

    VScan  vscan
        それぞれの走査線を画面に描画する回数を指定する。 全てのドライバがこの情報を使うわけではない。 1 より小さい値を指定しても 1 と見なされる。 デフォルト値は 1 である。 一般的には、前述の "DoubleScan" Flag を指定すると、この値が倍になる。

ModeLine  "name" mode-description
    この項目は Mode の簡略版であり、この項目でもモニタのビデオモードを指定できる。 この項目は、ビデオモードを 1 行だけで指定する。 ほとんどの場合はこの指定は不要である。というのも、組み込みの VESA 標準 モード値が一通りあれば十分だからである。

    mode-description は 4 つの部分に別れており、そのうち最初の 3 つは必須である。 最初の部分はドット(ピクセル)クロック値である。 これはそのモードで使うピクセルクロック値を示すひとつの数値である。 単位は MHz である。 2 番目の部分は 4 つの数値の並びであり、水平タイミング値を指定する。 この数値は順に hdisp, hsyncstart, hsyncend, htotal である。 3 番目の部分は 4 つの数値の並びであり、垂直タイミング値を指定する。 この数値は順に vdisp, vsyncstart, vsyncend, vtotal である。 最後の部分は、そのモードの特性を示すフラグのリストである。 Interlace は、そのモードがインタレースモードであることを示す。 DoubleScan は、それぞれの走査線を倍にするモードを示す。 +HSync と -HSync を使うと、HSync 信号の極性を選べる。 +VSync と -VSync を使うと、VSync 信号の極性を選べる。 Composite を使うと、コンポジット同期信号に対応しているハードウェアで、 コンポジット同期信号を使うことを指示できる。 さらに、一部のハードウェアでは、 +CSync と -CSync を使って、コンポジット同期信号の極性を選べる。 前に Modes 項目で説明した HSkew オプションと VScan オプションはここでも利用できる。

Option
    (必要な時に) Monitor セクションに含めると役立つかもしれない Option フラグとしては、 "DPMS" や "SyncOnGreen" などがある。

Modes セクション
Modes セクションは、設定ファイルに複数個あってもよいし全くなくてもよい。 このセクションを使うと、 Monitor に依存しない一連のビデオモードを定義できる。 Monitor セクションでは、 UseModes キーワードを使うことにより、この定義を記述できる。 ほとんどの場合は Modes セクションは不要である。というのも、組み込みの VESA 標準モード値が 一通りあれば十分だからである。

Modes セクションの書式は次の通りである:

    Section "Modes"
        Identifier "name"
        entries
        ...
    EndSection

Identifier 項目は、この一連のモード記述を一意に決める名前を指定する。 この他に Modes セクションに書ける項目は、既に Monitor セクションで説明した Mode 項目と ModeLine 項目である。

Screen セクション
設定ファイルには複数個の Screen セクションを書いてもよい。 Screen セクションは少なくともひとつ、使用する「スクリーン」のための設定がなけ ればならない。 「スクリーン」は、 グラフィックスデバイス (Device セクション)とモニタ (Monitor セクション)の結び付きを表す。ある Screen セクションが「アクティブ」と見なされるのは、アクティブな ServerLayout セクションから参照されている場合か、コマンド行オプションの -screen で指定されている場合である。 どちらでもない場合は、設定ファイルの中で最初に見つかった Screen セクションがアクティブと見なされる。

Screen セクションの書式は次の通りである:

    Section "Screen"
        Identifier "name"
        Device     "devid"
        Monitor    "monid"
        entries
        ...
        SubSection "Display"
           entries
           ...
        EndSubSection
        ...
    EndSection

Identifier 項目は、このスクリーンを一意に決める名前を指定する。 Screen セクションはスクリーン全体に固有の情報を指定する。これにはスクリーン 固有の Option 指定が含まれる。 マルチヘッド構成の場合は、アクティブな Screen セクションは複数個ある。このひとつずつがそれぞれのヘッドに対応する。 このセクションで利用できる項目は次の通りである:

Device  "device-id"
    この項目は、このスクリーンで使う Device セクションを指定する。 この指定は、特定のグラフィックスカードをスクリーンに結び付ける。 device-id は、設定ファイルの Device セクション内の Identifier 指定と一致しなければならない。

Monitor  "monitor-id"
    このスクリーンで使うモニタ設定を指定する。

VideoAdaptor  "xv-id"
    このスクリーンで使う Xv ビデオアダプタ設定を指定する。 省略してもよい。

DefaultDepth  depth
    サーバがデフォルトで使う色の深さを選ぶ。 コマンド行オプション -depth で、この指定を上書きできる。 どちらでも指定されていない場合のデフォルトの深さはドライバによるが、 ほとんどの場合は 8 である。

DefaultFbBpp  bpp
    フレームバッファのデフォルトで使うレイアウトを指定する。 コマンド行オプションの -fbbpp で、この指定を上書きできる。 ほとんどの場合はドライバが最も適切な値を選ぶ。 選択の余地があるのは深さを 24 にするかどうかくらいで、 使っているハードウェアのフレームバッファのレイアウトが、 パック形式 24 ビットのものと 疎な 32 ビットのものの両方に対応しているような場合である。

Option
    Screen セクションでは、さまざまな Option フラグを指定できる。 中にはドライバ固有のフラグもあるが、それらはドライバの文書で説明されて いる。 それ以外のものはドライバ非依存であり、いずれここで説明するつもりである。

それぞれの Screen セクションには、ひとつ以上の Display サブセクションが含まれていなければならない。 これらのサブセクションには、bpp や fbbpp に依存する設定情報 が書かれ、使われるサブセクションはスクリーンに対して使われる depth や fbbpp によって決まる。 Display サブセクションの書式は以下のセクションで説明する。

Display サブセクション
それぞれの Screen セクションは、複数個の Display サブセクションを持てる。 Display サブセクションは少なくともひとつはなければならず、 これはそのスクリーンに対して使われている depth または fbbpp とマッチングが取られる。 「アクティブ」な Display サブセクションは、使われている depth や fbbpp の値とマッチする 最初のものである。

Display サブセクションの書式は次の通りである:

        SubSection "Display"
            Depth  depth
            entries
            ...
        EndSubSection

Depth  depth
    この項目は、 Display サブセクションが適用される色の深さを指定する。 この項目は普通は必須であるが、 FbBpp 項目があれば省略できる場合もある。 許される depth 値の範囲はドライバによって異なる。 ほとんどのドライバは 8, 15, 16, 24 に対応している。 一部のドライバは 1 や 4 に対応している。 その他の値(30 など)に対応しているものもあるかもしれない。 注意: depth はひとつのピクセルに使われるビット数である。 ピクセルの色を決める際に実際に使われるのはこのビットである。 32 は depth の値としては正しくない。 32 bpp を使っているほとんどのハードウェアは、色情報を格納するのに 32 ビットのうちの 24 ビットしか使っていない。 つまり、色の深さは 24 であり、32 ではないのである。

FbBpp  bpp
    この項目は Display サブセクションが適用されるフレームバッファのフォーマットを指定する。 この項目が必要となるのは、深さ 24 の構成で複数の設定を選べる場合だけで ある。この場合は、パック形式の 24 bpp のフレームバッファフォーマットと 疎な 32 bpp のフレームバッファフォーマットが選べる。 ほとんどの場合、この項目を使うべきではない。

Weight  red-weight green-weight blue-weight
    この項目は、 複数のフォーマットが利用できるドライバに対し、深さ 16 で使われる スクリーンに適用される RGB の重みづけを指定する。 この項目は省略できる。 この指定はコマンド行オプションの -weight でも行える( XFree86(1) を参照)。

Virtual  xdim ydim
    この項目は仮想スクリーンの解像度を指定する。 この項目は省略できる。 ほとんどのドライバでは xdim は 8 か 16 の倍数でなければならず、モノクロモードで実行する際には 32 の倍数でなければならない。 指定された値がそうなっていない場合は、値が丸められる。 指定された仮想サイズに対して大きすぎるビデオモードは拒絶される。 この項目がなければ、仮想スクリーンの解像度は、 Modes 項目で指定された有効なビデオモードが全て収まるように設定される。 ドライバとハードウェアの組合せによっては仮想スクリーンは使えない。 詳細については、各々のドライバの適切な文書を読むこと。

ViewPort  x0 y0
    この項目は初期表示の左上隅の位置を設定する。 この項目は省略できる。 この項目が関係あるのは、仮想スクリーンの解像度が初期ビデオモードの 解像度と異なる場合だけである。 この項目が指定されなければ、初期表示は仮想表示領域の真ん中になる。

Modes  "mode-name" ...
    ほとんどのドライバにとって、この項目は指定することがたいへん望ましい。 この項目は使用するビデオモードのリストを指定する。 それぞれの mode-name の指定は、二重引用符で括らなければならない。 これらのビデオモードは、適切な Monitor セクションで指定または参照されているモード値(暗黙的に参照される、 組み込みの標準 VESA モード値を含む)と対応していなければならない。 X サーバは、各種の要件を満たしていないモード値はこのリストから削除する。 リスト中で最初に有効なモード値が起動時のデフォルトの表示モードとなる。 有効なモード値のリストは内部的に循環リストに変換される。 Ctrl+Alt+「+(テンキー)」 で次のモードに切り替えることができ、 Ctrl+Alt+「-(テンキー)」 で前のモードに切り替えることができる。 この項目が省略された時は、適切な Monitor セクションで参照されている有効なモード値のうち、 最も大きいものが使われる。

Visual  "visual-name"
    この項目はルートウィンドウのデフォルトのビジュアル型を設定する。 この項目は省略できる。 この指定はコマンド行からも行える(オンラインマニュアルの Xserver(1) を参照すること)。 深さ 8 に対して利用可能なビジュアル型は次の通りである(デフォルト値は PseudoColor である):

    StaticGray
    GrayScale
    StaticColor
    PseudoColor
    TrueColor
    DirectColor

    深さ 15, 16, 24 に対して利用可能なビジュアル型は次の通りである( デフォルト値は TrueColor である):

        TrueColor
        DirectColor

    必ずしも全てのドライバが、これらの深さで DirectColor に対応しているわけではない。

    深さ 4 に対して利用可能なビジュアル型は次の通りである( デフォルト値は StaticColor である):

        StaticGray
        GrayScale
        StaticColor
        PseudoColor

    深さ 1 (モノクロ表示)に対して利用可能なビジュアル型は StaticGray である。

Black  red green blue
    この項目を使うと「黒」の色を指定できる。 この項目は省略できる。 この項目が使えるのは深さ 1 の場合だけである。 デフォルト値は「black」である。

White  red green blue
    この項目を使うと「白」の色を指定できる。 この項目は省略できる。 この項目が使えるのは深さ 1 の場合だけである。 デフォルト値は「white」である。

Option
    Option フラグは Display サブセクションで指定できる。 これにはドライバ固有のオプションもドライバ非依存のオプションも含まれる。 ドライバ固有のオプションについては、個々のドライバの文書で説明されている。 ドライバ非依存のオプションの一部については、前述の Screen セクションに関する説明で述べている。それらのオプションは ここでも利用できる。

ServerLayout セクション
設定ファイルには複数個の ServerLayout セクションを書くことができる。 「サーバレイアウト」とは、ひとつ以上のスクリーン( Screen セクション)とひとつ以上の入力デバイス (InputDevice セクション)を結び付きを表し、これにより完全な設定を作る。 マルチヘッド構成では、サーバレイアウトはヘッド同士の相対的な位置関係も 示す。 コマンド行オプション -layout による指定があった場合は、その ServerLayout セクションが「アクティブ」と見なされる。 このオプションが指定されていない場合は、設定ファイル中で最初に見つかった ServerLayout セクションがアクティブなセクションと見なされる。 ServerLayout セクションがない場合は、ひとつのアクティブなスクリーンと ふたつのアクティブな(コア)入力デバイスが選択される。 これは前述のスクリーンと入力デバイスに関する説明で述べたように行われる。

ServerLayout には、次の 2 種類の書式がある:

    Section "ServerLayout"
        Identifier   "name"
        Screen       "screen-id"
        ...
        InputDevice  "idev-id"
        ...
        options
        ...
    EndSection

Identifier 項目はこのサーバレイアウトを一意に表す名前を指定する。 ServerLayout セクションはセッション全体に固有な情報を指定する。 これにはセッション固有の Option 項目指定も含まれる。 ServerFlags のオプション(前述)はここでも指定でき、ここで指定された場合は、 ServerFlags セクションで指定された値よりも優先される。

このセクションで利用できる項目をここで説明する。

Screen  screen-num "screen-id" position-information
    あるセッションで使われるそれぞれのスクリーンに対して、 これらの項目のひとつを指定しなければならない。 screen-id フィールドは必須であり、参照する Screen セクションを指定する。 screen-num フィールドは省略可能であり、マルチヘッド構成においてスクリーン番号を 指定するのに使える。 このフィールドが省略された場合は、スクリーンにはリスト順で番号が振られ る。 番号は 0 から始まる連続した数値である。 position-information フィールドは、複数のスクリーンをどう配置するのかを記述する。 この情報を指定する方法はたくさんある:

    Absolute  x y
        この指定は、左上隅の座標が (x,y) であることを示す。 座標値が省略されるか、位置情報が指定されなかった場合は、(0, 0) が 指定されたことになる。

    RightOf   "screen-id"

    LeftOf    "screen-id"

    Above     "screen-id"

    Below     "screen-id"

    Relative  "screen-id" x y
        これらは他のスクリーンに対する相対位置による指定である。

InputDevice  "idev-id" "option" ...
    あるセッションで使われるそれぞれの入力デバイスに対して、 これらの項目のひとつを指定しなければならない。 通常は少なくともふたつの指定が必要である。 ひとつはコアポインタデバイスの指定であり、もうひとつは キーボードデバイスの指定である。 idev-id フィールドは必須であり、参照する InputDevice セクションを指定する。 複数個の option フィールドを指定してもよく、その場合は全体を二重引用符で括ること。 ここで指定できるオプションは、 InputDevice セクションで指定できるオプションと同じである。 通常はセッション固有の入力デバイスオプションだけをここで指定すること。 非常によく使われるオプションは以下である:

    "CorePointer"
    "CoreKeyboard"
    "SendCoreEvents"

    最初のふたつは通常はコアポインタとコアキーボードをそれぞれ示すために使 われる。

Option
    ServerFlags セクションで使える全てのオプションがここでも指定できる。 同じオプションが両方で指定された場合には、ここで指定した値の方が ServerFlags セクションで指定した値よりも優先される。

以下には、デュアルヘッド構成でマウスをふたつ使う場合の ServerLayout セクションの例を示す:

    Section "ServerLayout"
        Identifier  "Layout 1"
        Screen      "MGA 1"
        Screen      "MGA 2" RightOf "MGA 1"
        InputDevice "Keyboard 1" "CoreKeyboard"
        InputDevice "Mouse 1"    "CorePointer"
        InputDevice "Mouse 2"    "SendCoreEvents"
        Option      "BlankTime"  "5"
    EndSection

DRI セクション
このセクションは、Direct Rendering Infrastructure にまつわる いくつかの情報を指定するために使われる。 このセクションの書式の詳しい説明については、README.DRI 文書に書かれて いる。 この文書は <http://www.xfree86.org/current/DRI.html> からオンラインで入手できる。

Vendor セクション
Vendor セクションはベンダ固有の設定情報を指定するために使える。 このセクションはなくてもよい。 複数個の Vendor セクションがあってもよく、それぞれのセクションには Identifier 項目と複数個の Option フラグが書かれる。 現在の XFree86 のリリースでは、 Vendor セクションの内容は使われない。

ファイル
XF86Config ファイルの設定例については、 /usr/X11R6/lib/X11/XF86Config.eg としてインストールされるファイルを参照すること。

関連項目
X(7), Xserver(1), XFree86(1), apm(4), ati(4), chips(4), cirrus(4), cyrix(4), fbdev(4), glide(4), glint(4), i128(4), i740(4), i810(4), imstt(4), mga(4), neomagic(4), nv(4), r128(4), rendition(4), s3virge(4), siliconmotion(4), sis(4), sunbw2(4), suncg14(4), suncg3(4), suncg6(4), sunffb(4), sunleo(4), suntcx(4), tdfx(4), tga(4), trident(4), tseng(4), v4l(4), vesa(4), vga(4),
README <http://www.xfree86.org/current/README.html>,
RELNOTES <http://www.xfree86.org/current/RELNOTES.html>,
README.mouse <http://www.xfree86.org/current/mouse.html>,
README.DRI <http://www.xfree86.org/current/DRI.html>,
Status <http://www.xfree86.org/current/Status.html>,
Install <http://www.xfree86.org/current/Install.html>

作者
このオンラインマニュアルは David Dawes <dawes@xfree86.org> が XFree86 4.0 のために大幅に書き換えた。