Lento con forza

大学生気分のIT系エンジニアが色々書いてく何か。ブログ名決めました。

MacBookにBoot CampしてeGPUを繋ごう

VRブーム、来てますね。SAOのような世界に行ってみたいものです。

そんなVR環境の現状ですが、カジュアルVRから本格的VRまで様々なものがあります。

カジュアルなVRはハコスコのように、スマートフォンを箱に入れて使うようなものから

もうちょっと進歩して、Oculus Goのようなスタンドアロンで動作するVR機器だったり

ハイエンドと呼ばれる、本格的なVR機器もあります。こちらの具体的な製品名はVIVEやOculus Rift等で、パソコンに繋げて使います。

僕はハコスコやOculus Goまでは持っていて体験したことがあるのですが、ハイエンドと呼ばれる実際にパソコンに繋いで使うVR機器は持っていませんでした。

持っていなかった理由としては、VR機器を使うためにはGPUが必要で、ゲーミングPCを持っていない僕には使えなかったということや、VRタイトルにはWindowsでしか動かないものが多いのですが、Mac使いでデスクトップパソコン嫌いな僕としては、新しいゲーミングPCを買うことが許せなかったこと等があります。

そんな僕でもVRがしたい!ということで色々考えた結果

MacBook Pro 13インチ(Touch Bar付き) + Boot CampWindows 10をインストール + eGPUを繋いでVR Readyな環境を作ろう!!

という決断をすることにしました。

MacBookは以前から持っていたものを使います。Windows 10とeGPUは新しく購入しました。ついでにマウスとキーボードと外付けSSDUSBメモリも買いました。

購入したeGPUはこちらです。GTX 1080が入っているGPUボックスで、GIGABYTEのものです。

Boot CampWindowsをインストール

何はともあれWindowsがなくては始まりません。MacWindowsを入れる方法としてはBoot Campが有名ですのでその通りに進めていけば問題なく終わるでしょう。

これは余談ですが、僕が持っているMacSSD容量が256Gと少なく、本当はSSDWindowsをインストールし、SSDからブートすることでWindowsを起動しようと考えていました。 結論から言うと僕の環境ではうまくいかず(うまく行っている人もいるので環境によると思います)諦めてなけなしのSSD容量を50G借りてBoot Campしました。後述するとても参考になったサイトにも外付けSSDからブートするのはオススメしないよと書かれていたので、容量が大きいSSDMacを使って普通にブートキャンプするのが無難だと思われます。*1

Boot CampWindowsを入れるのはとても簡単なので、公式サイトを参考にやってしまいましょう。

support.apple.com

eGPUを繋ぐ

Windowsがインストールできたのであとは繋ぐだけです。早速MacBookにeGPUを繋いでみましょう!起動時にoptionキーを押しっぱなしにしてWindowsを起動、そしてeGPUから伸びるThunderbolt3ケーブルをMacBookに刺すと!!

f:id:kouki_dan:20181125143513j:plain

ふむ。

f:id:kouki_dan:20181125144505j:plain

全然動きません。

この画面、どうやらブルースクリーンらしいです。僕がWindowsを使っていたwindows 7の頃と比べてだいぶ変わりましたね。オシャレになっていて良いと思います。

MacBook起動時からeGPUを繋いでもダメ、Thunderbolt3のケーブルを逆さに繋いでみてもダメ、Windowsをもう一回インストールし直してみてもダメ、色々試しましたがeGPUを繋ぐとまともに動きませんでした。

色々調べているとこちらのページが見つかりました。

egpu.io

MacBookBoot CampしてeGPUを使う方法が書かれています。左側のUSBがいいとか、右側はダメとか、ハードウェアの物理構成さえも踏まえたアドバイスをしてくれています。

僕の環境(MacBook Pro 13inch タッチバー付き 2016年モデル)ではここのステップ1とステップ2をやることで動くようになりました。

DDUを使ってドライバの削除

この作業はWindowsで行います。 DDU(Display Driver Uninstaller)を使って不必要なドライバを削除します。

www.wagnardsoft.com

こちらにある Click here for DOWNLOAD & SUPPORT. のリンクからバイナリを入手、あとは言われた通りに削除しました。

apple_set_os.efiを使ってブートする

eGPUを繋いで直接Windowsをブートするとうまく動かないので、apple_set_os.efiを経由して動かす方法が紹介されています。

このガイドに沿ってUSBメモリFAT32でフォーマットし、 こちらからapple_set_os.efiをダウンロード、先程フォーマットしたUSBメモリにダウンロードしたファイルを /EFI/Boot/bootx64.efi というファイル名とパスに置けば完成です。

あとはMacBookを再起動して、起動ディスクとしてUSBメモリを選択。その後自動的にWindowsが起動します。*2

これでeGPUがつながったWindowsが完成です!

f:id:kouki_dan:20181125170309j:plain

ベンチマークを取ってみる

晴れてオキュラスのチェッカーにVR Ready認定されたわけですが、GPUを認識しているだけで実際に動くのかは別問題です。そのため、ベンチマークを取ってみましょう。

eGPUはeGPUのHDMIコネクタに繋いだディスプレイでGPUが有効になるとのことなので、eGPUを繋いだディスプレイと、MacBookのディスプレイでFF14のベンチマークを取ってみました。

eGPUなし
f:id:kouki_dan:20181126135237j:plain

eGPUあり f:id:kouki_dan:20181126135259j:plain

約4倍のスコアが出ています!GPUがきちんと動いていそうですね!

僕の環境では最初にFF14ベンチマークソフトを起動すると真っ暗な画面になってしまい、ベンチマークを動かせなかったのですが、eGPUのせいではなく、Windowsのセキュリティ機構が働いていたのが原因でした。 こちら を参考に7つの実行可能ファイルのブロックを解除することで動くようになりました。

起動中にeGPUを刺しても反応しない

晴れて動くようになったeGPUですが、起動中にeGPUを刺しても認識しません。なんとかできるといいのですが、僕にはわかりませんでした・・・。 eGPUを刺した状態で起動すると普通に使えます。 ちなみに、起動中にeGPUを抜くことは可能でした。

まとめ

何度も動かないかもしれないと思ったMacBook + Boot Camp + eGPU作戦ですが、なんとかベンチマークでそれなりのスコアが出せる所まではたどり着きました。 一応ベンチマークがそれなりのスコアを出しているので、第一目標は達成です。*3

あとはOculusやVIVEを動かすことができれば冒頭に述べたハイエンドVRの準備が整うことになります。先週のブラックフライデーのセールでOculus Rift + Touchは購入済みなので、届き次第また実験してブログを書こうかと思います。

*1:僕の場合はこのサイトに書かれてる理由でうまくいかなかったわけではなく、純粋にeGPUを繋がなくても5回に1回くらいしか起動しないという謎の状態だったので、人によってはうまくいくのかもしれません

*2:Windowsを標準起動ディスクにしないとMacが起動してしまうので、Macが優先されている場合はシステム環境設定の起動ディスクからWindowsを優先に設定しておく必要があります

*3:起動中にeGPUを刺せなかったり、MacBookのUSBを使おうとするとクラッシュしたりする問題はありますが