LoginSignup
1
0

Ubuntu22.04 + RTX3060環境 にNvidia ドライバをインストールしたときのメモ

Posted at

はじめに

Ubuntu22.04にNvidia Driverをインストールしたときの作業メモです。
参考にさせていただいた記事。ありがとうございました。

PC環境

  • OS:
$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 22.04 LTS
Release:	22.04
Codename:	jammy
  • GPU: GeForce RTX 3060

Nvidiaドライバのインストール

成功例から記載しますが、失敗例も書いておきます。

(成功) バージョン指定してインストール

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

事故にあったようです。OSから再インストールし直して作業しています。

nouveauの無効化

$ lsmod | grep nouveau
nouveau              2367488  2
mxm_wmi                16384  1 nouveau
drm_ttm_helper         16384  1 nouveau
ttm                    98304  2 drm_ttm_helper,nouveau
drm_display_helper    184320  1 nouveau
drm_kms_helper        200704  2 drm_display_helper,nouveau
i2c_algo_bit           16384  1 nouveau
drm                   581632  7 drm_kms_helper,drm_display_helper,drm_ttm_helper,ttm,nouveau
wmi                    32768  5 asus_wmi,wmi_bmof,mfd_aaeon,mxm_wmi,nouveau
video                  65536  2 asus_wmi,nouveau

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

Nvidia Driverのインストール

# リポジトリの追加
$ sudo add-apt-repository ppa:graphics-drivers/ppa
# パッケージリストの更新
$ sudo apt update
$ ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00002504sv000010DEsd00002504bc03sc00i00
vendor   : NVIDIA Corporation
model    : GA106 [GeForce RTX 3060 Lite Hash Rate]
driver   : nvidia-driver-535-server-open - distro non-free recommended
driver   : nvidia-driver-535-open - distro non-free
driver   : nvidia-driver-535-server - distro non-free
driver   : nvidia-driver-470-server - distro non-free
driver   : nvidia-driver-525-server - distro non-free
driver   : nvidia-driver-470 - distro non-free
driver   : nvidia-driver-525-open - distro non-free
driver   : nvidia-driver-535 - distro non-free
driver   : nvidia-driver-525 - distro non-free
driver   : xserver-xorg-video-nouveau - distro free builtin

nvidia-driver-535-server-open - distro non-free recommendedとなっているが、openがついているのでこれをインストールしてはいけない。535か、実績の多そうな525かどちらかをインストールする。今回は525をインストールした。

$ sudo apt install -y nvidia-driver-525

ここでセキュアブート用の一時的なパスワードが求められる。リブート後にUEFIブートマネージャでMOK登録画面に進み、そこでこのパスワードを使用する。

$ sudo reboot

OSの起動前の選択で、Enroll MOKを選択する。ここで何もせずにOS起動するとドライバがインストールされない。一度失敗しました。Enroll MOK -> Continue -> Yes -> Password -> Reboot の順で入力していく。

再起動後、nvidia-smiが動作するのを確認する。

$ nvidia-smi
Mon Jul 10 00:35:46 2023       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.125.06   Driver Version: 525.125.06   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:01:00.0  On |                  N/A |
|  0%   39C    P8    16W / 170W |    186MiB / 12288MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      1824      G   /usr/lib/xorg/Xorg                 64MiB |
|    0   N/A  N/A      1989      G   ...ome-remote-desktop-daemon        2MiB |
|    0   N/A  N/A      2030      G   /usr/bin/gnome-shell              117MiB |
+-----------------------------------------------------------------------------+

(失敗) nvidia-driverインストール後にEnroll MOKを選択せずに再起動した

$ nvidia-smi
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. 
Make sure that the latest NVIDIA driver is installed and running.

この表示がとても悲しい。説明は読みましょう。

念の為、既存のドライバなどアンインストールして、再度インストールしました。

$ sudo apt-get --purge remove nvidia-*

(失敗) autoinstallしてみた

$ sudo add-apt-repository ppa:graphics-drivers/ppa
$ sudo apt update
$ sudo ubuntu-drivers autoinstall
Traceback (most recent call last):
  File "/usr/bin/ubuntu-drivers", line 513, in <module>
    greet()
  File "/usr/lib/python3/dist-packages/click/core.py", line 1128, in __call__
    return self.main(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/click/core.py", line 1053, in main
    rv = self.invoke(ctx)
  File "/usr/lib/python3/dist-packages/click/core.py", line 1659, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/lib/python3/dist-packages/click/core.py", line 1395, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/lib/python3/dist-packages/click/core.py", line 754, in invoke
    return __callback(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/click/decorators.py", line 84, in new_func
    return ctx.invoke(f, obj, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/click/core.py", line 754, in invoke
    return __callback(*args, **kwargs)
  File "/usr/bin/ubuntu-drivers", line 432, in autoinstall
    command_install(config)
  File "/usr/bin/ubuntu-drivers", line 187, in command_install
    UbuntuDrivers.detect.nvidia_desktop_pre_installation_hook(to_install)
  File "/usr/lib/python3/dist-packages/UbuntuDrivers/detect.py", line 839, in nvidia_desktop_pre_installation_hook
    with_nvidia_kms = version >= 470
UnboundLocalError: local variable 'version' referenced before assignment

同様のエラーが出ている方の記事(Ubuntu22.04のUbuntu-drivers autoinstallでubuntu-drivers "UnboundLocalError: local variable 'version' referenced before assignment" when installing nvidia driversエラー)。こちらによるとpythonで書かれたインストーラーの"-"を区切る場所がおかしいためにこのエラーが出るらしい。

インストーラを修正する。

$ sudo nano /usr/lib/python3/dist-packages/UbuntuDrivers/detect.py

で該当ファイルを開き
version = int(package_name.split('-')[-1])
この部分を
version = int(package_name.split('-')[2])
に修正する。

$ sudo ubuntu-drivers autoinstall

再起動して確認。

$ nvidia-smi 
No devices were found

そして、なぜかWifiもEtherもネットワークデバイスがすべて繋がらなくなった。
どうやら非推奨らしい。ubuntu-drivers autoinstall非推奨になってた件

OS丸ごとを再インストールしました。

さいごに

先人の記事に感謝です。

1
0
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
1
0