2015-08-04

スクリプトファイルを1つ実行するだけでMac OSXにて外部GPUをThunderbolt経由で動作させる方法

これまでThuderbolt経由でMacに外部GPUを認識させるには幾つかのステップが必要でした。
kextファイルを正確に書き換えモディファイドドライバを用意し、それはそれは手間がかかり、かつ間違いにハマりやすい方法でした。

今回は1つのスクリプトファイルを実行するだけでファイルの書き換えからドライバのダウンロードまでを自動でおこなってくれる方法をご紹介致します。

----必ずバックアップを取り作業については自己責任でおこなってください!----

用意するもの

  • Mac 
  • Thunderbolt外部拡張ボックス NA-211TB
  • スクリプトファイル

手順

  1. まだこの時点でMacとNA-211TBを接続しないようにしてください。
     
  2. スクリプトファイル「automate-eGPU.sh」をダウンロードしてデスクトップに保存します。
    ファイル共有サービスのBOX.comにアップロードして保存してあります。
    https://app.box.com/s/oy6mhzllpn4sxdzg82w3esn1gwbq1eq2
    (*8/19 プレビューになってしまうという指摘がございましたので、zipファイルに変更しました。適宜ダウンロードして解凍してください)
     
  3. ターミナル.appを起動します。そこへ以下のコマンドを記述します。
     
    chmod +x ~/Desktop/automate-eGPU.sh
    その後
    cd ~/Desktop
    とコマンドを打ちます。
     
  4. 上記コマンドが正しく通ったら次に以下のコマンドを記述します。
     
    sudo ./automate-eGPU.sh
     
    これでドライバが自動的にダウンロードされ、kextファイルも自動的にモディファイされインストールが完了します。
    途中ドライバのダウンロードやインストールをおこなうかどうかYesかNoで聞かれますので、" y "と押して処理を進めてください。
     
  5. CUDAドライバをインストールします。
    これはNVIDIAのサイトに最新版のドライバがありますので、ダウンロードしてインストールしてください。
    http://www.nvidia.com/object/mac-driver-archive.html
      
但し一部のMacBookProでオンボードのグラフィックスボードにGT650M/750Mが載っているモデルで外部GPUにGTX970/980(いわゆるMaxwell世代のGPUボード)を使う場合は以下のコマンドをターミナルから打つ必要があります。
これはドライバが競合して画面がブラックアウトしてしまう現象が起こる可能性があるのを避けるためです。
   sudo nvram tbt-options=\<00\> ※ゼロ2つです。

以上で終了です!
Macの電源を一旦落とした後、NA-211TBとMacをThunderboltケーブルで接続して起動してみましょう。GPUが認識されている筈です。

当方もやってみました。
MacBookPro Early2013、MacOSX 10.10.4、NA-211TBにNVIDIA GTX970を搭載した物をテストしてみました。このように表示が出れば成功です。

※GPUを載せる作業は自己責任でお願いします。
※Intel or Appleの意向で上記作業が認められなくなる事もあり得ます。