Linux Kernel3.7にNvidiaのドライバーを入れる方法

openSUSE12.3 RC2でLinuxのカーネルが3.7.10に

openSUSE 12.3 RC2を自作デスクトップマシンにアップグレードインストールして、Linuxカーネルのバージョンが3.7になりました。現在はカーネル3.7.10です。カーネルが最新になって快適なのですが、Nvidiaのグラボを挿しているため、Nvidiaドライバの再インストールが必要でした。LinuxのNvidiaドライバのインストールは色々鬼門になりやすいのですが、案の定、Kernelが先進的すぎてエラーになってハマったので、解決方法をメモします。

Nvidiaドライバのバージョン

今回試したのは、NVIDIA-Linux-x86_64-310.32.runです。

Kernel 3.7でハマったポイント

まず、普通にopenSUSE linuxをCUIモード(ランレベル3)で起動して、以下のコマンドでNvidiaドライバのインストールを試みました。

そうすると、途中で以下のエラーメッセージが出ました。

これ、カーネルの階層構造が変わったために出るエラーのようです。以下のコマンドで回避できました。

再度インストールでまたカーネルエラーが発生

ただ、インストールを再実行すると以下のエラーが出ました。

何かKernel2.4とかと勘違いされているっぽいですね。以下のコマンドでこのエラーも出なくなりました。

これでNvidiaドライバーはエラー無くLinux Kernel 3.7のシステムにインストールできました。

カーネルバージョンアップの注意点

2番目にハマったカーネル構造でgenerated/uapi/linux/へシンボリックリンクを張らなければならない問題は、カーネルアップデートのたびに実行する必要があるようです。NvidiaはLinuxコミュニティにあまり協力的な企業ではないのですが、Streamなどで海外ゲームも楽しめる環境が整いつつある今、カーネルの更新頻度の高速化に合わせた導入しやすいドライバーをリリースして欲しいと願ってやみません。

追記

@mforce4さんから以下のツイートを頂きました。

@miraihack 二番目のシンボリックリンクさえしてあれば、一番目のシンボリックリンクはしなくても大丈夫ですよ。

ありがとうございます。Nvidiaドライバをインストールする時は2番目のシンボリックリンクを貼るだけで大丈夫とのことです!

関連記事

この記事をシェアする