Closed6

RTX4060Ti16GBでnvidia-smiが機能しない

Yuki TomitaYuki Tomita

前提

  • CPU: Ryzen7 5700X(内臓GPU無)
  • GPU: RTX4060Ti 16GB(グラフィックボード型式: GV-N406TWF2OC-16GD)
  • MB: TUF GAMING B550-PLUS
  • パーツ購入からの自身で組み立て
  • OS: Ubuntu Server 22.04.4 LTS
Yuki TomitaYuki Tomita

試したこと1

とりあえず公式の言う通りにNVIDIAドライバーをインストール
https://ubuntu.com/server/docs/nvidia-drivers-installation

以下のページで手動検索すると今回のケースでは推奨ドライバーバージョン(ブランチ)は550とのこと
https://www.nvidia.com/ja-jp/drivers/

以前同じようにUbuntu ServerにNVIDIAドライバーをインストールしたときに
公式が推奨するubuntu-drivers toolを使ってはまってしまったことがあったので
今回もAPTをつかった手動インストールにしました
コマンドは以下

sudo apt install linux-modules-nvidia-550-server-generic

ドライバーは正常に入りました
次にNVIDIA Container Toolkitをインストールします。公式は以下です
https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html

こちらも正常にインストール完了→念のためreboot
DockerでGPUを使おうとしている方はConfiguring Dockerのパラグラフも忘れずに
※私は忘れました

nvidia-smiを実行するために

sudo apt install nvidia-utils-550-server

を実行して、nvidia-smiを実行

No devices were found

??

Yuki TomitaYuki Tomita

試したこと2

状況を整理しましょう

  • 今回は自分で組み立てをしました、つまりグラフィックボードがちゃんとつけられていない可能性もあります
  • ドライバーのバージョンが違う可能性も
  • はたまたnvidia-container-toolkitが実は正常にインストールできていない?

一番疑わしいのは組み立ての不備です
グラフィックボードとして認識されているか確認します

lspci | grep -i nvidia
07:00.0 VGA compatible controller: NVIDIA Corporation Device 2803 (rev a1)
07:00.1 Audio device: NVIDIA Corporation Device 22bd (rev a1)

NVIDIA製のグラフィックボードということは認識されているようです
いや、そもそもBIOSの設定画面が写ってたんだからグラフィックボードはちゃんとつけられています
一旦これが原因だという線を外しましょう

次に怪しいのはNVIDIAドライバーのバージョンが違う可能性です
検索してみるとubuntu-drivers devicesというコマンドで適当なドライバーのバージョンが分かるようです

$ ubuntu-drivers devices
ERROR:root:aplay command not found
== /sys/devices/pci0000:00/0000:00:03.1/0000:07:00.0 ==
modalias : pci:v000010DEd00002803sv00001458sd00004123bc03sc00i00
vendor   : NVIDIA Corporation
manual_install: True
driver   : nvidia-driver-535-server-open - distro non-free
driver   : nvidia-driver-535-server - distro non-free
driver   : nvidia-driver-545 - distro non-free
driver   : nvidia-driver-535-open - distro non-free
driver   : nvidia-driver-535 - distro non-free recommended
driver   : nvidia-driver-545-open - distro non-free
driver   : xserver-xorg-video-nouveau - distro free builtin

え、そんなに前のやつがおすすめされるの?
とりあえずrecommendedとなっている535のserverバージョンを再インストールしてみましょう

sudo apt --purge remove '*nvidia*550*'

を実行すると既存の550バージョンのドライバー関係がアンインストールできます
では改めて

sudo apt install linux-modules-nvidia-535-server-generic

rebootしてnvidia-smiを実行

No devices were found

???

Yuki TomitaYuki Tomita

試したこと3

なにかおかしいとここで気づき、ネットの海にダイブします

参考記事1

以下の記事によるとNouveauドライバーというものが悪さをする可能性があるとのこと
しかし、私の環境ではもともとこのドライバーは有効になっていませんでした
https://qiita.com/y-vectorfield/items/72bfb66d8ec85847fe2f

参考記事2

以下の記事では

Linuxカーネルのバージョンによってはnvidiaドライバをうまく読み込めないことがあります。

とあります。そうなれば私の手には負えません。。
https://zenn.dev/kanade147359/articles/f7ad30e056544e

参考記事3

以下の記事ではセキュアブートなるものが有効になっていると同じような現象になるとのこと
しかしまたも私の環境ではそもそも無効になっていました
https://zenn.dev/yurarin/articles/357f89e4487577

Claudeに聞いてみる

藁にもすがる思いでClaude 3.5 Sonnetに聞いてみます

GPUが正しく認識されるようBIOS/UEFIの設定を確認する必要があるかもしれません。

とのこと。BIOSにはそのような設定は見当たりません。。
そもそもGPUはシステムには認識されているのです

Yuki TomitaYuki Tomita

答え(多分)

丸一日と少しが経過したあたりでひらめきます

これ、RTX4060Tiが原因なんじゃ?

試しに「rtx4060ti server nvidia driver」でググってみます
すると以下の記事がヒットしました
https://forums.developer.nvidia.com/t/nvidia-driver-for-rtx-4060-ti-16gb-in-ubuntu/288799

このフォーラムの投稿者も同じくRTX4060Ti 16GBでnvidia-smiが反応しないようです(しかもドライバーのバージョンが535)
そしてどうやら問題が解決できたようで自身のブログ?記事のリンクを貼られています
https://priceless-hyun.tistory.com/140

この記事によると(意訳)

この記事を見ているということは、OSのインストールが完了してNVIDIAのドライバーをインストールしてもうまくいかなかったでしょう
実際、nvidia-smiを実行してもグラフィックボードが表示されない

そうなんです、助けてください

下記のコマンドを入力して、Nvidia Corporationなどが表示されるが具体的な製品名(RTX4060Tiなど)が表示されなければ正確な情報を得られていないということ

lshw -numeric -C display

そう!そうなんです!

この場合、PCI ID リポジトリのアップデートでグラフィックスカードの情報を取得するようにします

sudo update-pciids
lspci -k

その後、グラフィックボードが正常に認識されたら安全なドライバーのバージョンを手動インストールします

正直PCI ID リポジトリという言葉も初めて聞きましたが半信半疑で実行してみます
nvidia-smiの実行結果のスクショがあるのですが、この方はドライバーのバージョンは550のようです
したがって同様に535をアンインストールしてもう一度550をインストールしてみます

rebootしました。nvidia-smiを実行してみましょう

nvidia-smi
Thu Jul 18 08:32:24 2024
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.90.07              Driver Version: 550.90.07      CUDA Version: 12.4     |
|-----------------------------------------+------------------------+----------------------+
| 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 4060 Ti     Off |   00000000:07:00.0 Off |                  N/A |
| 30%   33C    P0             25W /  165W |       1MiB /  16380MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|  No running processes found                                                             |
+-----------------------------------------------------------------------------------------+

長かった。。

Yuki TomitaYuki Tomita

追記

上の記事では、このように書かれています

元々RTX4060Tiは8GBのみ発売されていて、後発で16GBが発売されたが性能も落ちて人気のないモデルだ
しかし一部の開発者にとってはRTX4080などの代替品になり得る
つまり、かなりニッチな製品だ
だからこの製品にあう適当なドライバーはないのでは?と思った

実際ドライバーの適合が直接的な原因ではなかったようですが、もしかするとRTX4060Ti 16GBだけの問題にひっかかってしまったのかもしれません

何はともあれ、スタート地点に立てましたのでばりばり開発していきたいと思います
では!

このスクラップは4ヶ月前にクローズされました