Linux
Ubuntu
GPU
NVIDIA
ubuntu16.04

UbuntuにNVIDIAドライバを入れる手順

補足(2018/09/05追記)

この記事の投稿後,後により詳細をまとめたものを投稿した.
GPUを積んだラップトップにUbuntu16.04をインストール

はじめに

深層学習の環境構築を行うために,Ubuntu下でGPGPU環境を構築したかった.
しかし,想像以上に手こずったので備忘録として.
まだ試行錯誤の段階なので随時更新する.

今回試した環境

PC MSI GE72MVR-7RG-059JP
OS Ubuntu16.04LTS
GPU NVIDIA GeForce GTX 1070

1.ubuntuのバージョン

ubuntuのバージョン,日本語Remixか否かによってもインストールの成否がかかってくる.
gnomeバージョンでも試したが上手くいかなかった.

2.ubuntuをインストール

インストールディスクのgrubでやること

これをやらなければインストール終了時に行う再起動でもれなくフリーズする.

grubを開き

kernel /casper/vmlinuz file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash -- debian-installer/language=ja keyboard-configuration/layoutcode?=jp keyboard-configuration/modelcode?=jp106

このquit splashの部分を

pci=nomsi quiet splash nomodesetとする.

日本語キーボードの場合=を入力する際は^を打つ.

grubを編集

インストールが成功し,無事起動できたらNVIDIAドライバを入れる下ごしらえとしてgrubを編集.
sudo vi /etc/default/grub
事前にvimをインストールしておくと良いかも.

下の2行

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pci=nomsi nomodeset"
GRUB_CMDLINE_LINUX="pci=noaer"

と書き換える.
編集後にreboot

3.NVIDIAドライバを入れる

再起動に成功したらまず,sudo service lightdm stop
なお,これはGUI環境で行うと何故かもれなくフリーズするので,Ctrl+Alt+F1にてCUI環境に移動した後に行う.

その後sudo apt search nvidiaでNVIDIAドライバを探す.

今回はnvidia-375を入れたかったのでsudo apt search nvidia |grep 37

インストール

sudo apt-get install nvidia-375
sudo ubuntu-devices autoinstall

sudo service lightdm restart

sudo reboot

4.インストールの確認

nvidia-smiでgpuの動作を確認

おまけ.カーネルのバージョン固定

アップグレード等でカーネルが更新されると,ドライバとの依存関係がごちゃごちゃになる様で,もれなく無限フリーズ地獄に陥り起動自体できなくなる.
カーネルのバージョンを戻して直そうにも,一度更新してしまえば時既に遅し,grubで旧バージョンのカーネルを選択してもフリーズしてしまい起動できない.

そこで,カーネルのバージョン固定を行い,更新を阻止することにした.

まず,aptitudeコマンドでカーネルのバージョンを確認する.
$ aptitude show linux-generic

次に,/etc/apt/preferences.d/linux-kernel.prefに下記の様に保存する.

Package: linux-generic
Pin: version 4.4.0.109.114
Pin-Priority: 1001

Package: linux-headers-generic
Pin: version 4.4.0.109.114
Pin-Priority: 1001

Package: linux-image-generic
Pin: version 4.4.0.109.114
Pin-Priority: 1001

参考記事

【罠がいっぱい!】ubuntu 16.04 LTS をMSI製ノート(GE62 6QC)にinstall