MBP2012のWindows10でeGPUを使う

未だ公式にサポートされているだけあって最初から正攻法でインストールすれば良かったと後悔したMacBook Pro 2012へのWindows 10のインストールですが、「iMovieはクソ」と仰せの子供に動画編集用途で使わせてみたところ結局ソフトは適材適所だということを実感したようで、それを理解してもらっただけでも一安心だったところ欲望は果てしなく、次は「PCゲーをしたい」と間抜けなIT企業の営業さんみたいな変更を求められることになりました。iMac 2011にインストールした時はプラグプレイで認識したeGPUだったので楽勝だと引き受けたものの、こちらも甘い見積もりの駄目エンジニアのような状態に落ちる羽目になってしまいました。

結論から言うと成功に至ったのですが、公式はBootCampによるWindowsを使ったeGPUをサポートしていないという点で、正攻法のインストールを見直すところから始まります。参考にした文書は次の2つです。

BootCampアシスタントを使わずディスクユーティリティーでパーティションを分割し、USBメモリによるインストールを進めていくという、UEFIで起動するようにする(OPT入力起動時にWindowsではなくEFI Bootという名称のディスクが現れてWindows起動時に選択する)方法はiMac 2011の時と同じだったので馴染みがあったのですが、一つ違っていた点はインストール完了後のアシスタントによるウィザード画面を進めていく際にインターネットに接続しないということです。正攻法のDVDによるインストールの場合は発生しないigdkmd64.sys問題がUSBを使った場合に起きてしまうのですが、これはiGPUのIntel HD 4000を読み込むことが原因だということで、上述した文書ではインストールするUSBメモリからIntel HD 4000グラフィックスドライバを削除しておく方法が紹介されていましたが、アシスタントを完了までやり過ごすという意味で、インターネットに接続せずローカルアカウントをまず作ってしまうという方法を選びました。また、インストールに使うISOはWindows 10 1903 v1が良いということで、ワインの品評みたいだなと思いつつ従いました。

Windows 10をUEFIで起動できるようになればプラグプレイでeGPUを使うのはイージーモードと思っていたのが、実はここからがMBPの場合は本題でした。先にはiGPUと気軽に書きましたがこの時点でMBPのGPU機構を全く理解しておらず、eGPUを接続してOPTキー入力しながら再起動をしても灰色のままディスク選択画面すら現れません。

そこで一旦Thunderboltケーブルを引っこ抜いてeGPUを外しCatalinaを通常起動してpurge-nvdaをインストールすることでこの問題を解決します。もしMacOSでもeGPUを使う場合はpurge-wranglerも入れておきますが今回はWindows専用機とするので放置しました。この流れでeGPUを接続したまま再起動し、OPTキーによる起動ディスク選択画面でEFI Bootを選びWindows 10が無事起動したところで、自動更新を無効にし、ネットワークに接続してDSDTオーバーライドと呼ばれる処理を(↑ではIntel方式とMS方式の両方記述されていますが↓の日本語ブログと照らしながらIntel方式を採用)し、Display Driver Uninstaller(通称DDU)を使ってIntelとNVIDIA両方のGPUドライバを削除しました。

再起動してWindows 10を起動すると、外部ビデオコントローラーを認識する例のサウンドが聞こえるのでeGPUの接続に成功となります。最後にeGPUで使っているAMDのドライバをインストールするのですが、iMac 2011の時に紹介していたものはどれも使えず、guru3dというサイトが配布しているAMD Radeon Adrenalin Edition 18.3.4をインストールすることができました。

一先ずうまく行ったところで忘れない内に経緯を書きましたが、DSDTオーバーライドによるテストモードで動かしているというところが腑に落ちないので、DIY eGPU Setup 1.35 というシェアウェアを使うか、あるいは他にThunderboltポート(Xeon(R) proccessor E3-1200 v2/3rd Gen Core processor PCI Express Root Port – 0155)のCode 35エラーを回避する方法がないか模索してみたいと思っています。(iMac 2011のデュアルコアi5より当然動作が快適なので、もう子供に渡すことは忘れそうになってる笑)

投稿者: hkitago

個人事業主でウェブと iOS, Android アプリの開発者で一児の父親。JavaScript, ActionScript, AppleScript, PHP, SQL, ObjC, Swift, Java の読書実行試験運用管理を生業とし、Bind, Postfix, Apache を MacOS で使い、エディタは Vi, mi, Kod, Smultron, TextWrangler を経て Coda, Xcode, Android Studio といった IDE と CotEditor を重用しています。無断フォロー、コメント、SNS晒し、ブックマーク等大歓迎です。