この記事はFUJITSU Advent Calendar 2022 9日目の記事です。
NVIDIAのGPUをUbuntuマシンで利用するためにドライバーインストールを実施したところ、思わぬ落とし穴に陥ってしまいました。GPUドライバーインストール後に最初に実行するコマンドnvidia-smi
の結果は以下の通り。。。
$ nvidia-smi
No devices were found
デバイスが見つかりませんって。。。そんなご無体なと思いつつ、NVIDIAのGPUドライバーのインストールでトラブったことは幾度となくあるため、色々と原因を探ったのですが、解決せず。。。当然この状態ではGPUは動作しません。因みにlspci
では接続しているGPU(NVIDIA GeForce RTX 3060)が表示されるため、接続不良といったことは無さそうです。トラブルシューティングのために試した内容は以下です。
- BIOSが古いバージョンだったのでアップデート
- GPUドライバーの再インストール
- OS(Ubuntu 22.4)の再インストール
これらを試すも全く解決せず。。。原因はタイトルから察しが付きそうなものですが、実はubuntu-drivers devices
コマンドを用いてインストールするドライバーを探していたのですが、それが原因でした。このことを踏まえて2022/12現在最新のGPUドライバーのセットアップ方法を記載します。
2023/11/5 追記
以下の投稿記事に記載しましたが、2023/11現在open版のドライバーをトラブル無くインストールすることは可能です。最新の機能が試験的に実装されることも有る??open版のドライバーを試したいという方は以下の記事を参考にしてみて下さい。
NVIDIA GPUドライバーのインストール方法
以下の手順でインストールを進めます。
Nouveauドライバーの停止
OSSとして開発されているNVIDIA GPU向けドライバーNouveauドライバーを停止します。まずはnouveau
ドライバーが動作しているか以下のコマンドで確認します。動作している場合はnouveau
の項目が出力されます。
lsmod | grep nouveau
$ lsmod | grep nouveau
nouveau 2306048 0
mxm_wmi 16384 1 nouveau
drm_ttm_helper 16384 1 nouveau
ttm 86016 3 drm_ttm_helper,i915,nouveau
drm_kms_helper 311296 2 i915,nouveau
i2c_algo_bit 16384 2 i915,nouveau
drm 622592 9 drm_kms_helper,drm_ttm_helper,i915,ttm,nouveau
wmi 32768 4 intel_wmi_thunderbolt,wmi_bmof,mxm_wmi,nouveau
video 61440 2 i915,nouveau
無効にするために、以下のコマンドを実行します。
sudo sh -c "echo 'blacklist nouveau' > /etc/modprobe.d/blacklist-nouveau.conf"
sudo sh -c "echo 'options nouveau modeset=0' >> /etc/modprobe.d/blacklist-nouveau.conf"
sudo update-initramfs -u
sudo reboot
再起動後、再度lsmod | grep nouveau
を実行し、何も出力されないことを確認します。
NVIDIAドライバーのインストール
apt
コマンドを利用してドライバーのインストールを実施します。まずはリポジトリを追加します。
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
インストールするバージョンの検索
以下のコマンドを実行し、ドライバーを検索します。
ubuntu-drivers devices
$ ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:1c.4/0000:02:00.0/0000:03:01.0/0000:05:00.0/0000:06:01.0/0000:07:00.0 ==
modalias : pci:v000010DEd00002504sv00001043sd00008810bc03sc00i00
vendor : NVIDIA Corporation
model : GA106 [GeForce RTX 3060 Lite Hash Rate]
driver : nvidia-driver-515 - distro non-free
driver : nvidia-driver-525 - distro non-free
driver : nvidia-driver-510 - distro non-free
driver : nvidia-driver-515-server - distro non-free
driver : nvidia-driver-470 - distro non-free
driver : nvidia-driver-470-server - distro non-free
driver : nvidia-driver-525-open - distro non-free recommended
driver : nvidia-driver-515-open - distro non-free
driver : xserver-xorg-video-nouveau - distro free builtin
従来であれば、このままrecommended
が付いているバージョンのドライバー(上の結果ではnvidia-driver-525-open)をaptを用いてインストールしていました。ところがその結果がNo devices were found
なのです。色々と調べてみると以下のサイトを発見しました。NVIDIA公式の開発者向けサイトです。で、このページでは正にこのトラブルについて議論されており、Wrong driver, please either switch to the non “-open” driver version in Software&Updates or set the appropriate module option.
と記載が有ります。つまり、-openと付いているドライバーでは無いドライバーをインストールせよということです。
よって、上記を踏まえて、以下の様にインストールコマンドを実行します。(バージョン番号はお勧めされたバージョンと同じ物(最新版)を選択しています。)
sudo apt install -y nvidia-driver-525
sudo reboot
再起動後にnvidia-smi
を実行してみました。緊張の瞬間です。。。
$ nvidia-smi
Sat Dec 10 00:25:13 2022
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.60.11 Driver Version: 525.60.11 CUDA Version: 12.0 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA GeForce ... Off | 00000000:07:00.0 Off | N/A |
| 40% 19C P8 7W / 170W | 1MiB / 12288MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
無事認識されました。このまま認識されなかったら、折角のボーナスで新しく購入したビデオカードが無駄になってしまうところでした。これで安心して年が越せそうです。
まとめ
今までrecommended
が付いたバージョンのGPUドライバーをインストールしていたので、条件反射のようにインストール作業を進めていましたが、今回のトラブルを受けてお薦めにはご用心という教訓を得ました。