ThinkPad X230でEXP GDCを使ってGTX1060 6GBを動かす

ThinkPad X230でEXP GDCを使ってGTX1060 6GBを動かす

2019年7月1日
ガジェット

先日EXP GDCを使って、GTX1060 6GB(GP104)ThinkPad X230で動かしたので、その方法とベンチマークを紹介します。

OSはUbuntu18.04とWindowsで動かしました。
僕はUbuntuは機械学習用、Windowsは時々やるゲーム用と分けてるのでWindowsでの機械学習のセットアップは行いません。
最近のWindowsはWSL2などで開発環境が整えやすくなっていますが、GPU周りなどはまだ対応していないらしく
nvidia-dockerも今後対応するかわからないので、機械学習用のOSはLinuxが良いのかなと思います。
普通にセットアップを行うとerror 43というエラーが出てうまくいかないかと思います。

EXP GDC GTX1060 6GB ThinkPad X230

環境

  • ThinkPad X230
  • EXP GDC
  • GTX1060 6GB(GP104)
  • 玄人志向 400W電源
  • Windows10 or Ubuntu

PCは以前紹介したThinkPad X230です。GPUはGTX1060 6GBを使います。
【大学生におすすめ】3万でそこそこのスペックを持つ最高のPC紹介

created by Rinker
玄人志向
¥3,309 (2021/04/10 06:16:34時点 Amazon調べ-詳細)
B010Q2VN98nzmt-22

購入時の注意

  • EXP GDCはAmazonで買うと高いので、早く欲しいわけではなければAliexpressで買った方がおすすめです
    https://aliexpress.com
  • 中古グラボを買っても良いと思いますが、マイニングで使われていたものも中古市場に結構流れているようで、判別をつけるのが難しいので新品を買うのをおすすめします。
  • 電源は電源容量が足りていればなんでも良いです。電源容量の2倍くらいあると良いと言われてたりするみたいです。
    • 今回はGTX1060 6GBのTDPが120Wなので400W電源があれば超十分です。

EXP GDC とは?

Express CardやminiPCIカードなどのスロットを使いPCI Express x1を使ってGPUを接続するためのデバイスです。
一般的なeGPUはThunderbolt3を使っていますので、これとは異なります。
EXP GDCはPCI Express x1使用しているため、帯域があまり多くありません、なのであまりハイスペックなGPUだと性能を活かしきれないかもしれません。
GTX 1050クラスなら十分だそうです。
https://pc.watch.impress.co.jp/docs/topic/feature/1082967.html
要はEXP GDCを使うことでGPUが載っていないノートパソコンなどでもGPUを使うことができ、グラフィック性能が向上するためゲームができたりします。

セットアップ

Ubuntuの場合

特につまるところなく、aptでドライバを探してきてインストールすることができましたので、一般的なUbuntuのGPUセットアップと同じです。
ドライバは以下のコマンドで入ります。

sudo ubuntu-drivers autoinstall
sudo reboot

入ったら、確認しましょう以下を実行することでGPUの情報を確認できます。

nvidia-smi

また、nvtop(https://github.com/Syllo/nvtop)などを入れておくと、GPUの使用率が見れるのでおすすめです。
nvidia-dockerを動かす際には以下を実行して入れます。

curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \
  sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \
  sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update
sudo apt install nvidia-docker2
sudo pkill -SIGHUP dockerd

これでnvidia dockerが動きますので、あとはお好きに

Windows10の場合

GTX900系の場合でしたら、Windows Update等でドライバを入れればセットアップはできるはずです。
GTX1000系の場合は少し大変です。未検証ですが同様にRTX2000系も大変かと思います。

GTX1000系が大変な理由

  • Nvidiaがバージョン368.81以降のドライバでホットプラグに対応していないeGPUのドライバをインストールしようとした際に error 43を返すようになった。
  • なので古いバージョンをインストールする必要があるが、368.81だとGTX1050tiなどの最近のグラボは対応していない

といったところでドライバのインストールが大変です。

ドライバのインストール

本題に入ります。

  • まず368.81をダウンロードしますhttps://www.nvidia.co.jp/download/driverResults.aspx/105133/jp
  • 7zipでドライバファイルを展開して Display.Driver/nv_dispi.inf を開く
7zipで展開
7zipでnv_dispi.infを開く
nv_dispi.inf
  • nv_dispi.infに追記する
    • 先ほど取得したものが0x1b83なら
    • %NVIDIA_DEV.以降と10DE&DEV_以降に1B83を追記してください。
追記する
  • 今編集した368.81のドライバをインストールします。
  • レジストリをいじります。
    • HKEY_LOCAL_MACHINE\SOFTWAREにあるnvidia_rebootneededと書いてあるところを削除します。
レジストリを開き、編集する
  • 最新版のドライバをNVIDIAのサイトからダウンロードしてきて、カスタムインストールします。
    • その際にクリーンインストールにはチェックをいれずにインストールします。

ここまででとりあえずドライバがインストールできるはずです。

何かエラーが出ていたりする場合はドライバを消すソフト(DDUなど)を用いてドライバを消して再度試してください。

ドライバが勝手にアップデートされないようにする

今手作業でドライバを編集してインストールしました。
今後Windows Updateで勝手にドライバのアップデートがかかって動かなくなるともう一度ドライバ消してやり直しになる可能性がありますので、ドライバの自動更新を無効にしましょう。

  • デバイスのインストール設定の変更を開きます
デバイスのインストール設定の変更を開きます
  • 自動ダウンロードの設定をいいえにします
ここの設定をいいえにしておきます。

これでドライバが自動的にアップデートされることがなくなりましたので、安全安心です。

ベンチマーク

3DMarkを使っていくつかベンチマークを走らせてみました。
結果は以下です。

TimeSpy 2884
fire strike 6061
Sky Driver 12378

そこそこいい結果なんじゃないでしょうか(無知)
ThinkPadのモニタで表示させたので、ネットに転がってるGTX1060 6GBのベンチマークの7~8割出ているかなといったところです。
これが外付けディスプレイとかになればもう少し伸びていたと思います。
ですが、X230のCPU性能が低いのでそれに足引っ張られてる感じもあってあまり高い性能を必要とするゲームは難しいかもしれません。

まとめ

  • EXP GDCを使ってGPUを動かすことはできますが、GTX1000系はドライバ周りが大変です。
  • PCI Express x1なのであまり性能の高いGPUを使っても性能を出し切れいない可能性があります。
  • X230のようなモバイルノートでもゲームを動かすのには使えそう。

もし何かわからない点等あれば、僕のTwitterの方にDMなりしてください