はじめに
この記事の主な目的は、「RTX3070 laptop マシンにnvidia driverを入れたいなら、Ubuntuは18ではなく、20にしよう」です。
でもそういうタイトルにすると、nvidiaのサイトにもUbuntu18サポートが書いてあるのにおかしいじゃないか!と言われそうなので、表題通りのおとなしいタイトルにしました。Ubuntu18.04で苦戦した内容は、ほとんどの人にはどうでもいいと思うので、最後にちょこっと書いておきます。
前提環境
PC: ASUS TUF Dash F15 laptop
CPU: 11th Gen Intel® Core™ i7-11370H @ 3.30GHz × 8
GPU: NVIDIA GeForce RTX 3070 Laptop GPU/PCIe/SSE2
OS: Ubuntu 20.04.2 LTS
linux kernel: 5.8.0-55-generic
CUDA version: 11.3.1
インストール方法
Ubuntu20をインストールします。
その後、基本的にはnvidia installation guideに従うだけでいけます。でも長いので、やればいいことだけ下にまとめます。
###1. gccのインストール
デフォルトではgccは入っていませんでした。Ubuntu20.04.2の場合、下記コマンドで9.3.0がデフォルトでインストールされます。
sudo apt install gcc
###2. リポジトリの追加とcuda toolkitのインストール
こちらのnvidiaのサイトに、自分の型番を入れるだけ。
cuda toolkitに適切なNvidiaドライバーも含まれているので、このインストールのみでドライバもインストールできます。
注意すべきは、最後に"deb[network]"を押すとダウンロードが始まっちゃうのかと思いきや、ダウンロードも含めた方法が出てくるだけ、ということ。この分かりにくい仕様に騙され、最初ボタンを押せませんでした。ポチッと押しちゃってください。
今回"deb[network]"を押したときに表示されるインストール方法の例
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/7fa2af80.pub
sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /"
sudo apt-get update
sudo apt-get -y install cuda
###3. 環境変数の設定
以下を~/.bashrcの末尾に追記
export PATH=/usr/local/cuda-11.3/bin${PATH:+:${PATH}}
以上です!rebootすればもう $nvidia-smi
でnvidia driverが認識され、$nvcc -V
でCUDAコンパイラのバージョンが確認できます。
Ubuntu18.04.5にCUDA11.3を入れようとして、できなかったこと
- sudo ubuntu-driver autoinstall
- →入ったのですが、古いドライバが入ったのか、リブートかけると起動せず、黒画面にHDMI関連のエラーが出た
- reposotiry追加してapt install
- →nvidia installation guideに従って、aptリポジトリを追加してインストールするも、リブートかけると起動せず、/var/log/Xorg.0.logも吐かれない。
- linux kernelを5.4.0に対し、NVIDIAが動作確認した5.3.0を入れ、上記aptリポジトリ追加方法でインストール
- sudo apt install linux-image-5.3.0-74-generic linux-headers-5.3.0-74-generic linux-modules-extra-5.3.0-74-generic でインストール
- →そもそもkernel5.3.0でブートできない。フリーズし、ログイン画面に行かない。
- runfile install
- nvidiaのサイトに従って、nouveauをblacklistにいれて、runfileをダウンロードして実行するも、リブートかけると起動せず、/var/log/Xorg.0.logも吐かれない。
というわけで、嫌になって、OSをUbuntu20に入れ直しました。すると、上記のようにあっさり行きました。
終わりに
まとめると、なんじゃそりゃ、というくらい簡単な記事ですが、その方法にたどり着くまで、4日ほどかかったので、まとめておきました。
皆さん、古いシステムにこだわらず、新しいのに移れば、驚くほどあっさりセットアップできたりすることがありますよ、と言って終わりたいと思います。