自作PCにUbuntu 18.04 LSTをインストール & セットアップ (NVIDIAドライバ関係)


🌾本記事の概要
自作PCにUbuntu 18.04.04 LSTをインストールした際の手順を残しておきます。
以下目次ですが,全部まとめると長くなりそうなので今回は太字までとします。

# マシン構成について
Ubuntu 18.04.4 LSTのインストール
NVIDIAドライバ & CUDAの更新 (ログインループ改善)
← ここまで
fcitx-mozcのインストール & 設定
XKBによるキーマップ変更 (for HHKB [US])
# 適宜追記

マシン構成について

今回Ubuntu 18.04.04 LSTをインストールしたマシンの構成は以下の通りです。

構成要素 購入パーツ名
マザーボード X570 Taichi (BIOS ver. 2.70; ASRock)
CPU Ryzen 7 3700X (AMD)
CPUクーラー 虎徹 Mark II (サイズ)
グラフィックボード GeForce RTX 2080 Ti VENTUS GP OC (MSI)
メモリ DDR4-3200 16 GB×2 (Crucial)
SSD (OSインストール先) MX500 500 GB 2.5インチ (Crucial)
HDD (データ保存用) WD Red 3 TB 3.5インチ (Western Degital)
電源 RM850x 850 W (80PLUS GOLD; Corsair)
ケース Define C (Fractal Design)

Ubuntu 18.04.4 LSTのインストール

事前情報として,Zen 2アーキテクチャを採用した第三世代RyzenにはRDRAND関係に不具合があり,Ubuntu等がすんなりとインストールできないらしいぞ,という話を耳にしていました。

が,ビクビクしながらインストールを試みたところ,特になんの障害もなくインストールに成功しました (BIOSがアップデートされた? Ubuntuにパッチが当たった?)。

ちなみにOSインストールに使用したUSBメモリスティックは,下記の記事を参考に準備しました。
『MacでUbuntu 18.04のインストールUSBメモリスティックの作成』

NVIDIAドライバ & CUDAの更新

「特になんの障害もなくインストールできました」と書きましたが,実はインストール後に再起動してログインする際に問題が発生。

パスワードを入力してログインしようとするも,画面暗転後にログイン画面に戻されてしまいました (ログインループ)。

調べてみたところ同様のトラブルに見舞われた方も多く,どうやらインストールの際に古いver.のNVIDIAドライバーが適応されることが原因のようでした。

そこで解決策として,GUIを介さず仮想コンソールからログインし,新しいver.のNVIDIAドライバーをインストールしなおしました。
以下,その手順です。

ログイン画面でControl + Alt + Fn2を押すことで仮想コンソールに入りログインします。ログインできたら,とりあえずapt updateapt upgradeしておきます。

$ sudo apt update
$ sudo apt upgrade

次に,現在インストールされているNVIDIAドライバーおよびCUDAをアンインストールします。

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

ここで,現在aptでインストールできるドライバを検索してみます。

$ apt list nvidia-driver-*

すると僕の環境では次のように表示されました (...以降は省略)。

nvidia-driver-390/...
nvidia-driver-418/...
nvidia-driver-430/...
nvidia-driver-435/...

NVIDIAドライバダウンロードのページで検索すると,本記事作成時ではver. 440が推奨されるのですが,とりあえずnvidia-driver-435をインストールして再起動します (後からもう一度インストールしなおします)。

$ sudo apt install nvidia-driver-435
$ sudo reboot

再起動後,無事にGUIからログインすることができました。

もし日本語版のUbuntuをインストールした場合は,ホームディレクトリの中身 (DesktopDocuments,etc...) が日本語になっていて不便なので,この時点で下記コマンドから設定を変更します。

$ LANG=C xdg-user-dirs-gtk-update

次に,NVIDIA推奨ドライバであるver. 440CUDAをインストールします。

まず,CUDA ToolkitのページからDownload Nowをクリックし,CUDA Toolkit (本記事作成時ではver. 10.2) のダウンロードページを開きます。

Operating System:Linux
Architecture:x86_64
Distribution:Ubuntu
Version:18.04
Installer Type:deb (network)
のように選択することで,表示されるインストールガイドに従い下記のコマンドを実行します (変更される可能性があるのでコピペ厳禁)。

$ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
$ sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
$ sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
$ sudo add-apt-repository "deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/ /"
$ sudo apt update

これでCUDAリポジトリが追加され,最新ver.のNVIDIAドライバapt経由でインストールできるようになります。

$ apt list nvidia-driver-*

nvidia-driver-440がリストに入っていることを確認したら,さきほど仮でインストールしたnvidia-driver-435をアンインストールし,nvidia-driver-440をインストールしてから再起動します。

$ sudo apt --purge remove nvidia-*
$ sudo apt --purge remove cuda-*
$ sudo apt install nvidia-driver-440

再起動したら念のため (?) apt updateapt upgradeしておきました (不要かも)。次にCUDAもインストールしておきます。

$ sudo apt install cuda

nvidia-smiコマンドで目的のNVIDIAドライバおよびCUDAがインストールされたことを確認します。

$ nvidia-smi
Tue Apr 14 22:34:12 2020       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.64.00    Driver Version: 440.64.00    CUDA Version: 10.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce RTX 208...  On   | 00000000:0C:00.0  On |                  N/A |
| 22%   32C    P8    20W / 260W |    552MiB / 11011MiB |      1%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1169      G   /usr/lib/xorg/Xorg                            18MiB |
|    0      1200      G   /usr/bin/gnome-shell                          57MiB |
|    0      1485      G   /usr/lib/xorg/Xorg                           163MiB |
|    0      1617      G   /usr/bin/gnome-shell                         171MiB |
|    0      2836      G   ...AAAAAAAAAAAACAAAAAAAAAA= --shared-files   131MiB |
|    0      4479      G   gnome-control-center                           6MiB |
+-----------------------------------------------------------------------------+

これにて完了です (CUDA関係のPATH設定は別途必要)。

次回以降は個別のセットアップ (例えばキーマップ変更など) で詰まったところをメモしていこうと思います。