GeForce 1060搭載のノートPCにLinuxを載せて動かす・・・のに滅茶苦茶苦戦した

# 愚行(GPU付きノートPCにLinuxを入れて使う)に及んだ理由

* 今までのメイン機がUbuntuで、高いお金を出して購入したLinux版Mathematicaを新PCでも使いたかった
* MathematicaでのCUDAと、機械学習と仮想通貨マイニングをしたくなったのでGPUが載ったマシンが欲しかった
* 各種サーバや開発環境の構築はWindowsよりもLinux系のほうがやっぱりラク
* OfficeもゲームもしないのでWindows要らない

QiitaにはGeForce搭載ノートPCへのLinuxインストール事例が複数あるため、大丈夫だろうと思って購入したが・・・。

# 買ったもの

PC工房のGeForce 1060搭載ノートPC(OSなし) : [STYLE-15FX093-i7-RNFR [OS LESS]](https://www.pc-koubou.jp/products/detail.php?product_id=590109)

* CPU: Core i7-7700HQ
* GPU: NVIDIA GeForce GTX 1060 6GB
* Memory: 16GB
* Storage: SSD 240GB (/) + HDD 2TB (/home)


# インストールにトライしたディストリビューション一覧

事前に集めた情報から、Secure Bootを無効に設定した状態でOSインストールにトライ。
いずれもISOファイルをUSBメモリに書き込んでブートした。

結果は以下の通りで、かなりのディストリがインストールできなかった。

UEFI/BIOS|OS|結果|備考
---|:-:|:-:|---
UEFI|Ubuntu 16.04.3|NG|インストーラ起動せず<br>GRUBで`quiet splash`を`nomodeset`にしてもNG
UEFI|Ubuntu 17.10|NG|NVIDIAドライバインストールできず(後述)
UEFI|Kubuntu 16.04.3|NG|インストーラ起動せず<br>GRUBで`quiet splash`を`nomodeset`にしてもNG
UEFI|Lubuntu 16.04.2|NG|インストーラ起動せず<br>GRUBで`quiet splash`を`nomodeset`にしてもNG
UEFI|Xubuntu 16.04.3|NG|インストーラ起動せず<br>GRUBで`quiet splash`を`nomodeset`にしてもNG
UEFI|Linux Mint 18.2 Cinnamon|NG|インストーラ起動せず
UEFI|Linux Mint 18.2 Mate|NG|インストーラ起動せず
UEFI|Linux Mint 18.3 Cinnamon|NG|インストーラ起動せず
UEFI|Linux Mint 18.3 Mate|NG|インストーラ起動せず
UEFI|Arch Linux (2017.12.01)|NG|インストーラ起動せず
BIOS|Ubuntu 16.04.3|NG|インストールはできたが動作遅すぎ(画面描画が3秒ほど遅れる)<br>無線認識されず(Wi-Fi、Bluetoothとも)<br>aptできず(詳しく見ていないがダンプを吐いて止まる)
BIOS|Ubuntu 17.10|OK?|DKMSが動かない(後述)
BIOS|Fedora 27|NG|インストーラ起動せず
BIOS|Zorin 12.2|NG|インストーラ起動せず
BIOS|elementaryOS 0.4.1|NG|インストーラ起動せず
BIOS|Ubuntu 17.10 Japanese Remix|OK|問題なし!

本命だったUbuntu 16.04がインストールできなかったのが誤算。
結果的に今の主要なLinuxディストリビューションをすべて試すという経験は得られたが・・・。

## UEFI + Ubuntu 17.10

Ubuntu 17.10では`nomodeset`を設定しなくてもインストールが成功した(GNOMEがあまり好きじゃないんだけど)。
次なるハードルはNVIDIAドライバのインストール。

### まずはnouveauを無効化・・・

参考) [Ubuntu 16.04に GTX 1080Ti ドライバとCUDAのインストール](https://qiita.com/sasayabaku/items/2323a2c501e58c0621b6)

競合の恐れのあるnouveauドライバを一旦無効化する必要があるらしい。

~~~:/etc/modprobe.d/blacklist-nouveau.conf
blacklist nouveau
options nouveau modeset=0
~~~

再起動後に画面真っ暗でログイン不可になった。
Ctrl + Alt + F1でもダメ。

### 公式PPAからのインストール

nouveauを無効化せずにそのままNVIDIAのドライバをインストールしてみる。

~~~
sudo apt-get update
sudo apt-get install nvidia-384
~~~

やはり再起動後、画面が真っ暗でログインできなくなる。

### Graphics Drivers TeamのPPAからインストール

Graphics Drivers TeamのPPAには１個新しいバージョンがあったので、そちらをトライ。

~~~
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-387
~~~

画面真っ暗。

## BIOS + Ubuntu 17.10

今度はUEFIを無効にしてチャレンジ。

nouveauの無効化も上手く行く。

続いてNVIDIAドライバのインストール。

~~~
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-387
~~~

再起動後、ログイン画面が表示された！！やったー！！

さて、次は必要なソフトを入れますか。
その前にまずはアップデートを・・・

~~~
sudo apt-get update
sudo apt-get dist-upgrade
~~~

ここでdkmsが固まった。

やむなく再起動すると、aptを使うたびに
「E: dpkg は中断されました。問題を修正するには 'sudo dpkg --configure -a' を手動で実行する必要があります。」と表示される。
実行してみるも何度やってもdkmsの部分で止まる。

こうなると`apt`や`dpkg`がにっちもさっちもいかなくなるので、
ソフトウェアのインストールもアンインストールも何もできない。

じゃ、DKMSが動かないようにカーネルのバージョンを固定するしかないよね。

再度、OSのインストールからやり直して、

~~~
sudo apt-mark hold linux-generic linux-image-generic linux-headers-generic
~~~

をしてからNVIDIAドライバをインストール。

その後日本語環境を整えたり、Chromeやdocker、Wineを入れたりしたが、
今のところ動いている。

## BIOS + Ubuntu 17.10 Japanese Remix (後日追記)

悪戦苦闘しているうちに、Ubuntu 17.10の日本語Remix版が出たので、ダメ元でインストールしてみたところ・・・

**カーネルバージョンを固定しなくても動いた！！**

後からJapanese PPAを追加した場合と何が違うのかちょっとわからないけれど・・・

# まとめ

* Ubuntu 17.10以外はOSインストールすらできないものがほとんど
* Secure Bootを無効にするだけではダメで、UEFIごと無効にする
* `quite splash`->`nomodeset`は不要
* 
カーネルのバージョンは固定してDKMSが動かないようにする
<br>Japanese Remixでは動いたよ！！