XFree86 には、グラフィックスカードのクロック周波数の設定を外部プログラ ムから行うための機能があります。これにより、標準ドライバがサポートして いない方法でクロック選択を行うカードを扱えるようになります。
この機能を有効にするには、XF86Config
ファイルの
Device
セクションに ClockProg
という行を追加します。
この行のフォーマットは以下のようになっています:
ClockProg "
commandpath"
ここで commandpath はクロック設定プログラムのフルパス名です。
commandpath に引き数を付けることはできません。
このオプションが使われ、かつ Clocks
行を指定されていない時に
は、カードのクロックは完全にプログラマブルである(例: SS24)ものと想定さ
れます。しかし、カードで選べるクロックが予め決まっている場合には、
XF86Config
ファイルの Device セクションに Clocks
行
が必要であり、これを使って利用可能なクロック周波数をサーバに教えてやら
なければなりません。Clocks
行におけるクロックの順序は、カード
やプログラムが想定している順序と一致していなければなりません。クロック
値は 128 個まで指定することができます。
サーバが外部プログラムを呼び出すのは、クロック周波数を変更する必要があ るときです。変更する必要が生じるのは、サーバの起動時とホットキーシーケ ンスによってモードが切替えられたときです。外部コマンドには2つのコマン ドライン引き数が渡されます。最初の引き数はクロック周波数です(MHz を単 位とする浮動小数で、現在はほぼ 0.1MHz 単位で指定できます)。2番目の引き数 は Clocks リストにおけるクロック値のインデックス番号です(最初のクロッ ク値のインデックス番号は 0 になります)。選べるクロック値の組合せが決まっ ているカードではインデックス番号を使うことになるでしょうし、クロックが 完全にプログラマブルなカードでは周波数を引き数にすることになるでしょう。