スポンサーサイト

 --------
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
カテゴリ :スポンサー広告 トラックバック(-) コメント(-)
タグ :

fedora9にnVidia系のビデオカードドライバをインストール

 2008-09-27
現在fedora9を動かしているパソコンの画面出力が1280x1024までしかなく、20.1型のディスプレイだときれいに表示されなくて、困っていました。
そこでビデオカードを取り付けて最適な1680x1050にすることにしました。
ビデオカードは「WinFast PX7200 GS TDH」にしました。
2Dしか使う予定がないので、スペックは求めませんでした。
あと、ファンレスだから少しは静かです。


取りつけた後、fedora9を起動したらGMONEが起動せず、CUI操作になりました。
仕方がないので、wgetを使って、Unix Drivers Portal PageにあるLinuxのドライバをダウンロードしました。
自分はこのとき最新のVersion: 173.14.12を使いました。

DLしたら「sh NVIDIA-Linux-x86-173.14.12-pkg1.run」を打ってインストールしろと書いてあったので、その通りやってみたらできませんでした。
仕方がないので、ググってみたら
週末雑貨 cocolog館: Fedora 9 で四苦八苦 環境構築編 nVidia その3
とても役に立つブログがありました。
そしたら、カーネルソースが必要と書いてありました。
「kernel-devel-2.6.25.4-30.fc9.i686」
というパッケージらしいです。数字はカーネルのバージョンによって違うため
yum serch kernel-devel
と打って調べてみるとありました。自分は
「kernel-devel-2.6.25.14.fc9.i686」
でした。
yum install kernel-devel-2.6.25.14.fc9.i686
と打ち込みインストールが完了し、また
sh NVIDIA-Linux-x86-173.14.12-pkg1.run
を打ってインストールはできましたが、起動しませんでした。
先ほどのブログではこれで大丈夫なのですが、どうもだめです。

(EE) NVIDIA(0): Failed to load the NVIDIA kernel module!
とstartxで途中で処理が終わり、表示されます。

仕方がないので、ググるもどうもない。そこでネットにある英語のREADMEを読み始めました。
NVIDIA Accelerated Linux Graphics Driver README and Installation Guide

すると8章にありました。
Chapter 8. Common Problems

My X server fails to start, and my X log file contains the error:

(EE) NVIDIA(0): Failed to load the NVIDIA kernel module!

The X driver will abort with this error message if the NVIDIA kernel module fails to load. If you receive this error, you should check the output of dmesg for kernel error messages and/or attempt to load the kernel module explicitly with modprobe nvidia. If unresolved symbols are reported, then the kernel module was most likely built against a Linux kernel source tree (or kernel headers) for a kernel revision or configuration that doesn't match the running kernel.
You can specify the location of the kernel source tree (or headers) when you install the NVIDIA driver using the --kernel-source-path command line option (see sh NVIDIA-Linux-x86-173.14.12-pkg1.run --advanced-options for details).

Old versions of the module-init-tools include modprobe binaries that report an error when instructed to load a module that's already loaded into the kernel. Please upgrade your module-init-tools if you receive an error message to this effect.

The X server reads /proc/sys/kernel/modprobe to determine the path to the modprobe utility and falls back to /sbin/modprobe if the file doesn't exist. Please make sure that this path is valid and refers to a modprobe binary compatible with the Linux kernel running on your system.

The "LoadKernelModule" X driver option can be used to change the default behavior and disable kernel module auto-loading.


どうやらオプションで
「--kernel-source-path」を指定する必要があるらしいです。どうやらこれはカーネルのバージョンを更新したら必要みたいです。
そこで打ち直してみました。

sh NVIDIA-Linux-x86-173.14.12-pkg1.run --kernel-source-path='/usr/src/kernels/2.6.25.14.fc9.i686'

しかし、今度はカーネルがロードされません
そこでREADMEで調べてみたら、ありました。


I just upgraded my kernel, and now the NVIDIA kernel module will not load.


The kernel interface layer of the NVIDIA kernel module must be compiled specifically for the configuration and version of your kernel. If you upgrade your kernel, then the simplest solution is to reinstall the driver.

ADVANCED: You can install the NVIDIA kernel module for a non running kernel (for example: in the situation where you just built and installed a new kernel, but have not rebooted yet) with a command line such as this:

# sh NVIDIA-Linux-x86-173.14.12-pkg1.run --kernel-name='KERNEL_NAME


カーネルの更新があったらちゃんとカーネルの名前を指定しないといけないみたいです。
カーネルの名前は
uname -r
で確認できます。
そこで
2.6.25.14-108.fc9.i686
と表示されたので

sh NVIDIA-Linux-x86-173.14.12-pkg1.run --kernel-source-path='/usr/src/kernels/2.6.25.14.fc9.i686 --kernel-name='2.6.25.14-108.fc9.i686'

と打ち直してみました。
しかしだめです。
そこで深くググってみましたら、ヒントがありました。かってに Linux4 (Freely Linux4)

注) ◆ pwc, ivtv, xawtv 等の、再構築する際、
使用する、kernel バージョンの、
i586用、i686用を確認し、
同じ、i?86用の、kernel-devel を使用すること。


そうか!同じのを使わないとだめじゃん!
ということでしたが、kernel-deveが古い・・・同じじゃない・・・ということで
もう一度yumで確認してみたら、現在のカーネルと同じのがありましたのでインストールしました。
そして

sh NVIDIA-Linux-x86-173.14.12-pkg1.run --kernel-source-path='/usr/src/kernels/2.6.25.14-108.fc9.i686 --kernel-name='2.6.25.14-108.fc9.i686'

と打ち直して、インストールして、
startxを打ったら無事に起動できました。

いやーーー、面倒!
これは初心者がLinuxを扱うのはまだまだと実感しました。
でもUbuntuだとこの辺りの面倒なことをやってくれる機能があるとかないとか・・・。

あと、ビデオカードをインストールしてからカーネルが2.6.26.3-29に更新したら、またGNOMEが起動しなくなりました。
でも、ドライバを2.6.26.3-29と指定してインストールしたら起動しました。
カーネルが更新したらいちいち、再インストールしないといけないのは面倒ですね。今回のことがあって慣れたから良いけど、どうにかしてほしい。
スポンサーサイト
タグ :
コメント
トラックバックありがとうございました。
悪戦苦闘されたようですね。
記載する時の参考にさせて頂きます。

nVidia謹製ドライバは、お気づきのようにカーネルバージョンを見ています。また、nVidia謹製ドライバのバージョンによっては、特定のカーネルバージョンではエラーでコンパイルできない時もあります。記事を見る限りでは遭遇しなかったようですが、nVidiaがドライバをバージョンアップした際に見舞われるトラブルです。
今回の経験で慌てずに対処できると思います。

内定おめでとうございます!!
【2008/09/27 18:15】 | affilie #- | [edit]
まだnVidiaではエラーが起きる要素があるんですね。しかもカーネルのバージョンによってとか大変ですね。
今回はとにかく最新なら大丈夫と判断したけど、動作情報が欲しいですね。

内定のお祝いありがとうございます。
【2008/09/27 22:21】 | みっきー #- | [edit]












管理者にだけ表示を許可する
トラックバック
トラックバックURL:

http://mikky3.blog40.fc2.com/tb.php/111-2105f971

≪ トップページへこのページの先頭へ  ≫
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。