うちで使っている計算機に、NVIDIA の GeForce 4 MX 440 (64MB) という グラッフィックカードが付いています。 このカードを使って 1920x1200 の画面出力をしてみました。
まず出力ですが、カードにはデジタルとアナログの2種類の出力があります。 どうもデジタルだと 1920x1200 の解像度は出ないようで、 アナログの D-sub を使いました。次に、Xorg -configure 一発でとりあえず Xorg.conf は作れて画面も出ます。 しかし、ちらつきが出て実用に耐えませんでした。 そこで、NVIDIA が出している FreeBSD 用のドライバを インストールすることにしました。
NVIDIA のドライバダウンロードサイトに行って、必要なドライバをダウンロードしてきます。 この際必要な情報は、(カッコ内はうちのカードの場合)です。これらを選択したら、右下にある「検索」を押します。 次のページで tar+gz 形式のファイルがダウンロードができますので、 適当なところに保存します。
- 製品のタイプ(GeForce)
- 製品シリーズ(GeForce 4 MX Series)
- オペレーティングシステム(FreeBSD x86)
- 言語(Japanese)
なお NVIDIA によってサポートされているカードでも ドライバの型番がわかります。 うちのカードを探すと、その上の方に 「The 1.0-96xx driver supports the following set of GPUs:」 と書いてあるので、NVIDIA-FreeBSD-x86-96.xx.xx.tar.gz が必要だとわかります。
手順は、です。ファイル名はバージョンによって違うと思うので、適当に読みかえて下さい。
- ダウンロードしたドライバを解凍
- make install でインストール
- nvidia-xconfig で xorg.conf を nvidia ドライバを使うように変更
これで、インストールまで完了です。
# tar zxvf NVIDIA-FreeBSD-x86-96.43.11.tar.gz
# cd NVIDIA-FreeBSD-x86-96.43.11
# make install
nvidia-xconfig を使おうと思うと、libm.so.3 や libc.so.5 がない と言われて止まってしまいます。 FreeBSD 5.x にこれらのバージョンがあるようですので、 そこから /lib を持ってきてローカルの /lib5 として置いたとします。この後、nvidia-xconfig を動かします。
# cd /lib
# ln -s /lib5/libm.so.3 .
# ln -s /lib5/libc.so.5 .
この作業で、/etc/X11/xorg.conf は /etc/X11/xorg.conf.backup にコピーされ、 新しい設定が /etc/X11/xorg.conf に上書き保存されます。
# nvidia-xconfig
実際のところ、nvidia-xconfig はたいそうな事をしているわけではないので、 もし動かなければ Xorg -configure で作成した/etc/X11/xorg.conf を 手動で編集してもOKです。変更点は以下の3点です。さらに、Xorg で作った xorg.conf に Section "Module" があったら、 次の一群を加えておく(か、あるか確認する)と良いようです。
- Section "Module" の次の2行を削る
Load "GLcore"
Load "dri"
- Section "Module" に(もしなければ)次の1行を追加する
Load "glx"
- Section "Device" で次の変更をする
を
Driver "nv" (or "vesa" or "fbdev")
に書き換える
Driver "nvidia"
Section "Module"
Load "extmod"
Load "dbe"
Load "type1"
Load "freetype"
Load "glx"
EndSection
/usr/ports/x11-wm/afterstep-i18n ではキレイな画面が出るようになりました。 しかしデフォルトの twm (でしたっけ?)だと、 そもそも X が起ち上がりませんでした。 追及していないので原因は不明です。
freebsd-update でカーネルを更新した場合、 NVIDIA カードのバージョンが古いと X がうまく動かなくなることがあります。 この場合は、最新バージョンのドライバをインストールして、 インストールしたモジュールを起動すれば(再起動でOK) X が動きます。なお、/usr/ports/x11 の下に nvidia-driver-173, nvidia-driver-71, nvidia-driver-96, nvidia-driver という ports があるのでここからインストールすることもできます。 うちのカードの場合、nvidia-driver-96 を選択して make install です。