4pkのLinuxメモ

Linux(主にGentoo Linux)に関するメモを書き残すブログです。

Gentoo LinuxでNVIDIAのグラボを使ってディスプレイに出力するトラブル例

NVIDIAやnouveauというワードを皆さんもご存知かと思います。

どちらもLinuxにおいて非常によくうまく動作に失敗することが多く,とりあえず最初にGUIを立ち上げる場合はvesaを使うなどが一般的になっています。

私のメインマシンであるHP420のQuadroK2000をちゃんと使えるようにするために詰まったところのメモを書きます。

 

問題:failed to initialized the NVIDIA kernel module

というエラーが出て,GUIが立ち上がらない

 

課題1:何も考えずにやると,CUIの画面をnouveauとして認識する。

以前,Gentooを使ってたときは,CUIでは画面を1つしか認識せずにXを起動すると2画面を認識するようになっていましたが,nouveauで認識することでCUIの時点で2画面認識することがあります。ところが,これをよしとするのが罠でした。

カーネルがnouveauのモジュールをロードすることによって,NVIDIAのモジュールを競合のせいでロードできなくなる場合があります。

そうなると,GUINVIDIAで立ち上げることができなくなるため非常にパフォーマンスんの悪い状態で無理やり立ち上がったり,立ち上がらなくなったりします。

課題2:nouveauだけでいこうとしてもうまくいかない

NVIDIAは邪悪だ,CUIでもちゃん認識してるnouveauを信じよう。

これも間違いです。

どちらかというと邪悪なのはnouveauです。こいつだけは絶対に信用してはいけません。

無理やりxorg.confを書き換えてnouveauだけでGUIを立ち上げたら640x480の画面が出来上がりました。ほんまきつい。

課題3:NVIDIAが先に立ち上がるnouveauに負ける

問題1を解決せずにいるとnouveauを先に読み込んだ影響でNVIDIAと競合してしまうためGUIを起動することができません。

カーネルの起動パラメーターにnouveauを切るような設定を読み込んだり,個別にnouveauのモジュールをブラックリストに入れるなどの対応を行う必要があります。

 

今回やったこと

/etc/default/grubの例のところに

nouveau.modeset=0

を追記

あとは,wikiの手順に従って,

sudo nvidia-xconfig

eselect opengl set nvidia

で再起動

 

make.confとかはそこまで関係なかったようです。

一応元々普通に動いてたのですでに設定済みなだけかもしれません。

カーネルを更新するタイミングで設定がうまくいかなくなってGUIがまともに使えない事態に陥っただけなので。

 

NVIDIAは無理だ,諦めよう”

というのは絶対に勿体無いので諦めないでください!!