CentOS 5 で ModeLine

CRT モニタをまだ使っているのですが、リフレッシュレートが低いと目が疲れます。デフォルトでは低いリフレッシュレートしか設定できないようなので、/etc/X11/xorg.conf に ModeLine を追加してみます。なお、以下で利用しているビデオカードのドライバは xorg に付属してくる nv です。nvidiaLinux 用ドライバは使っていません。

追記: nvidiaのドライバを使う方法を追加しました。CentOS 5 で nvidia のドライバを使って Modeline - k3k1::log をご覧下さい。

ModeLine の書き方は man xorg.conf に載っていますが、よくわかりません。これを自動的に生成してくれるコマンドが gtf だそうです。

$ gtf --help

usage: gtf x y refresh [-v|--verbose] [-f|--fbmode] [-x|--xorgmode]

            x : the desired horizontal resolution (required)
            y : the desired vertical resolution (required)
      refresh : the desired refresh rate (required)

これで、1280x960@85Hz, 1152x864@100Hz の ModeLine を生成してみます。

$ gtf 1280 960 85

  # 1280x960 @ 85.00 Hz (GTF) hsync: 85.68 kHz; pclk: 149.43 MHz
  Modeline "1280x960_85.00"  149.43  1280 1376 1512 1744  960 961 964 1008  -HSync +Vsync

$ gtf 1152 864 100

  # 1152x864 @ 100.00 Hz (GTF) hsync: 91.50 kHz; pclk: 143.47 MHz
  Modeline "1152x864_100.00"  143.47  1152 1232 1360 1568  864 865 868 915  -HSync +Vsync

これを xorg.conf の Monitor セクションに貼ります。

Section "Monitor"

    Identifier     "Monitor0"
    ModelName      "Monitor 1600x1200"
    HorizSync       30.0 - 96.0
    VertRefresh     50.0 - 160.0
    Option         "dpms"

    Modeline "1280x960_85.00"  149.43  1280 1376 1512 1744  960 961 964 1008  -HSync +Vsync
    Modeline "1152x864_100.00"  143.47  1152 1232 1360 1568  864 865 868 915  -HSync +Vsync
EndSection

さらに Screen セクションの Modes にこれらを指定してみます。

Section "Screen"
    Identifier     "Screen0"
    Device         "Videocard0"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection     "Display"
        Viewport    0 0
        Depth       24
        Modes      "1280x960_85.00" "1152x864_100.00"
    EndSubSection
EndSection

これで X をリスタートすると反映されます。