5
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Ubuntu16.04にRTX2080Tiが対応するNvidia Driverのインストール

Last updated at Posted at 2018-11-19

はじめに

我が家のUbuntuPCに念願のGTX2080Tiが搭載された.それ伴って対応するNvidia Driverのインストールを行ったが結構詰まったのでその時のメモ.

環境

OS : Ubuntu 16.04
CPU : Intel(R) Core(TM) i9-7980XE CPU @ 2.60GHz
GPU : GEFORCE RTX 2080Ti

インストール

Nvidia Driverのダウンロード

インストールはこちらのリンクから環境を指定してインストールを行う.GTX2080Tiはバージョン410系からサポートされているので410系をダウンロードする.最新版は現在(2018/11/19)で410.75まであるが,私の環境では410.66でしかうまく動作しなかった.
Drivers | GeForce

もし古いバージョンのドライバが入っていたら削除する.

$ sudo apt-get purge nvidia*
$ sudo apt-get purge cuda*
$ sudo apt autoremove

準備とお約束のGUIの停止.

$ sudo service lightdm stop
$ sudo service gdm stop
$ sudo apt-get install build-essential

ダウンロードしたドライバに実行権限を与えて実行する.

$ cd {ダウンロードしたディレクトリ}
$ sudo chmod +x NVIDIA-Linux-x86_64-410.66.run 
$ sudo ./NVIDIA-Linux-x86_64-410.66.run 

カーネルの変更

Ubuntu16.04の最新カーネルにNvidiaが対応していないようで,このままだとnvidia-smiを入力してもエラーを返される.そこでUbuntuの利用可能なカーネルを確認し,動作が保証されているUbuntu, with Linux 4.10.0-28-genericを利用するように設定を変更する.以下のリンクを参考にさせていただいた.

Ubuntuでnvidiaドライバーが動作しない - Qiita

$ grep menuentry /boot/grub/grub.cfg
if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
  menuentry_id_option=""
export menuentry_id_option
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-7207aa24-4507-4c74-9c7d-f888905d2ba9' {
submenu 'Advanced options for Ubuntu' $menuentry_id_option 'gnulinux-advanced-7207aa24-4507-4c74-9c7d-f888905d2ba9' {
	menuentry 'Ubuntu, with Linux 4.15.0-39-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-39-generic-advanced-7207aa24-4507-4c74-9c7d-f888905d2ba9' {
	menuentry 'Ubuntu, with Linux 4.15.0-39-generic (upstart)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-39-generic-init-upstart-7207aa24-4507-4c74-9c7d-f888905d2ba9' {
	menuentry 'Ubuntu, with Linux 4.15.0-39-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-39-generic-recovery-7207aa24-4507-4c74-9c7d-f888905d2ba9' {
	menuentry 'Ubuntu, with Linux 4.10.0-28-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.10.0-28-generic-advanced-7207aa24-4507-4c74-9c7d-f888905d2ba9' {
	menuentry 'Ubuntu, with Linux 4.10.0-28-generic (upstart)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.10.0-28-generic-init-upstart-7207aa24-4507-4c74-9c7d-f888905d2ba9' {
	menuentry 'Ubuntu, with Linux 4.10.0-28-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.10.0-28-generic-recovery-7207aa24-4507-4c74-9c7d-f888905d2ba9' {
menuentry 'System setup' $menuentry_id_option 'uefi-firmware' {

これを元に/etc/default/grubを編集する.

$ vi /etc/default/grub
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

# GRUB_DEFAULT=0 
GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 4.10.0-28-generic"
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
# GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
# GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
# GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
# GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
# GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
# GRUB_INIT_TUNE="480 440 1"

GRUB_DEFAULT=0 をコメントアウトしてGRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 4.10.0-28-generic"を追記する.リンク先ではGRUB_DEFAULT=3のようにしても切り替えられるとなっていたが,私の環境ではできなかった.

設定を反映させるために以下のコマンドを実行し,端末を再起動.

$ sudo update-grub
Generating grub configuration file ...
Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported.
Linux イメージを見つけました: /boot/vmlinuz-4.15.0-39-generic
Found initrd image: /boot/initrd.img-4.15.0-39-generic
Linux イメージを見つけました: /boot/vmlinuz-4.10.0-28-generic
Found initrd image: /boot/initrd.img-4.10.0-28-generic
Adding boot menu entry for EFI firmware configuration
完了
$ sudo reboot

実行確認

カーネルのバージョンが変わりnvidia-smiコマンドが実行できれば完了.

$ uname -r
4.10.0-28-generic
$ nvidia-smi 
Mon Nov 19 20:23:19 2018       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 410.66       Driver Version: 410.66       CUDA Version: 10.0     |
|-------------------------------+----------------------+----------------------+
| 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...  Off  | 00000000:65:00.0  On |                  N/A |
| 35%   28C    P8     2W / 260W |    288MiB / 10986MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1346      G   /usr/lib/xorg/Xorg                            50MiB |
|    0      2716      G   unity-control-center                           6MiB |
|    0      3049      G   /usr/lib/xorg/Xorg                            47MiB |
|    0      3908      G   /usr/lib/xorg/Xorg                            59MiB |
+-----------------------------------------------------------------------------+

失敗したこと

aptにnvidia driverとcudaがあったのでそのままインストールを行ったが,cudaとのバージョンが噛み合わない違うようでエラーが出た.

$ sudo apt-get install cuda
$ sudo apt-get install nvidia-410

終わりに

nvidia toolkitのインストールしんどい.

5
7
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
5
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?