OpenSUSE 12.1 64ビットでカーネルを3.1.9から3.2.9にアップグレードしましたが、再起動するとX-windowsが起動を拒否してシェルに入りました。手動で実行してみましたが、startx
まだ悪いです。
NVidiaドライバをアンインストールしてX-windowsを動作させることができました(最新バージョンがあります)。再インストールしようとすると、インストーラはドライバがGCC 4.5でコンパイルされたため、GCC 4.6でコンパイルされたカーネルと互換性がないと文句を言いました。そもそもそれがうまくいかなかった理由だと思うのは安全だと思います...
BumblebeeリポジトリからNVidiaドライバをインストールすること(もともとNVIDIA-Linux-x86_64-295.20.run
NVidiaサイトのインストーラからインストールしました)も機能しませんでした(今回は黒い画面が表示され、ドライバを削除するために緊急安全モードを使用する必要がありました)。
これで、Linux用のNVidiaドライバがオープンソースではないことがわかっているので、直接コンパイルすることはできませんが、最新のカーネルで動作させる他の方法はありますか?それともNVidiaがリリースされるのを待つ必要がありますか? GCC 4.6コンパイルカーネルの新しいバージョンはありますか?
修正する
NVidiaに電子メールを送信しましたが、テクニカルサポートチームはエラーメッセージの解釈が正しくないことを確認しました。 NVidiaドライバはGCC 4.6でコンパイルされます。これはGCC 4.5でコンパイルされたLinuxカーネルです。
したがって、解決策は明らかです。独自のカーネルをコンパイルする必要があります...
答え1
確かに仕事をするための解決策がありますが、痛いかもしれません。kernel
必要なものをコンパイルしてインストールしてからGCC 4.5
インストールしますNVidia driver
。
自分のコードをコンパイルすることは可能ですkernel
が、ほとんど決して簡単ではないので、これは難しいでしょう。configfile
システムにkernel
コンパイルが必要なコンポーネントが含まれている可能性がありますGCC 4.6
。これらのコンポーネントは正しく機能しないか、まったく機能しません。
ここで安全なオプションは、問題をNVidia
以前の問題に報告して待つことですkernel
。
私はこの質問から派生した質問をしました。ここ。
修正する:上記の質問に対する回答が届きましたが、重要な部分はこんな感じです。
バイナリのバージョン文字列にパッチを適用できます。これにより、カーネルがモジュールをロードするように欺くことができますが、内部データ構造のデータ破損を引き起こす危険性があります。