sarge: nvidiaビデオカードのドライバインストール

ついに新しい家用パソコンを買いました!Sledgehammerですよ,奥さん!というわけで,Mac G5 を使っている日常において64bitコンピューティングのありがたみを特に感じていないにも関わらず,やはり64bitに憧れて Athlon64 3200+ のマシンを買ってしまいました.当然ウィンドウズをインストールしているのですが(音楽環境はどうしてもlinuxは貧弱なので…),linuxもインストールできる環境にあるのだから,ということでパーティションを区切って早速 debian GNU/linux をインストールすることにしました.折角新しくインストールするんだから,安定版を使っても面白くなかんべと思い,sarge の testing をインストールすることにしたのです.噂の debian installer も使ってみたかったですしね.

インストールそのものはかなりサクサク進みます.さすが debian installer,噂に違わぬ快適さで,ほとんどデフォルトのオプションでインストールは完了します.途中で home ディレクトリをパーティションを区切って分割して配置するところだけデフォルトではなかったですが,他はほぼ全てデフォルトでした.

ただ唯一問題があったのは,やはりグラフィックドライバでした.私のパソコンのビデオカードは

MSI MS-StarForce GeForce FX5900XT

です.デフォルトではビデオドライバの選択で "vesa" というものが選ばれていました.ところがその時はこれが汎用ドライバのことを指しているとは知らずに,選択肢から "nv" を選んでしまいました.すると,案の定と言うべきか X の起動に失敗しました.この時デフォルトのまま "vesa" を選んでいたら上手く起動していたかどうかは定かではありませんので,これを読んで「vesa でもいいんじゃないの?」と思う方は,是非試してみて下さい.できればその結果を掲示板で知らせて貰うか,メールしていただければ幸いです.

同じ資料室にあるページ,カーネル再構築&nvidiaビデオカードのドライバインストールと異なる点は,パッケージが sarge になっていることと,自分のマシンでソースからコンパイルしたカーネルを用いていないという点にあります.今回は debian installer に従ってバイナリのカーネル 2.4.25-1-386 がインストールされているので,それに nvidia ドライバを加える作業を記述します.

余談ですが,デフォルトでは gdm が入るのですが,なぜかウィンドウマネージャは KDE3.2 なんですね.これは一体どういうことなのかさっぱりわかりません.ちなみに gdm が入っているので,ログイン画面はもちろん gnome です.ここでビデオドライバの選択を誤っていると,debian を起動するだけでなんども X を立ち上げようし,そして失敗しまくるので結構うっとうしいです.デフォルトで設定するほど,皆さんはグラフィカルログインを渇望しているのでしょうか?


1.nvidia-kernel のインストール

先程,標準で入っている vesa でも問題ないかも知れないと書きましたが,やっぱりパフォーマンスを引き出すためには,nvidia が提供しているドライバをインストールするのが一番ですよね.今上手く動いている人も,nvidia 純正のドライバに変える意味はあるのではないでしょうか.

さて,nvidia のドライバをダウンロードしてきます.以前は nvidia-kernel-src というファイルをダウンロードしてきましたが,sarge になって名前が変わり,nvidia-kernel-source というファイルをダウンロードしてきます.

$ su
# apt-get install nvidia-kernel-source

ちなみに # apt-get install nvidia-kernel-src としても,それは古いパッケージで新しいパッケージ名は nvidia-kernel-source であると教えてくれます.apt は便利ですねえ.

するとソースファイルが /usr/src にできているので,/usr/src に移った後に tar で解凍します.いつもの手順ですね.

$ su
# cd /usr/src
# tar xvfz nvidia-kernel-source.tar.gz

カーネルのバージョンを調べて,それに対応する nvidia ドライバをインストールしなければなりません.これを間違うと全く X は起動しなくなります.(現に私は確認もせずに間違って思いこんだカーネルのバージョンでインストールして失敗しました.トホホ…)

$ su
# uname -r

私の場合は 2.4.25-1-386 でした.次にそれに対応したカーネルヘッダーをインストールします.

$ su
# apt-get install kernel-headers-2.4.25-1-386

nvidia カーネルをコンパイルするために,カーネルヘッダーのある場所とそのバージョンを環境変数で定義してやります.

$ su
# export KSRC=/usr/src/kernel-headers-2.4.25-1-386
# export KVERS=2.4.25-1-386

これでようやく nvidia カーネルをコンパイルする準備が整ったので,カーネルをコンパイルします.

$ su
# cd modules/nvidia-kernel
# debian/rules binary_modules

これで nvidia-kernel-2.4.25-1-386_1.0.5336-6.deb というファイルが出来上がります.これをインストールするためには依存関係にある nvidia-kernel-common をインストールしなければなりません.これがすでに入っている人は問題ありません.

$ su
# apt-get install nvidia-kernel-common

最後に,先程生成した nvidia カーネルファイルをインストールします.

$ su
# dpkg -i nvidia-kernel-2.4.25-1-386_1.0.5336-6.deb

以上で終了です.意外とあっさりできますね.debian の注意書きを読んでいると,よく「dpkg は極めて専門性の高いコマンドなので,パッケージ管理には dselect を使ってくれ」と書いていますが,結局使わなければいけなくなる局面に結構出くわすんですよね.apt-get にしても dselect にしても tasksel にしても,結局最後は dpkg をコールして使っているんですから,もう少し dpkg に優しくてもいいのになあ,と思うのでした(意味不明?).

ちなみに以上の説明は /usr/share/doc/nvidia-kernel-source/README.Debian にも書いてありますので,そちらも参考にして下さい.

2.nvidia-glx のインストール

これもパッケージ名が変わりまして,以前までは nvidia-glx-src というファイル名でしたが,今では nvidia-glx に変わっています.ここが今までと比べて大きく変わった作業なんですね.随文楽になりました.

まず本体ファイルとデベロップメントファイルをインストールします.

$ su
# apt-get install nvidia-glx nvidia-glx-dev

次に,XFree86 の設定ファイルを変更します.

$ su
# cd /etc/X11
# <YOUR EDITOR> XF86Config-4

<YOUR EDITOR>にはあなたのお使いのエディタを入れてください.XF86Config-4 を書き換えられればよいのです.ここの 「Section "Modules"」に「Load "glx"」を加えます.これは恐らく nvidia-glx のインストールで自動で書き加えられていると思います.また,「Load "dri"」と「Load "GLcore"」をコメントアウトするか削除するかして下さい.これらを省かないと X は起動しません.次に「Section "Device"」で「Driver "nv"」を「Driver "nvidia"」に変えて下さい.debian のインストール時に vesa を選んだ人は,nv となっていないでしょうが,どちらにせよ nvidia に変えて下さい.

これで設定は終了です.以前に比べて随分楽ちんですね./etc/modules.conf とか /etc/modules とかに気を配らなくても全く問題ないのです.そもそも nvidia.o をモジュールとして読んでいる気配ありませんから.

ちなみに以上の説明は /usr/share/doc/nvidia-glx/README.Debian にも書いてありますので,そちらも参考にして下さい.

3.完成!

以前に比べて簡単に事が運びました.設定ファイルをいじる量が減ったことが大きいのでしょうね.自分でカーネルソースを取ってきてコンパイルした場合に nvidia のドライバをインストールすのはまた勝手が違うと思いますので(大差ないとは思いますが),また機会があれば試してみようと思います.


資料室に戻る
©2004 HONDA Mitsuru