SAPPHIRE NITRO+ RADEON RX 580を使う (10.13.4以降)

10.13.4では、Radeon搭載のThunderbolt 3接続外部GPUボックスが正式サポートされました。これにより、AMDグラフィックスカードの互換性が向上して、今まで以上に簡単にHackintoshで使えるようになりました。

10.13.3以前のmacOSでSAPPHIRE NITRO+ RADEON RX 580を使ったRadeon RX 580を使う方法を以下の記事で紹介しました。お勧めしませんが、どうしても10.13.3以前のmacOSを使いたい場合はこちらを参考にしてください。

上記の記事では、kextを使用したり、config.plistに設定を書いたり、kextにパッチを当ててモデル名を書き換えたりしました。10.13.4では、これらの作業が全て不要になりました。結論として、SAPPHIRE NITRO+ RADEON RX 580は、箱から出してそのまま挿せば、なんの設定もしなくてもHackintoshで動作させることができます。

以下は、上の古い記事を、10.13.4に合わせて書き直したものです。

AMDから1枚を選ぶ

Hackintoshのためのグラフィックスカード選び方に関してこの記事で紹介しました。

また、Appleが外付けGPUボックスでサポートするAMDのデスクトップ向けグラフィックスカードは、こちらで紹介しました。

これによると、Polaris, Vega 56, Vega 64の3種類のアーキテクチャがサポートされているようです。具体的なチップは、以下です。

  • AMD Radeon RX 570, 580, 470, 480, Radeon Pro WX 7100
  • AMD Radeon RX Vega 56
  • AMD Radeon RX Vega 64, Frontier Edition Air, Radeon Pro WX 9100

これらを使えば、macOS Sierra 10.12.6からHackintoshで実用的に使用できるようになり、さらに、macOS High Sierra 10.13.4以降では箱から出してそのまま動作します。

SAPPHIREを選ぶ

Appleのサポートページでは、RX 570/580 GPUを使った推奨グラフィックスカードとしてSAPPHIRE PULSEシリーズが紹介されています。SAPPHIREは、AMDのグラフィックスカードだけを長年手がけていて、供給も安定している印象があります。そういう実績を評価してか、Appleが販売しているVR開発者用キットであるExternal Graphics Development Kit では、 SAPPHIRE PULSE RADEON RX 580が搭載されています。PULSEを入手できれば、10.13.3以前のmacOSであっても互換性が高いです。ただ、このカードは、すでに販売中止になっていて、入手が困難です。

PULSEの後継機種は、オーバークロックされたNITRO+です。これなら入手は容易です。また、10.13.4からは、NITRO+でもPULSE並みの互換性が確保されるようになりました。そこで今回は、SAPPHIRE NITRO+ RADEON RX 580 8Gを選びました。SAPPHIRE以外のブランドのカードでも、次に紹介するSONNETの資料によると、問題なく動くようです。ただ、Appleが採用・言及しているブランドですので、マザーボードブランドに合わせて見た目を揃えたいというように、特に選びたいブランドがなければ、HackintoshにはSAPPHIREを選んでおくのが無難かと思います。

SAPPHIRE以外の選択

Sonnet社が、同社のThunderbolt 3接続外部GPUボックスで使う各社グラフィックスカードの互換性リストを公開しています。

これから推測すると、10.13.4ではSAPPHIRE以外のメーカのカードも問題なく使用できるようです。そして、互換性の有無は、搭載しているGPUチップで決まるようです。このリストの内容をまとめると、以下のようです。

  • RX 470, RX 480, RX 570, RX 580はどのメーカ製品も互換性あり
  • RX Vega 56/64はどのメーカ製品も互換性あり
  • RX 460/550/560は互換性なし
  • R9 NANO/FURY は互換性なし
  • WX 5100は非互換で、WX 7100, WX 9100は互換性あり
  • NVIDIA GeForce は互換性なし

RX 460, 550, 560などは価格が安く入手しやすいですが、この資料では互換性が無いとされています。実際に、Hackintoshで使った場合に、スリープからの復帰などで問題が出ることが報告されています。RX 460, 550, 560は避けた方が良いようです。

NVIDIAからの乗り換え方法

実はこれまでNvidia Geforceを使っていました。大昔はAMDを使っていましたが、macOSとの互換性が悪くなって、最近は、ずっとNvidiaでした。NVIDIAからAMDに移行するためには、NVIDIAのために入れていたWebドライバやkextやconfig.plistの設定を外します。

まずは、/Library/Extensions/に導入されたWebドライバをアンインストールします。Webなんとかという名前のkextが複数ありますので、それを消せば良いです。また、iMacのretinaディスプレイの回路を回避してブラックスクリーン発生を防いでくれる機能があるNvidiaGraphicsFixup.kextを入れている人も多いと思いますが、これも外します。また、config.plistでNvidiaWebドライバを有効にしていた所もfalseにします。もしくは、この部分を全部削除してもかまいません。

        <key>SystemParameters</key>
        <dict>
                <key>NvidiaWeb</key>
                <false/>
        </dict>

RADEONを動かす

ここでシステム終了して、NVIDIAを使っていた場合はそれを外し、Radeon RX 580に差し替えます。

初期化の問題(10.13.3以前で発生)

AppleのThunderbolt 3外付けGPUボックスでは、外部グラフィックスカードがプライマリディスプレイになることはありません。そのため、Hackintoshでグラフィックスカードをプライマリとして使用すると、初期化の問題が10.13.3以前では発生しました。この問題に対応しないと起動しても画面が表示されませんでした。しかし、10.13.4ではその問題がなくなり、差し替えて、電源を入れるだけで画面表示されます。

10.13.3以前では、

  • Radeonカードをセカンダリで起動する。例えばマルチスクリーン環境にして内蔵GPUをプライマリにする。
  • kextやDSDTにパッチを当てて初期化をさせないようにする。
  • これに相当する作業をWhateverGreen.kextとLilu.kextの組み合わせで実施する。
  • CloverのRadeonDeInit機能で初期化を阻止する

のいずれかの手段で初期化問題を回避していました。しかし、これが必要なくなりました。むしろ副作用が出る可能性もあります(10.13.4でRadeonDeInitを使うとノイズが出ました)ので、元の状態に戻すのが良いです。

モデル名の誤表示(10.13.3以前で発生)

10.13.3以前ではSAPPHIRE PULSEシリーズ以外のカードで、名前が正しく認識されない問題もありました。これは表面上のことで、性能や互換性には関係しないと言われています。見た目にこだわる場合は、対応するkextにパッチを当てることで表示名を変更できました。しかし10.13.4では、NITRO+カードも「システム情報」などで正しい名前が表示されます。

f:id:siroanko:20180403122858p:plain

OpenCLスコアの劣化(10.13.4でも発生)

Geekbench 4でのOpenCL Scoreは145000前後です。他でも報告されている程度の妥当な成績なので、正しく設定できていると思います。しかし、しばらく使用していると性能が低下して、ベンチマークスコアが50000くらいになってしまうことがあります。色々試して見たところ、Intel CPU内蔵GPUをマザーボードの設定で無効にしていると性能低下が発生するようです。内蔵GPUはセカンダリーに設定して使用しない場合でも、有効にしておくのが良いようです。(この性能低下問題はMojaveでは発生しなくなりました。しかし内蔵グラフィックスを無効にするとJPEGファイルがクイックルックやプレビューで開けないようです。内蔵グラフィックスは有効にしておくのが良いようです。)

Safari動画再生の停滞(10.13.4でも発生)

Intel CPU内蔵GPUをマザーボードの設定で有効にすると、今度は別の問題が発生することがあります。NITRO+では、SafariでYoutubeなどの動画を再生すると、再生がカクカクして滞ったり、場合によってはハングすることが発生しました。Google Chromeでは問題が出ません。この不具合は、CPU内蔵GPUを無効にすれば解決しますが、上記で述べたような性能低下が発生します。

以前、Intel HD Graphicsを使って同様な不具合が発生した経験があり、その時は、IntelGraphicsFixup.kextとLilu.kextの組み合わせで解消しました。今回も、これで改善しました。ただし、IntelGraphicsFixup.kextとLilu.kextは最新版を使うのが良いです。古いバージョンだと改善しません。

ということで、Radeon GPUを正しく動作させるために10.13.4であっても

  • Intel CPU内蔵GPUは有効にしておく
  • IntelGraphicsFixup.kextを使う

のが良いようです。

更新: RX 480/470がサポートされたことを追記しました。2018/4/16

10件のコメント

  1. 今日GV-RX570をこれをみて衝動買いしてしましました。GTX-760をこれに付け替え本当に何もしないで動きました。
    GTX760はWebDriverだとファイナルカットがさっぱりで標準ドライバーだとちゃんと動作していましたが、前からRADEONファンだったので5750からの復活です。
    ありがとうございました。

  2. 情報ありがとうございます。Gigabyte(ですよね)も問題ないのですね。よかったです。

  3. GigabyteのRX570に続いて
    に家に転がっていたHD7850(sapphire製)を挿して起動10.13.4だと何もしなくて起動AMD Radeon HD 7xxx 2048MBで認識、ただファイナルカットのアクセレーションはだめぽい(レンダリングが遅い、もう少し検証必要)でも挿すだけで動作、ちょっとうれしい。
    過去のRadeonどこまで動くのか

  4. HD7850ファイナルカットのアクセラレーション動作していました。どうもすいません訂正します。
    RX4xx持ってないけど動きそう。AMDの時代が来た感じです。

  5. 興味深い情報ありがとうございます。下のリンクを見るとRadeon HD 7800シリーズは、もともとはちゃんと動くカードだったようです。最近のmacOSでは、起動時に動かなくなるという話だった気もします。10.13.4でまた昔のように使えるようになったということでしょうか。
    https://www.reddit.com/r/hackintosh_ja/comments/366bfu/

  6. 私がNvideiaに逃げた理由が、OSのリビジョンアップ起動時デスクトップが表示される瞬間にブラックアウトになることと、当初Flash動画の再生でノイズだらけになる不具合(MACOSのみ)で、倉庫番になりました。
    RX580等で10.13.3以前と同様のことをしないといけなかったのが、他のAMDのカードでも必要なくなった。と書けばよかったのですね。
    以前のAMDカードでもフレームバッファーの指定等しなくて使用できる。内蔵のVGAのセカンダリー設定等しなくていいことが、10.13.4以降の利点のように思います。

  7. 初めまして、Nitro+とHackintoshの検索からやってきました。
    いつも大変参考にさせていただいています。
    解決できないことがあり、書き込みさせていただきます。
    intelcpuのHD4600で通常稼働していたマシンに、RX570 Nitro+が手に入ったため
    のせてみたところ、
    1.BIOS で 内蔵GP on の状態で、起動すると、Clover まではRX570に接続したディスプレイに表示され、OSのログイン画面は内蔵出力からになり RX570はハードウエア上で認識しているがブラックアウトのまま。マルチディスプレイの項目も出ません。
    Cloverのグラフィックの項目は インテル、ATI、ATI初期化で起動しています。
    2.BIOSで 内蔵のIGP をOFFにすると、途中からブラックアウトしたままです。

    RX570の中古だったのでwindows10で起動するも、異常はなく、BIOSの書き換えもなされていないようでした。
    MACOSは10.15.3です
    Nitroだからダメってこともないと思うのですが、どこか、設定項目がまずいのか。
    WhateverGreen.kextとLilu.kextは、EfiのKext Otherに入れています。入れる場所間違っているでしょうか?

    1. Nitroで問題なく動くはず(手元では動いています)と思います。WhateverGreenが入っていればconfig.plistのグラフィック関連は何も設定せず、InjectもATI含めて全部falseにしておきます。

  8. 修正(RX570の中古だったので)→(RX570の中古だったので故障を疑い、)

  9. 昨日、試しにほかのRX570で稼働中のHackintoshマシンからRX570を外し
    今回のNitroと交換してみると、全く問題なく動作します。
    つまりグラフィックボードに異常はないとおもわれ、外したボードを、動作しないマザボに取り付けると、やはり真っ黒画面の同じ症状に。GIGABYTEのH87マザーですが、よくよく考えると、Mojaveインストール時もIGP使用でも完走できず、ほかのマシンでインストールしたSSDをつないで何となく動作しちゃった感じで動いたような経緯があり、よくよく海外のサイトを調べると、もしかしたらこのマザー特有のメモリ管理に問題があるのかもという結論に至りました。お騒がせいたしました。

返信を残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です