Linux用NVIDIAドライバインストールのヒント


インストール手順

  1. まず、あなたのシステムでソースからドライバをビルドしなければならないのならば、 カーネルソース、コンパイラおよびbinutilsがインストールされていることを確認してください。 マシンが開発者プラットフォームとしてセットアップされていれば、 これらはすべて既に存在するはずです。 OSインストール時にこのソフトウェアをインストールしていない場合に、それを追加することは通常は非常に簡単で、ディストリビュータから供給されているGUIツールでおこなえます。 SunのJDSでは、起動メニューボタンのメニューのアプリケーション > システムツール > 管理にあります。

  2. 次に、カーネルソースのセミビルドをおこなう必要があります。 つまり、すべてをビルドしなくても、 適切なファイルを配置するビルドの前段階で十分です。 最も簡単な方法は、cdコマンドで/usr/src/linuxに移動し、 まずmake cloneconfigを実行してから、make depを実行することです。 ディスク容量が不足している場合は、 複数のファイルを/bootからソースツリーの正しい位置にコピーして、編集することもできます。

    cp /boot/vmlinuz.config /usr/src/linux-2.4.19-SuSE/.config
    cp /boot/vmlinuz.autoconf.h /usr/src/linux-2.4.19-SuSE/include/linux/autoconf.h


    そして"uname -r"の結果と一致するように、/usr/src/linux -2.4.19-SuSE/include/linux/version.hを編集してください。
  3. http://www.nvidia.com/object/linux.htmlに行き、あなたのプラットフォーム用の最新バージョンをクリックしてください。 これはたぶん,インテルまたはAMD x86チップ用のLinux IA32対応ドライバでしょう。

    注: GeForce 3カードの場合は、 古いバージョンの”123”ドライバしか動作しないと思われます。 あなたがGeForce 3カードを使用している場合は、 下記のファイルをダウンロードしてください。

    NVIDIA_GLX-1.0-3123.tar.gz
    NVIDIA_kernel-1.0-3123.tar.gz


    そして、代わりにこれらのソースを使用してインストールしてください。 あるいは、以下のステップを続けてください。
  4. まず、*.runファイルをダウンロードして、手順書を読んでください。 しかし、それはまだ実行しないでください。 ダウンロードページからリンクされているREADMEも非常に有用です。 *.runファイルは、アクセスが容易な場所に置きます。 *.runファイルが複数存在する場合は、 パッケージ番号が最も大きいものを取得してください。

  5. この手順の実行前と実行後のシステムの3D速度を比較しやすくするために、 3Dプログラムを試しに実行して、 ソフトウェア3D描画ではどの程度の速度で実行されるのかを調べることができます。 XScreenSaverは大部分のLinuxとUNIXシステムにインストールされているので、 システムを比較するための一つの良い選択肢は、まずxscreensaver-demoを実行して、 リストから(良い例として)GLPlanetあるいはSproingiesを選び、Previewをクリックすることです。 しばらくの間フルスクリーンで実行した後に、 通常の画面に戻るためには、マウスボタンをクリックします。 この作業は後でもう一度おこないます。 また、glxgearsも試してみてください。 5秒ごとにフレームレートが印字されるので、 比較しやすくなります。

  6. ログアウトして通常のログイン画面に戻り、 Ctrl-Alt-F2をタイプすれば、 新たな仮想コンソールが開きます。 rootとしてログインし、init 3とタイプすると、 X環境を使用しない安全なマルチユーザモードに移行します。

  7. 個々のサービスの停止を示すメッセージの出力が終わったら、 Returnキーを押せばプロンプトに戻ります。 次に、Xが使用するプログラムが実行されていないことを確実にするために、"pkill gdm"とタイプします。

  8. 次に、ダウンロードされたスクリプトを実行するために、 例えば次のようにタイプします。

    sh NVIDIA-Linux-x86-1.0-4496-pkg2.run
    注: 実際にタイプするスクリプト名はダウンロードしたファイル名に依存します。

    このファイルはシェルスクリプトなので、先頭の"sh"は重要です。 テキストベースのインストールを実行してください。 SunのJDS用にコンパイルされたバイナリは存在しないので、 ビルドしなければいけません。 もし、ビルドを実行するならば、今回初めて実行する場合は、 カーネルソースが既にインストールされているかを確認する必要があります。 カーネルソースはディストリビューションのメディア上にあるはずです
  9. Athlon PC上でJava Desktop Systemディストリビューションを使用している場合は、 以下のファイルを編集しなければいけません。 そうすれば、カーネルソースと実行しているカーネルのバージョンの不一致に関するエラーは発生しません。

    /usr/src/linux-2.4.*/include/linux/version.h
    テストシステムのために,1行目を以下のように"-athlon"で終るように変更します。
    #define UTS_RELEASE "2.4.19-4GB-athlon"
    すなわち、"uname- r"の出力と一致させます。
    SuSEを使用している場合は、NVIDIAインストールスクリプトが完了すると、 セットアップを完了させるためにはSaX2を実行してくださいという意味のメッセージが表示されます。 これはSunのJDSの場合も同じなので,ここでざっと説明します。 他のプラットフォームの場合は、 XF86Configファイルを編集して、"nv"を"nvidia"に置換する必要があるでしょう。 他の部分も編集する必要があるかもしれません。 NVIDIA Webサイト (http://www.nvidia.com/object/linux.html) からリンクされているREADMEと、Project Looking Glass Webサイトで,あなたの設定に最も一致するインストールについての注意書きを読んでください。
  10. SaX2を実行してください。 この時に、sax2 -m 0=NVIDIAを使用すると速くなると報告している人がいます。 低解像度のXセッションが開始され、最終的にSaX2 GUIが表示されるでしょう。 Desktopセクションのオプションを変更する必要がありますが,他は変更する必要はありません。 以下の順序で変更してください。

    • Monitor:

      最初のタブにあるモニターから、使用しているモデル、あるいは一番近いものを選択します。 次に、3番目のタブExpertをクリックし、 UseFrameBufferTimingの上にあるチェックボックスを選択します。 この設定をしないと、 このカードで望む解像度を使用しようとするとSaX2とXF86で問題が発生しました。 それから、メイン画面に戻るために、Finishをクリックします。

    • Graphics card:

      [Change Configuration]をクリックして、 現在設定されているグラフィックスカードを削除してください。 これは古いドライバ用の設定されているので、 こうすれば新しいドライバーの設定が容易になります。 次に、Add new cardをクリックし、ベンダーからNVIDIAを選択し、 右側に表示されたリストから使用しているカードを選択してから、 Okをクリックします。

      起動時にsax2に"-m 0=NVIDIA"引数を指定した場合は、 この操作は不要のはずですが、 念のために確認してください。

    • Colors and Resolutions:

      Propertiesをクリックして、Colorsタブの中で希望する色深度を選んでください。 GeForceカードを最適化するために、24 ビットを推奨します。 次に、その色深度のResolutionsタブに移動して使用可能な最も高い解像度を選択して、 (必要に応じてスクロールして)これ以外の他の低い解像度をすべて選択解除してください。 この作業は手間が掛かるかもしれませんが、 これをすることで実行時の多くの問題が解決されます。 希望する解像度がない場合は、"Expert"タブの中で追加することができます。

      次に、OKをクリックして変更を確定してください。

    • Virtual Resolution:

      必要な場合だけ選択してください!

    • 3D Acceleration:

      グラフィックスカードを正しくnvidiaと設定していればEnabledが、 そうでなければNot configuredが表示されます。 グラフィックスカードの設定に問題がある場合でも、 この段階で修正するべき点はほとんどありません。 実際にはNVIDIAドライバが使用されているにもかかわらず、 sax2がこれを誤認識してunavailableやnot enableと表示されても、 この段階ではまだあまり心配しないでください。

  11. 上記中のどの時点でも、 選択した解像度があなたのモニターではサポートされていないと伝えられた場合は、 以下に注意してください。 一般的に、これはハードウェアの能力を超えているか、 あるいはモニタが正しく設定されていないことを意味しています。 上記のMonitorセクション内の手順に従い、 Expertタブ中のプルダウンリストの他のオプションを試してください。 このダイアログが表示されている場合には、 SaX2は上記の原因を示唆してあなたを戒めるために、 モニター設定を廃棄しています!

  12. すべてがめでたく完了したなら、Finalizeをクリックしてください。 あなたの運命は未だグラフィックスの魔物の手に握られていて、あなたの自由にはなりません。 運が良ければ、この設定を試すチャンスがあります。 そうするとすぐに、 青色の背景の上に、左上に"Idle timer"を持つ灰色の画面サイズを調節するボックスが表示されます。 これは、その表示を伸縮し移動させることで、モニターに最も適合するようにするものです. しかし、何もしないで待っていると、タイムアウトして画面設定が失敗します。 resizeダイアログの右上のメニューで設定をどのくらい変更するかを選択できることに注意してください。 まず高さを正しく設定し、次に幅を、そしてまた高さに戻ってから、最後にそれを正しい位置まで動かしてください。 これは周波数をゆっくり調節することで制御しているので、一つの変更は他の設定にも影響することに注意してください。 この作業は、良い結果に近づくまで可能な限りゆっくりと行ってください。 またこのボックスで、設定した解像度と周波数を確認することもできます。 希望する解像度と一致しない場合は、前節を参照してください。

  13. 上記を終了したら、クリックしてTestダイアログに戻り、 次にSaveをクリックして、終了しテキストプロンプトに戻ります。

  14. 注: SAX2はいつもNVIDIAドライバセットの重要なOpenGLのシンボリックリンクを壊します。 だから、次の手順で実行することを推奨します。

    • NVIDIAドライバをインストーラを使ってインストールします。
    • SAX2を使って色深度と解像度を設定します(24ビットが必要です)。
    • 壊れたリンクを修正するために、NVIDIAドライバを再インストールします。
  15. ドライバのバージョン6629についての重要な注意:

    もしあなたがNVIDIAドライバのバージョン6629を使っているのならば、さらに次の操作をおこなわねばいけません。

    • もし、ファイル/etc/X11/xorg.confが存在しなければ、このファイル名があなたのX11設定ファイルを指すようにシンボリックリンクを作ります。このファイルはたいていは、/etc/X11/XF86Configです。たとえば,次のように実行します。

      # cd /etc/X11
      # ln -s XF86Config xorg.conf

    • /etc/X11/xorg.confを編集して、NVIDIAドライバをロードしている"Device"セクションを見つけます。 この部分は、次のようになっているはずです。

      Section "Device"
      BoardName "0x032B"
      BusID "9:0:0"
      Driver "nvidia"
      Identifier "Device[0]"
      VendorName "NVidia"
      EndSection


    • 次の行をVendorName行の後に挿入します。

      Option "AllowGLXWithComposite" "true"

  16. これらの新しい設定の良い初期テスト方法は、startxを実行してみることです。 すべてが適切な場合には、Xが起動し、NVIDIAのスプラッシュスクリーンが表示され (数時間格闘した後に見るには、なんとすばらしいものでしょう)、 次に非常にシンプルなウィンドウマネージャが表示されます。 ここからは、xtermを右クリックメニューで起動して、xdpyinfo|moreをタイプして設定を確かめることが可能になります。 どの解像度が設定されているか、どの色深度が設定されているか、 そしてNVIDIA-GLXがExtentionsリストの中にあるかどうかが確認できます。 すべてが適切な場合は、Exitメニューを使用してテキストコンソールに戻ってください。

  17. 通常の操作に戻る準備ができたら、 "init 5"をタイプして、システムをグラフィカルなログインプロンプトに戻します。 もしこれが表示されれば、システムは正しく作動しています。 他のテストも実行する必要があるので、再びログインしてください。

  18. glxinfo を実行して、server glx vendor stringとOpenGL vendor stringに何が表示されるかを確認してください。 どちらもNVIDIA Corporationと表示されるはずです。 Mesaまたはmesasoftに関する何かが表示される場合には、 GLおよびGLUライブラリはまだ正しく設定されていないので、 /usr/libに移動してls -l libGL*を実行する必要があります。 libGL.so.1.0.<NVIDIAリリース番号>とlibGLcore.so.1.0.<NVIDIAリリース番号>に加え、libGLU.so.1.3が確認できるはずです。 また他のファイルが存在している場合もあります。 および、NVIDIAファイルを指すようなlibGL*.soとlibGL*.so.1のソフトリンクが必要です。 Mesaを以前にインストールしている場合は、そのrpmはもう不要なので削除してください。 必要とする各リンクは、実際にインストールされているどのバージョン番号に対しても、たとえばln -s libGL.so.1.0.5366 libGL.soのように実行して、自分で作ることができます。 NVIDIA インストーラを再度実行するとこの作業をおこなってくれるとされていましたが、システムで提供されている libGLU.soに対しては動作しません。 そこで、上記手順に従えば、再びinit 3に戻って修復を行う手間が省けます。

    最終結果:

    求める結果は、以下のようになります(ls -l libGL*)。

    lrwxrwxrwx ... libGLcore.so.1 -> libGLcore.so.1.0.5336
    -rwxr-xr-x ... libGLcore.so.1.0.5336
    -rw-r--r-- ... libGL.la
    lrwxrwxrwx ... libGL.so -> libGL.so.1
    lrwxrwxrwx ... libGL.so.1 -> libGL.so.1.0.5336
    -rwxr-xr-x ... libGL.so.1.0.5336
    -rw-r--r-- ... libGLU.a
    -rwxr-xr-x ... libGLU.la
    lrwxrwxrwx ... libGLU.so -> libGLU.so.1.3
    lrwxrwxrwx ... libGLU.so.1 -> libGLU.so.1.3
    -rwxr-xr-x ... libGLU.so.1.3
  19. これらの手順をすべて終えたら、再度glxinfoを試してください。 グラフィカルアプリケーションがするように、Xサーバに接続するので、 root権限で実行する場合には、 まず実際にログインしたユーザでxhost +localhostを実行して、 次にroot権限で"export DISPLAY=:0"を実行してから、glxinfoを実行してください。 運がよければNVIDIAの現在の構成が正しく報告されます。

  20. ここで、xscreensaver-demoまたは3Dパフォーマンスを確認するために、前回実行したすべてのものを再実行しましょう。 同じことを実行して、実際に速くなったかどうかを確かめてください。 うまくいけば,驚くほど速くなったことが体感できるでしょう!

謝辞

Project Looking Glassチームはこの手順書を提供してくれたMark Bowyer Mark.Bowyer@sun.com とKyle McDnald Kyle.McDonald@sun.com に多大な感謝を捧げます!


$Revision: 1.4 $ $Date: 2005/05/27 04:00:18 $ (英語版 Revision: 1.12)