LoginSignup
60
25

【注意】ubuntu-drivers devicesでお薦めされたNVIDIA GPUドライバーをインストールしたら事故になります。

Last updated at Posted at 2022-12-09

この記事は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ドライバーをインストールしていたので、条件反射のようにインストール作業を進めていましたが、今回のトラブルを受けてお薦めにはご用心という教訓を得ました。

60
25
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
60
25