はじめに
Ubuntu22.04にNvidia Driverをインストールしたときの作業メモです。
参考にさせていただいた記事。ありがとうございました。
- 【注意】ubuntu-drivers devicesでお薦めされたNVIDIA GPUドライバーをインストールしたら事故になります。
- Ubuntu22.04のUbuntu-drivers autoinstallでubuntu-drivers "UnboundLocalError: local variable 'version' referenced before assignment" when installing nvidia driversエラー
- ubuntu-drivers autoinstall非推奨になってた件
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丸ごとを再インストールしました。
さいごに
先人の記事に感謝です。