NVIDIA グラッフィックカードのドライバ

うちで使っている計算機に、NVIDIA の GeForce 4 MX 440 (64MB) という グラッフィックカードが付いています。 このカードを使って 1920x1200 の画面出力をしてみました。

うまくいかないことたち

まず出力ですが、カードにはデジタルとアナログの2種類の出力があります。 どうもデジタルだと 1920x1200 の解像度は出ないようで、 アナログの D-sub を使いました。

次に、Xorg -configure 一発でとりあえず Xorg.conf は作れて画面も出ます。 しかし、ちらつきが出て実用に耐えませんでした。 そこで、NVIDIA が出している FreeBSD 用のドライバを インストールすることにしました。

NVIDIA ドライバのダウンロード

NVIDIA のドライバダウンロードサイトに行って、必要なドライバをダウンロードしてきます。 この際必要な情報は、(カッコ内はうちのカードの場合) です。これらを選択したら、右下にある「検索」を押します。 次のページで tar+gz 形式のファイルがダウンロードができますので、 適当なところに保存します。

なお NVIDIA によってサポートされているカードでも ドライバの型番がわかります。 うちのカードを探すと、その上の方に 「The 1.0-96xx driver supports the following set of GPUs:」 と書いてあるので、NVIDIA-FreeBSD-x86-96.xx.xx.tar.gz が必要だとわかります。

NVIDIA ドライバのインストール

手順は、
  1. ダウンロードしたドライバを解凍
  2. make install でインストール
  3. 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 ドライバの設定(自動)

nvidia-xconfig を使おうと思うと、libm.so.3 や libc.so.5 がない と言われて止まってしまいます。 FreeBSD 5.x にこれらのバージョンがあるようですので、 そこから /lib を持ってきてローカルの /lib5 として置いたとします。
# cd /lib
# ln -s /lib5/libm.so.3 .
# ln -s /lib5/libc.so.5 .
この後、nvidia-xconfig を動かします。
# nvidia-xconfig
この作業で、/etc/X11/xorg.conf は /etc/X11/xorg.conf.backup にコピーされ、 新しい設定が /etc/X11/xorg.conf に上書き保存されます。

NVIDIA ドライバの設定(手動)

実際のところ、nvidia-xconfig はたいそうな事をしているわけではないので、 もし動かなければ Xorg -configure で作成した/etc/X11/xorg.conf を 手動で編集してもOKです。変更点は以下の3点です。 さらに、Xorg で作った xorg.conf に Section "Module" があったら、 次の一群を加えておく(か、あるか確認する)と良いようです。
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 です。


FreeBSD の部屋


Last modified: Wed Apr 20 15:29:43 JST 2011