LoginSignup
17
10

open版NVIDIA GPUドライバーを事故無く導入出来る様になったらしい。。。

Posted at

概要

昨年末に以下の記事でubuntu-drivers devicesコマンドでrecommended表示が付いたNVIDIA製のGPUドライバーをUbuntuにインストールするとGPUが正常に認識されず、nvidia-smiコマンドを実行すると「No devices were found.」とメッセージが出力される問題が発生すること、そしてその対処方法について投稿しました。

しかし、この方法はあくまでその場しのぎの対処方法であり、根本的な問題解決とはなっていませんでした。そこで筆者は根本原因の特定を行うため、Linuxに詳しい友人の協力を得て、根本原因の特定する調査を行いました。結果として、根本原因の特定と、解決方法を解明しましたが、現状open版のGPUドライバーはrecommendedにはなっていません。しかし、open版ドライバーには新機能が実装されていてそれを試したい時にこの方法を用いれば事故にならないということを投稿しようと思ったのですが。。。

$ 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-470 - distro non-free
driver   : nvidia-driver-535 - distro non-free
driver   : nvidia-driver-525-open - distro non-free
driver   : nvidia-driver-545-open - third-party non-free
driver   : nvidia-driver-545 - third-party non-free recommended
driver   : nvidia-driver-525-server - distro non-free
driver   : nvidia-driver-470-server - distro non-free
driver   : nvidia-driver-535-server-open - distro non-free
driver   : nvidia-driver-535-server - distro non-free
driver   : nvidia-driver-525 - distro non-free
driver   : nvidia-driver-535-open - distro non-free
driver   : xserver-xorg-video-nouveau - distro free builtin

open版GPUドライバーのインストール

まずはaptを用いて、open版GPUドライバーをインストールします。nvidia-driver-545-openをインストールします。

sudo apt install -y nvidia-driver-545-open

インストール後、再起動します。

sudo reboot

GPU認識状況の確認

nvidia-smiコマンドでGPUが認識出来ているか確認します。本来ならここでエラーが発生します。

$ nvidia-smi 
Tue Oct 31 23:32:28 2023       
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 545.23.06              Driver Version: 545.23.06    CUDA Version: 12.3     |
|-----------------------------------------+----------------------+----------------------+
| 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 RTX 3060        Off | 00000000:07:00.0 Off |                  N/A |
| 40%   27C    P8               6W / 170W |      5MiB / 12288MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
                                                                                         
+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|  No running processes found                                                           |
+---------------------------------------------------------------------------------------+

何と。。。open版のドライバーでもエラーが発生しません。

kernelモジュールの設定が追加されている

以下の参考情報を参照すると従来は/etc/modprobe.d/配下に設定ファイル(例えばnvidia-driver.conf)を格納し、以下の内容を追加する必要が有りました。

options nvidia NVreg_OpenRmEnableUnsupportedGpus=1

参考情報

しかし、今回エラーが発生せずドライバーが認識されました。因みに筆者は以前以下のコミュニティへの投稿でopen版が推奨される上にエラーが発生して認識されない点について質問していました。この時は塩対応だったのですが、ubuntu-driver devicesコマンドで推奨されなくなった上に、仮にインストールしたとしてもエラーなく認識される様になりました。

まとめ

今回GPUドライバーのトラブルシューティングの記事を投稿するつもりが肩透かしとなってしまいました。しかし、そもそもGPUベンダーが公開しているドライバーをOS側から認識させるために、kernelモジュール用の設定をユーザー側で実施しなければならないという仕様はあまりにもユーザーフレンドリーでは無いやり方だったので、そこが改善されたということが分かったのは良かったと思いました。

17
10
0

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
17
10