eGPUと呼ばれる“外付けグラフィック拡張ボックス”は、デスクトップパソコン向けグラフィックカードを使って、PC/Macの3D演算能力を高めることができるアイテムです。Thunderbolt 3を搭載した一部のPC/Macでサポートされています。

でも、ネットを検索しても具体的な情報はあまりなく、肝心のゲームがどれくらい快適になるのかも不明。余っている旧式のMacでも使えると嬉しいなぁ・・・

ということで、以下の疑問について検証してみました。



なお、テストに利用した機材は「AKiTiO Node」と「AMD Radeon RX 580」で、ゲームはSteamから入手可能なWindowsとMacの両対応の「F1 2017」と「Tomb Raider」を利用しました。あとMac App Storeから「Rise of Tomb Raider」も購入してテスト。

性能はともかく、最新ゲームがどれくらい快適に動くかどうか気になりますね。

値段は?選ぶポイントは?


まずはハードウェアの紹介から。なるべく安く入手できて、MacとWindowsの両方に対応しているというのがポイントです。私は「AKiTiO Node」という商品を購入。 Apple サポートのリストには含まれていませんが、メーカーが「Mac対応」を謳っているので大丈夫なはず。

ちなみにAKiTiO の商品にはデザインがよく似ているグラフィックカード非対応モデル(AKiTiO Node Lite など)があるので購入時は十分注意してください。
blogimages-02



eGPU購入時に確認したいポイントは
  • Windows と Macに対応しているか?
    (ただしほとんどのeGPUメーカーはBOOTCAMPによるWindows環境には非対応としている)
  • 最新のPCI Express 3.0に対応しているか?
  • Thunderbolt 3 対応かどうか、ポート数はいくつあるか?

です。

実売価格は29,808円〜34,200円といったところ。eGPUポート数が1つしかないモデルが最も低価格で実質3万円台で買えるようになってきています。

(eGPUは秋葉館が充実しているかも?)

グラフィックカードはサポートリストにあるもの以外、macOSでは動作しないので購入時に注意!!(Windowsならば動作する可能性あり)
さらにMac/Windows両対応となると安いものがありません。かといってメモリは4GB以上が欲しい!ということで「AMD Radeon RX580」にしました。
blogimages-03

Radeon RX580 は実売価格 29,800円〜45,800円といったところ。僕はROG-STRIX-RX580-O8G-GAMINGというモデルを購入しました。

とりあえず私はできるだけ安いところを探してトータル62,148円の買い物でした。ゲーミングパソコンを新調しようと思ったらモニタやらでもろもろ15万以上はかかるので、これでうまくいくなら安いものです。

egpubox

↑合体したところ

内蔵ディスプレイだけで使える?外部ディスプレイは購入必要?


macOSで使う限りでは外付けディスプレイを用意する必要はありません。最新のThunderbolt 3 搭載MacでmacOS環境なら「買ってきて繋げるだけ」でほぼOK。

macOSではさらに各アプリで動作させるために「set-eGPU.sh」というツールを使う必要があります。

→「macOSでアプリの動作をeGPU優先にする方法

nodisplay


しかし、Windowsの場合はOSにeGPUを認識させるために、どうしても外部ディスプレイ+ケーブルが必要になります。

さらに、旧型のMacでも私の環境では動かすことができました。導入する方法は後半で・・・メーカー保証外になるので、運が良ければ使える!というくらいと考えてください。

BOOTCAMPでMacにWindows10をインストールして使えるか?


グラフィックカードをアップグレードして何やるかって、そりゃゲームですよ。SteamではMac用ゲームが充実しているものの、やはりWindows対応ゲームの比ではありません。
https://store.steampowered.com/
steam


購入した「AKiTiO Node」は、特定の条件を満たしたPC環境でのみWindowsをサポートしていて、正式にはBOOTCAMP環境に非対応です。
http://www.akitio.jp/information-center/node-gpu-compatibility

しかーし!僕はiMacとMacBook Proしか持ってない・・・Windowsで使いたい・・・BOOTCAMP環境で使いたい・・・

・・・で、結論からいうと「最新モデルなら少しの改造で利用きるけど制限あり」という結果でした。なお、結局WindowsでeGPUを使うことができたのがMacBook Proのみで古いMac(iMac 27inch Late 2012)では認識時のマルチモニタ化ができないためNGでした。

MacBook Pro(BOOTCAMP + Windows 10)で利用する場合でも主に以下のような制限があります。

  • eGPUを接続した状態ではMacBook Proは起動しなくなる。回避するには、SIP無効にしてさらにrEFInd というブートローダーのインストールが必要(手順は後述)
  • eGPUを認識するThunderboltポートとしないポートがある!(macOSでは発生しない現象)
  • eGPU内蔵のグラフィックボードには最低1つのモニタが接続されている必要があり、かつMacBook Pro起動時に接続されている必要がある
  • eGPUを接続しているThunderboltポート以外にデバイスを接続しているとWindowsがフリーズしたり、WiFiがインターネットにつながらなくなったり、eGPUが機能しなくなるなどのトラブルが発生する。(このためゲームコントローラーを使いたい場合は有線タイプのものは利用できない。Bluetooth接続のものを使う必要がある)
  • 再起動時に時々ブルースクリーンになる。シャットダウンしてから起動すればOK


……とまぁ、かなり癖があります……私も最初はeGPUにモニタを接続していなかったせいで、ものすごーーーーく無駄な時間(10時間くらい)を過ごしました。。。また、ポートによってeGPUを認識したりしなかったりする現象も発生します。(macOSではeGPUを接続中でも全てのポートが使えます)
portsettings

Bluetooth接続のゲームコントローラーについてはSteamでPS4コントローラーを接続する方法しか確認していません。他社製のコントローラーは使えないかもしれません。

→2018/09/16追記:別の記事でこれらの問題を解決する方法を掲載しました!
※この記事の全ての内容を適用していることが前提です。



なお、グラフィックカードに接続するディスプレイは、解像度の小さいモニタだとうまく認識しないので1680 x 1050 以上のディスプレイを推奨。1024 x 768 とか極端に解像度の低いモデルを購入すると画面が映りません!もっとゲームこだわるなら、リフレッシュレート144Hz対応モデルがおすすめです。



(MacBook ProにWindowsを導入する方法はAppleのサポートサイトを確認してください)

とにかく、Windowsが起動しない問題をどうにかしなければなりません。


eGPUを接続した状態でWindowsを起動させる方法


私が所有しているMacBook Pro(13-inch, 2016)にWindows10(1803)をインストールしeGPUを接続したままの状態で起動すると以下のような起動画面で止まってしまいます。おそらくこの現象のためeGPUメーカーはBOOTCAMPをサポートしないと公表しているのではないかと思います。

winstartup



この現象を回避する手段はいくつかあり、最も簡単なのは「rEFInd」を使った起動を使う方法です。

「rEFInd」とはブートローダーと呼ばれるソフトで、Mac起動時に呼び出すことでWindowsやmacOSなど起動するOSの切り替えることができます。Mac起動時に以下のような画面になります。
bootselect

「rEFInd」の設定を少し変更してから、この画面を経由してWindowsを起動すればMacBook ProにeGPUが接続されたままでも問題なく起動するようになるのです。

「rEFInd」を導入:作業の流れ


  1. macOSのSIP(System Intergrity Protection)を無効にする
  2. rEFInd をダウンロードしてインストールする
  3. refind.conf を修正し、再起動


1:macOSのSIP(System Intergrity Protection)を無効にする

1-1:リカバリーモードまたmacOSのインストールドライブで起動


システム領域にソフトをインストールできるようにするため、macOSのセキュリティを無効化します。(方法A)がダメだったら(方法B)を試してください。

(方法A):リカバリーモードでMacを起動


Mac起動時にcommand + Rキーを押して起動します。macOS Sierra以降のリカバリーモードが起動してきたら成功ですので1-2:を実行してください。
うまくいかないときは、optionキーを押しながらMacを起動し、起動ディスクの選択で「復元???」を選んでください。(???はmacOSのバージョン)

(方法B):macOS インストーラを作成する


環境によってはリカバリーモードがそもそもなかったり、古いバージョンのものであることがあるので、こちらのページを参考にmacOS インストーラ(USBメモリ)を作ることをおすすめします。

High Sierra のmacOS インストーラを作るには以下のコマンドをターミナルで実行します。
(USBメモリがMyUSBという名前の時)
sudo /Applications/Install\ macOS\ High\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/MyUSB --applicationpath /Applications/Install\ macOS\ High\ Sierra.app

createusbstick

上記方法によって起動メモリが作れたらMac再起動時にoptionキーを押して、そのUSBメモリから起動します。4GB以上のUSBメモリが必要です。




1-2:csrutil コマンドでSIPを無効化


1-1が成功したら以下のような画面になるはずですので、ユーティリティメニューからターミナルを実行します。
macosutility


その後、ターミナル画面で以下のコマンドを入力し、returnキーを押します。
csrutil disable

csrutildisable


・・・その後Macを再起動していつも通り起動したら準備OK


2:rEFIndをダウンロードしてインストールする


sourcefogeからrEFIndをダウンロードしてインストールします。ターミナルコマンドの操作が必要なので正確に。間違えてもMacが壊れるようなことはありません。
pasted-image

https://sourceforge.net/projects/refind/ に移動し「Download」をクリック。ダウンロードが終わったら、ダウンロードフォルダに移動して、refind-bin-0.11.3.zip をダブルクリックして解凍します。
以下のような中身のフォルダがダウンロード以下にできたら準備OK。(フォルダ名の最後の数字は異なるかもしれません)
refind_contents

次にターミナルを起動します。
teminal

ターミナルで
cd ~/Downloads/refind-bin-0.11.3

と入力して return キーを押します。
refind_cd

その後
./refind-install

と入力して return キーを押します。
refind_install

[Password:]と出て、パスワードの入力を求められるので、Macにログインしているユーザーのパスワードを入力。以下のような感じで終われば成功です(成功してもまだ再起動しないでください)
refind_install_result


3:refind.conf を修正し、再起動


rEFInd のインストールが成功すると「EFI」というボリュームが接続されている状態になりますので、それを開きます。
refind_efi_contents

EFI の中にある EFI > refind > refind.conf をテキストエディタなどで開きます。
refind_config_place

「#spoof_osx_version 10.9」と書かれている行を探して先頭の「#」を削除し、保存します。
refind_confg_edit

あとは、Macを再起動すれば以下の画面になるのでWindowsを選択して起動してください。
bootselect

(システム環境設定で起動ディスクを選び直してしまうとrEFIndは無効化されてしまうので、refind-install からやり直してください)

なお、ドライバ類のインストールはWindows 10 RS4 (1803) ならば接続した状態で5分ほど放置すれば勝手にAMD Radeonのドライバまで導入してくれます。

付録)フリーズした時は?
WindowsでeGPUを使ってUSBドライブを接続してみたり色々していると、頻繁にフリーズします。そんな時はeGPUのThunderboltケーブルを抜いてみてください。画面が崩れるケースはありますが、とりあえずキー操作には反応するようになります。
どうしてもダメな場合は、右上の電源ボタンを10秒ほど長押ししてください。

補足:こちらの記事では、MacBook Proで動作するWindowsでeGPUをより快適に使えるようにする裏技を紹介しています。



旧型のMacでも使えるか?


僕が所有しているiMac Late 2012モデルでのみ確認したところ、macOS High Sierra 10.13.4 以後、マルチディスプレイ不可、Windows での利用不可という制限付きで使えました。

ただし、そのままでは利用できません。macOSの改造が必要で以下の操作を行います。

なお、別途Thunderbolt 3 変換アダプタ と Thunderbolt ケーブルが必要になりますので持っていない場合は購入してください。


旧型のMacで使う:作業の流れ


  1. macOSのSIP(System Intergrity Protection)を無効にする
  2. 「PurgeWrangler」というツールを実行
  3. Thunderbolt 3 変換アダプタ と Thunderbolt ケーブルでeGPUボックスをMacに接続


1:macOSのSIP(System Intergrity Protection)を無効にする


直前のrEFIndの導入で説明した通りです。すでに実施しているなら再度実施する必要はありません。まだ設定していない場合は、リカバリーモードでターミナル画面に移動し「csrutil disable」を実行してください。
csrutildisable


2:「PurgeWrangler」というツールを実行


PurgeWranglerのサイトにあるReleaseのページから「purge-wrangler.sh」というファイルをダウンロードしたあと、以下のコマンドをターミナルで実行します。

ようは「purge-wrangler.sh」に実行権を付与してコマンドを実行できるようにします。
$ cd Downloads
$ chmod +x purge-wrangler.sh
$ ./purge-wrangler.sh


実行後はPassword:と表示されるので、自分(管理者)のパスワードを入力してreturnキーを押します。

最終的に出てくる以下の画面で「1. Enable AMD eGPUs」を選択するには、1 を入力してreturnキーを押します。
purgewrangler_menu


途中 英語で「Enable Legacy AMD eGPUs? [Y/N]」と質問されますが、今回のRadeon RX580の場合はNoでもYes で問題ありません。n と入力してreturnキーを押します。

あとは、Macを再起動すれば準備完了。

Macの再起動で止まってしまう場合は、電源ボタン長押しでシャットダウンの後に起動すれば問題ありません。

3:Thunderbolt 3 変換アダプタ と Thunderbolt ケーブルでeGPUボックスをMacに接続


macOS High Sierra 10.13.4以降がインストールされたMacにThunderbolt 3 変換アダプタ と Thunderbolt ケーブルを使ってeGPUボックスをMacに接続してください。数秒待てば自動で認識されます。

conected_thunderbolt1


接続までが終わったら、自動でmacOSに認識され、メニューバーにアイコンが表示されるはずです。
enableegpu

ただ認識されるだけではアプリで有効にはならないので、「set-egpu」というコマンドでアプリ毎に有効化する必要があります。(次で説明)

macOSでアプリ動作をeGPU優先にする方法


「set-egpu」というコマンドでアプリ毎に有効化


macOS 10.13 世代でeGPUを正式サポートしましたが、アプリにeGPUを利用した描画を行わせるためには、eGPUに接続されたディスプレイで表示させる必要があります。しかし、内部コマンドで設定を変更することで、内蔵ディスプレイ上で表示されているアプリでもeGPUが使われるように変更できます。

eGPUをアプリごとに有効化する操作


GitHubにて公開されているスクリプトを利用します。
https://github.com/mayankk2308/set-egpu/releases にある「set-eGPU.sh」をダウンロードフォルダにダウンロードしてから、ターミナルで実行権を付けて実行してください。
(英語ですがサイトに手順は「Usage」に書かれています)

以下、実行権を付けて実行するまでの流れ
$ cd Downloads
$ chmod +x set-eGPU.sh
$ ./set-eGPU.sh


以下の画面が出てくれば成功です。

setegpu2

面倒なので「1. Set eGPU Preference for All Applications」を選んで、全てのアプリをeGPU優先にしましょう。少し時間がかかります。

ちなみに次のmacOS 10.14 Mojaveでは情報を見るウインドウで外部GPUを優先にするかどうかを簡単に変更できるようになっています。
setegpumojave



実際のベンチマークは?Thunderbolt接続のデメリットは?


eGPUは少し特殊な環境のため、グラフィックカードの本来の性能より少し低いベンチマーク結果になるようです。それでもMacBook Pro (2016)モデルなら、3Dソフトのベンチマークスコアは内蔵のものと比べて5倍以上になることもあります。

また、接続方法がThunderbolt3の場合、PCI Express 3.0 x16 と比較してデータ転送速度は3分の1程度(5GB/s と 16GB/s)になりますが、実際にゲームの初期設定でこの帯域を使い切ることはほとんどないためスコアには大きな差は出ません。
しかし、最新ゲームの場合は解像度やテクスチャの品質を高い設定にすると少しパフォーマンスに差が出るようです。

外部リンク:ビデオカードはPCI Express x16接続が必須かどうかを検証してみた

今回テストしたゲームはやや古いものですが、それでも
「グラフィックの質を落としても使い物にならなかったレベル」
だったものが
「最高レベルのグラフィックでも快適に遊べるようになった!」
といえる状態に改善されました。

※テストではできるだけグラフィックの質を最大にするようにしています。
解像度は最大解像度の半分くらいにしています。



iMac 27inch Late 2012 改 (旧式Thunderbolt = 10gbps)
macOS High Sierra(10.13.6)
■■■■ F1 2017 (Steam)■■■■
ビデオモード:
imac2012_f12017_videomode

グラフィック設定:
imac2012_f12017_graphics

※SSRTシャドウをオンにすると日本語が表示されなくなってしまうので、オフにしています。

ベンチマーク結果:ほぼ30fps
imac2012_f12017_result


■■■■ Tomb Raider (Steam)■■■■
ビデオモード:
imac2012_tombraider_videomode

グラフィック設定:髪の毛のクオリティを変更できない・・・
imac2012_tombraider_graphics


ベンチマーク結果:ほぼ30fpsです。テクスチャの質を落とせばゲームでは快適になります。
imac2012_tombraider_result


■■■■ Rise of Tomb Raider (Mac App Store)■■■■
ビデオモード:
imac2012_riseoftombraider_videomode

グラフィック設定:
imac2012_riseoftombraider_graphics


ベンチマーク結果:30fpsでは実際のゲームでは辛いのでテクスチャの質を落としましょう。
imac2012_riseoftombraider_result


iMac 27inch Late 2012 (macOS) 所感:画面解像度を上げると厳しくなる。エフェクトはかなり高いレベルまで利用可能。興味深いのは、2013年発売のTomb Raiderより2015年発売のRise of Tomb Raiderの方が複雑なグラフィックなのにより高いレベルでスムーズに動くという点。

余談だけどPS4コントローラーをmacOSに接続してRise of Tomb Raiderを起動すれば何もせずPS4と同じキー設定で遊べます。

MacBook Pro 2016
macOS Mojave(10.14 ベータ)
■■■■ F1 2017 (Steam)■■■■
ビデオモード:
macbook_macF12017_video

グラフィック設定:
macbook_macF12017_second_graphics


※私のMacBook Pro環境では「スモークシャドー」と「パーティクル」が変更不可能だったので、~/Library/Application Support/Feral Interactive/F1 2017/Preferences Data をテキストエディタで開いて初期設定ファイルの関連項目(DisableParticles、DisableSMAA)の設定を1から0に編集しました。恐らくは内蔵グラフィックではサポートされていないのだと思います。設定変更できない項目を見つけたら、同ファイルを開いて“Disable”で検索し、1となっているのを0にしてみましょう。
(ただし、その設定でゲームが起動しなくなることがあります)


ベンチマーク結果:
macbook_macF12017_second_result


■■■■ Tomb Raider (Steam)■■■■
ビデオモード:
macbook_mactombraider_video

グラフィック設定:
macbook_mac_tombraider_graphics


ベンチマーク結果:
macbook_mac_tombraider_result


■■■■ Rise of Tomb Raider (Mac App Store)■■■■
ビデオモード:
macriseoftombr_video

グラフィック設定:
macriseoftombr_graphicse

ベンチマーク結果:
macriseoftombr_result


MacBook Pro (macOS) 所感:解像度よりもエフェクトやテクスチャー品質が影響する。それでも最高レベルのグラフィックが再現可能

MacBook Pro 2016
Windows 10 1809 (RS5 Preview)
■■■■ F1 2017 (Steam)■■■■
ビデオモード:
winf12017_second_videomode

グラフィック設定:
winf12017_second_graphics

ベンチマーク結果:
winf12017_second_result


■■■■ Tomb Raider (Steam)■■■■
ビデオモード:
wintombraider_video

グラフィック設定:
wintombraider_graphics

ベンチマーク結果:
wintombraider_result


MacBook Pro (Windows) 所感:macOSよりもさらに高品質のグラフィック設定を行ってもフレームレートが落ちることはなかった。ちなみに内蔵ディスプレイでベンチマーク取る場合と外部ディスプレイで取る場合を比較すると、外部ディスプレイの方が若干高速に動作するようです。


結論:最新・大きいパソコンは不要だけどゲームは最新のものを楽しみたいなら購入する価値あり!
eGPUをオススメしたいのは、最新Macが高くて迷っている人やMacBook Proのオーナー。Macは全体的にGPUの性能が低いので、最新モデルでないとWindows PCに見劣りすることが多く、中古品ならなおさら手が出しにくかったりしますが、eGPUがあればそういった心配もしばらくは不要になります。

eGPUを1つ持っていれば、少し古いMacでも十分高品質な3Dゲームが楽しめるようになりますし、ゲームコントローラーもPS4のものがそのまま使えます。振動機能もゲームが対応していればOK※

BOOTCAMP環境での動作が保証されていないのが残念ですが、macOS対応ゲームはSteamに行けばそこそこ数がありますので、ちょっとしたストレス発散や気分転換したい人には絶対おすすめです。

※ゲームソフトの対応により異なります


2018/09/17追記:HDMI接続で4Kテレビから映像と音声が出力できることも確認。Radeon RX580では、なぜか2つ目のHDMIポートでないと映像が出ませんでした。
hdmi_4ktv