Geforce RTX3060のドライバーを更新する

日付;2024/12/14(土)

はじめに

現在使用しているコンピューターには最安Geforce RTX3060が積んである。このコンピューターを組んだとき、インターネットで引っかかってきた情報を元に、とりあえず、特に何も考えずにsudo apt unstall nvidia-driver-535したのだが、それではcuda 12.2のようだ。諸事上によりcuda 12.6がほしく、そのためにversion 560をインストールしたい。そのときにちょっと手間取ったので、そのときの作業をメモしておくことにする。自分の考えがバイアスってたので、そのために手間取ったというところである。

実は以前、このコンピューターを組んだときにやはりドライバーインストールで迷ってしまっていた。そのときは、前述通り先ずnvidia-driver-535を入れた。そのあとにnvidia-smiを打ってみると、cuda-12.2が入っていた。その直後にこのドライバーをシンプルにapt remove –purgeして改めてnvidia-driver-560を入れてみたところ、ライブラリとドライバーのミスマッチで正常に起動することが出来なかった。再起動してもだめだったと思うので、そこで面倒になって改めてnvidia-driver-535をもう一度インストールし、それを使ってきた。そして今回、その経験がなんとも悪いバイアスになってしまい、わざわざnvidiaの公式のページに行き、ドライバーとcudaの確認を行い、以下の画像の通りRTX3060にcuda 12.6が使えそうなことを確認し、そして、そこからドライバーをインストールする、という難易度の高い作業に挑んでしまったというところである。

GeForce RTX 30 Seriesは大丈夫そう。言うても、だからRTX3060を買っているのだから。

最初、ここ(https://www.nvidia.com/en-us/drivers/details/230918)からドライバーのインストーラーをダウンロードし、それをインストールマニュアル(https://us.download.nvidia.com/XFree86/Linux-x86_64/560.35.03/README/index.html)にしたがってインストールしようと試みた。マニュアルには「まずXserverとOpenGLを止めてから作業しろ。」と書かれている。「いや、ディスプレイに出力してんのにXserver止めろってどういうことだよ。」とか途方にくれてしまった。仕方がないので、それらを止めずにsudo sh NVIDIA-Linux-x86_64-560.35.03.runを打ってみるけど、「XserverとOpenGLを止めた方がええで」、という警告があり、それも無視してインストールしようとしても、結局失敗するということになった。そのメッセージの途中に、まさかの「ubuntuのリポジトリにある奴をおすすめするで」との表示があった。ちょっと悩んで、結局、ubuntuのリポジトリからインストールしてみたらそれが上手くいった、というところである。

1.古いドライバーなどを全部アンインストールする

しかし、そこは前回の経験を活かそうと思う。インストールする前に、既にインストールされている関連パッケージを片っ端からアンインストールした。cudaについては、以前CUDA Toolkit 12.6(https://developer.nvidia.com/cuda-downloads)を無駄にインストールしてしまっているため、これも除くことにする。結局これはドライバーとCudaのバージョンが違っていたので正常にインストール出来なかった。どうせ何かに影響するに決まっている。

Bash
sudo apt list --installed | grep nvidia
sudo apt list --installed | grep cuda
sudo apt remove --purge nvidia-driver-535 # and also removed other potential old packages.
sudo apt autoremove

2.リポジトリからいつも通りインストールする

次に、シンプルにリポジトリからインストールし、再起動する。その後、インストールされているかどうか確認する。再起動せずにsudo nvidia-smiを打つと、「ドライバーとライブラリのバージョンミスマッチやで。」と言われるので注意。

Bash
sudo apt install nvidia-driver-560
sudo reboot
sudo nvidia-smi

インストール出来たわ。ちゃんとCUDAも12.6になってる。良かった。