Compression

今回は昨今話題のNVIDIAのドライバのインストールについての備忘録である. 時間がほぼ1日溶けたので書かずにはいられなかった.

概要


NVIDIAを搭載した高スペックPCにUbuntuをインストールして諸々機械学習を試したい場合,おそらく本記事が参考になる. 以前にどうにかしてUbuntuをインストールしNVIDIAドライバもインストールした状態のPCで YOLOを試そうと思い,セットアップをした時に本問題が起こった. YOLOの設定手順の中にはCUDAをインストールする手順があるが,このCUDAのインストールによってNVIDIAドライバが置き換えられてしまい PCがおかしくなってしまったのである.

本記事では,NVIDIA搭載のパソコンにUbuntuをインストールした後,無事にNVIDIAドライバをインストールする手順を記す. なお,Ubuntuは18.04LTS(bionic)を対象とする.

環境


  • NVIDIA搭載高スペックPC ( Windowsインストール済,Ubuntuをデュアルブートさせる )
  • Ubuntu 18.04 LTS ( OS )

Ubuntuのインストール


インストールのための領域はWindowsにログインし事前に用意しておく. USBメディアの作成などインストールには以下のリンクが参考になった.

Windows10とUbuntu18.04をデュアルブートする。

なお,SSDを搭載している場合にSSDの領域にインストールしたい場合はUbuntuをUSBからブートしてインストールする前に以下の手順をBIOSにて実施しておく.

  • RAID=>AHCIにする
  • セキュアブートをオフにする

Ubuntuのインストール後の現象の確認


BIOSからUSBブートを選択してUbuntuをUSBブートし,インストールを実施した後,再起動する.この時再起動ボタンをクリックしたあとPCがフリーズするが 気にせずに電源ボタン長押しで強制シャットダウンする. その後,USBを抜き,再度電源をONにし,ブートメニューからUbuntuを選択する.

さて,この時点でUbuntuが起動しない,もしくはログイン画面をクリアしても画面が真っ暗,そのうちにPCが猛烈なファンの音を回して電源が落ちる, といった現象が見られる.

原因


調べてみるとこれはNVIDIAのドライバが原因であることが分かる.

Fixing Ubuntu Freezing at Boot Time

上記手順を参考にNVIDIAのドライバを無効にする.

リカバリーモードでUbuntuを起動


再度電源をオンにし,以下の手順を実施する.

  1. ブートメニューから(Advanced Option for Ubuntu)を選択
  2. リカバリーモードを選択
  3. メニュー画面からrootを選択し,シェル上でgrubのパラメータを修正しPCを再起動
root# cd /etc/default
root# cp -p grub grub.org
root# vi grub
--> 以下のパラメータを修正

Before : 
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

After :
GRUB_CMDLINE_LINUX_DEFAULT="nomodeset"

# grubの更新
root# update-grub

# 再起動
root# reboot

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


ここまでの手順を実施すると,ログイン画面が表示されるが,画質がとても粗くなっているはず. これは,さきほどのgrubのパラメータの修正により,グラフィックスの描画にNVIDIAを使用していないことに起因している. ひとまずこのままログインし,GUI画面を進めてセットアップを完了させる.

その後,インターネットに接続し 以下のコマンドによりNVIDIAドライバをインストールする.

user$ sudo apt update
user$ sudo apt upgrade
user$ sudo ubuntu-drivers autoinstall

インストール完了後,先の手順で修正したgrubファイルを元に戻して再起動する. なお,この時点ではNVIDIAコマンドを打っても情報は出ない.

nvidia-detector devices
--> none
nvidia-smi
--> not displayed

# grubファイルを元に戻して再起動
root# sudo su -
root# cd /etc/default
root# cp -p grub.org grub
root# update-grub
root# reboot

再起動後,ログイン画面が粗くなくなっていることを確認しログインする. この時PCの挙動が不安定だったりするが,何回か再起動を試みると良い.

ログイン後,以下のコマンドを実施し,ドライバが無事にインストールされていることを確認する.

nvidia-detector devices
--> none

nvidia-smi
Tue Sep  3 22:07:55 2019
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 430.26       Driver Version: 430.26       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 GTX 1060    Off  | 00000000:01:00.0 Off |                  N/A |
| N/A   41C    P8     3W /  N/A |    168MiB /  6078MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1534      G   /usr/lib/xorg/Xorg                            95MiB |
|    0      1665      G   /usr/bin/gnome-shell                          70MiB |
+-----------------------------------------------------------------------------+

最後に


NVIDIAドライバのインストールには他にも色々なやり方があるが(おまけ参照),自分が試したところうまくいかなかった. 上記のやり方でさえ,1度目はNVIDIAドライバのインストールと引き換えに,再起動したらWifiアダプタが消えているといった現象が起き 再度同じ手順を繰り返した問題なくWifiアダプタが表示されるという,正直よくわからない挙動を示した. Ubuntuのインストールやセットアップ,ソフトウェアのアップグレードやNVIDIAドライバのインストールには時間がかかるため 本記事を参考にして少しでも時間短縮していただければ幸いである.

おまけ


NVIDIAドライバのインストール方法に関して

他にも下記のようなインストール方法があったが,上手くいかなかったので上記のやり方がおすすめ.

# この手順では上手くインストールできなかった. 原因は不明

user$ nvidia-detector devices
--> none

user$ sudo add-apt-repository ppa:graphics-drivers/ppa
user$ sudo apt update
user$ nvidia-drivers devices
--> check available version

user$ sudo apt install nvidia-driver-430
user$ sudo reboot

NVIDIAドライバのインストール後,Wifiアダプタが消える現象

NVIDIAドライバが無事にインストールされたと思ったらWifiアダプタが認識されていないといった事態に遭遇した. lspciの結果にもWifiアダプタの情報は記載されていなかった. 原因は不明だが再度,Ubuntuのインストールから手順を再実施したところWifiアダプタが認識された.

参考URL