macOSのためのGPUの選び方

CatalinaのためにどのGPUを選んだら良いかという記事がありましたので抄訳して紹介します。また、その後のmacOSでNaviシリーズがサポートされたので、この情報を追記しました。結論は、AMDならばRadeonの

  • RX 6600, RX 6600 XT, RX 6800, RX 6800 XT, RX 6900 XT
  • RX 5500, RX 5500 XT, RX 5600, RX 5600 XT, RX 5700, RX 5700 XT
  • RX 460 / 560 / 470 / 570 / 480 / 580 / 590
  • RX Vega 56 / 64 / VII

を、Nvidiaならば

  • Kepler シリーズ (GTX 6xx, 7xx など)

が動きます。ただし、MontereyからKeplerシリーズは動かなくなりました。古いmacOSからドライバを持ってくることで動かすことは可能です。


(ここから抄訳)

NvidiaとWebDriverの現状

WebDriverが使えなくなった状況のままMojaveからCatalinaに移行しそうです。おそらくはこのあと、MojaveでもCatalinaでもWebDriverはサポートされないと思われます。ただしKeplerベースのGPUを使っているユーザは引き続きmacOSネイティブのドライバが利用できます。

なぜWhateverGreenが必要なのか?

macOSがネイティブにサポートするグラフィックスカードなのに、なぜWhateverGreenとLiluを使う必要があるのでしょうか?その理由は、PCとMacの内部配線が異なるため、Hackintoshでうまく機能しないためです。これを回避するために、デバイスの名前変更、フレームバッファ接続、オーディオコネクタのパッチ適用、ACPIを介したaty_config、cail_propertiesの変更などが必要です。WhateverGreenとLiluがこれらの作業を行ってくれます。内部構造に詳しい人達によってWhateverGreenは開発され、必要に応じてアップデートされていますので、これを使用しない理由はありません。以下の推奨カード、iGPUのすべてでWhateverGreenとLiluを使ってください。

そのほかに知っておくべきこと

  • macOSはSLI、Crossfire、複数コアGPU (Radeon Pro Duo)のいずれもサポートしていません
  • HDMI / DisplayPortを介して音声出力するには、AppleALC.kextとその他のIO-REG編集が必要になる場合があります
  • GPUオーバークロックができるのはVega 10 GPUだけです(PyVegaというツールが必要)
  • サポートされているGPUとサポートしていないGPUを併用するとスリープやその他の機能が中断される問題があります。詳細については、GPUを無効化するためのガイドを参照してください。

動くAMD GPU

Navi シリーズ

  • Catalina 10.15.1からRX 5500, 5600, 5700シリーズがサポートされました。
  • Big Sur 11.4からAMD RX 6800, RX 6800XT, RX 6900XTがサポートされました。
  • Monterey 12.1からAMD RX 6600, 6600 XTがサポートされました。

Naviシリーズでは以下の GPUがネイティブにサポートされています。ただし起動オプションに、agdpmod=pikeraを追加する必要があります。

  • AMD Radeon RX 6600, RX 6600 XT, RX 6800, RX 6800 XT, RX 6900 XT
  • AMD Radeon RX 5700, RX 5700 XT, RX 5700 XT 50th Anniversary
  • AMD Radeon RX 5600, RX 5600 XT
  • AMD Radeon RX 5500, RX 5500 XT

Vega 20シリーズ

MojaveからVega 20シリーズのGPUがネイティブにサポートされています。すなわち

  • Radeon VII

が動きます。

Vega 10シリーズ

High SierraからVega 10シリーズのGPUがネイティブにサポートされています。すなわち

  • Vega 56
  • Vega 64
  • Vega 64 Liquid
  • Vega Frontier Edition
  • Radeon Pro WX 9100
  • Radeon Pro WX 7100

が動きます。Vega 10で避けるべきGPUブランドはXFXとSapphireです。ビデオBIOSとmacOSの互換性に問題があるようです。

Radeon 400/500 シリーズ (Polaris)

PolarisはmacOSによりネイティブにサポートされています。以下のシリーズです。ローエンドのRX550はPolarisではなくLexaコアなのでmacOSでサポートされていません。Polarisシリーズで避けるべきGPUブランドはXFXとASRockです。これもビデオBIOSとmacOSの相性に問題があります。解決できたという報告もありますが駄目なこともあるようです。避けたほうが無難です。

訳注:コメントいただいた内容によると、以下の状況でASRockが問題なく使用できたそうです。ASRock, Phantom Gaming D RX580、macOS 10.15.4 、Metal: 対応、機能セットmacOS GPUFamily2 v1、CPU: Core i7 2600K、RAM: DDR3 32GB、M/B: ASUS MAXIMUS V GENE。またフォーラムでもASRockのRX 580が動いた報告をいただいています。ASRockを避ける必要はどうやら無いようです。)

  • RX 460/560/560X
  • RX 470/570/570X
  • RX 470D
  • RX 480/580/580X
  • RX 590
  • WX 2100
  • WX 3100
  • WX 4100
  • WX 5100

GCN 3 以前のカード

GCN 3以前のカードは、CatalinaでMetalをサポートすると思われますが、一部のカードは動かない可能性もあります。おそらくHD 7XXXシリーズ以降のGPUはMetal互換ですが、Catalinaでの動作確認はされていません。

Radeon R9 3xx (Fiji)

FijiもCatalinaでサポートされるとは思われます。しかし報告がありませんのでR5およびR7カードの成功を保証することはできません。また、リファレンスデザインと違うカードでは、macOSで動かすために多くの作業を必要とする場合があります。という条件のもとで、サポートされているカードは以下です。

  • R7 240
  • R7 250
  • R9 260/360
  • R7 260x/360x
  • R7 265
  • R7 270/370
  • R9 270X/370X
  • R9 280/380
  • R9 280x/380x
  • R9 290/390(FakeID が必要)
  • R9 290X/390X
  • R9 390(FakeID が必要)
  • R9 Nano
  • R9 Fury
  • R9 Fury X

動かないAMD GPU

Navi シリーズ (RX 5000)

macOSにはNavi用ドライバがありません。このカードが入っているとスリープなどの機能に支障をきたします。その場合は、サポートされていないGPUを無効化にするためのガイドを参照してください。以下のカードはサポートされていません

訳注:「動くAMD GPU」のセクションに追加したように、Catalina 10.15.1から元記事で紹介されている以下のカードは動きます。

  • RX 5700
  • RX 5700 XT
  • RX 5700 XT 50th Anniversary Edition

Lexa シリーズ (RX 400/500)

Polaris GPUに似た型番ですが、全然異なり、どのバージョンのmacOSもサポートしていません。これもスリープ機能などで問題を引き起こしますので、併用する場合は、サポートされていないGPUを無効化にするためのガイドを参照してください。以下のカードはサポートされていません

  • RX 540/X
  • RX 550/X

動くNvidia GPU

Kepler シリーズ (GTX 6xx, 7xx)

KeplerシリーズはCatalinaで動作する唯一の100%ネイティブのNvidiaカードです。このうちGTX 650Ti、660、660tiで問題が報告されていますが、これはmacOSがGK106コアをサポートしていないことが原因です。(訳注:コメントでいただいた情報によると、Mojave,Catalina環境では、GK106のバグは直されたようで、問題なく動くようです。)

もう一つの注意点は、初期の製品には、FermiコアなのにKeplerコアと紛らわしい型番のローエンド製品があることです。また後期の製品のうち、GTX 745、750、750tiはKeplerではなく次世代のMaxwellですので注意が必要です。(訳注こちらのページを見ると、どの製品がどのアーキテクチャなのかわかります。コア名がGFなのがFermi, GKなのがKepler, GMなのがMaxwellです。GKの製品を選べば良いです。 )

動作するカードは以下です。

  • GTX Titan (GK 110 Maxwell core)
  • GTX Titan Black (GK 110 Maxwell core)
  • GTX Titan Z (macOSでサポートされている数少ないデュアルGPUの一つ)
  • GTX 780/Ti
  • GTX 770
  • GTX 760/Ti
  • GT 740
  • GT 730 (GK208 variant)
  • GT 720
  • GT 710
  • GTX 690 (macOSでサポートされているもう一つのデュアルGPU)
  • GTX 680
  • GTX 670
  • GTX 660Ti
  • GTX 660(MUST BE RUNNING A GK 104 core, NOT GK 106)(訳注:GK 106もokらしい。)
  • GTX 650(GK 107 core)
  • GT 640(Kepler edition, GK 107/208 core)
  • GT 630(Kepler edition, GK 107/208 core)
  • Quadro 410
  • Quadro K420
  • Quadro K600
  • Quadro K2000/D
  • Quadro K4000/D
  • Quadro K4200
  • Quadro K5000
  • Quadro K5200
  • Quadro K6000

動かない nVidia GPU

Turing シリーズ (GTX 20xx, 16xx)

以下のカードはどのmacOSでも動きません

  • Titan RTX
  • RTX 2080/Ti
  • RTX 2070
  • RTX 2060
  • GTX 1660/Ti
  • GTX 1650/Ti
  • Quadro RTX 4000
  • Quadro RTX 5000
  • Quadro RTX 6000
  • Quadro RTX 8000

Volta シリーズ

以下のカードもどのmacOSでも動きません

  • Titan V
  • Titan V CEO Edition
  • Quadro GV100

Pascal Series (GTX 10xx)

PascalとMaxwellのサポート状況についてはみなさんご存知と思いますが、簡単に繰り返します。MojaveとCatalinaではサポートされていませんが、High Sierra 10.13.6以前ならばNvidiaのWebDriverとWhateverGreenの組み合わせで動きます。この条件で動くカードは以下です。

  • GTX Titan X(GP 102-400 Pascal core)
  • GTX Titan Xp(GP 102-450 Pascal core)
  • GTX 1080/Ti
  • GTX 1070/Ti
  • GTX 1060
  • GTX 1050/Ti
  • GT 1030
  • Quadro P400
  • Quadro P600
  • Quadro P620
  • Quadro P1000
  • Quadro P2000
  • Quadro P4000
  • Quadro P5000
  • Quadro P6000
  • Quadro GP100

Maxwell シリーズ (GTX 9xx, 745, 750 とその ti版)

GTXでは900番台がMaxwellです。ただ、GTX 745, 750, および750tiは型番が紛らわしいですがMaxwellベースです。MaxwellシリーズもPascalと同じ状況です。つまり、以下のカードは、High Sierra 10.13.6以前ならばNvidiaのWebDriverとWhateverGreenの組み合わせで動きます。

  • GTX Titan X(GM 200 Maxwell core)
  • GTX 980/ti
  • GTX 970
  • GTX 960
  • GTX 950
  • GTX 750/ti
  • GTX 745
  • Quadro K620
  • Quadro K1200
  • Quadro K220
  • Quadro M2000
  • Quadro M4000
  • Quadro M5000
  • Quadro M6000
  • NVS 510

Intel CPU 内蔵 GPU

iGPUを動かすために、FrameBufferパッチを適用する必要があります。また、Pentium、Celeron、Atom CPUに存在するiGPUは、ネイティブにサポートされたことがなく、かなりの作業が必要になるため、除外します。

Westmere i3/5/7-xxx

単にHD Graphicsと呼ばれていたiGPUです。High Sierra 10.13.6までのmacOSで動きます。残念ながらMojaveではサポートされなくなりました。古いkextを使って無理やり動かすことは可能です。

Sandy Bridge i3/5/7-2XXX

HD 2000, HD 3000です。これもHigh Sierra 10.13.6までのmacOSで動きます。残念ながらMojaveではサポートされなくなりました。古いkextを使って無理やり動かすことは可能です。

Ivy Bridge i3/5/7-3XXX

HD 4000に関しては、Catalinaで完全にネイティブに動きます。一方、HD 2500に関しては、Mojaveで一部分しかサポートされず、Quick Sync機能がサポートされていません。

Haswell i3/5/7-4XXX

以下のiGPUです。ほとんどがCatalinaでネイティブに動きます。ただHD4400だけは、DeviceID改変 + FakePCIID.kext + FakePCIID_HDGraphics.kextが必要か、もしくは、APCIパッチが必要です。

  • HD 4200
  • HD 4400(FakeID が必要)
  • HD 4600
  • HD 5000
  • HD 5100
  • HD P4600(動くはず)
  • HD P4700(動くはず)

Broadwell以降のiGPU

以下のiGPUです。すべての動作報告が得られているわけではありませんが、Catalinaで使えると考えられます。

  • HD 5300
  • HD 5500
  • HD 5600
  • HD 6000
  • HD 6100
  • HD 6200
  • HD P5700(動くはず)
  • Iris Pro P6300

Skylake i3/5/7-6XXX

以下のiGPUです。すべての動作報告が得られているわけではありませんが、Catalinaで使えると考えられます。

  • HD 510
  • HD 515
  • HD 520
  • HD 530
  • HD P530
  • Iris 540
  • Iris 550
  • Iris Pro 580
  • Iris Pro P555
  • Iris Pro P580

Kabylake i3/5/7-7XXX

以下のiGPUです。すべての動作報告が得られているわけではありませんが、Catalinaで使えると考えられます。ただし、Pentium G4560に搭載されているHD 610は動きません。

  • HD 615
  • HD 620
  • HD 630
  • Iris Plus 640
  • Iris Plus 650

Kabylake refresh/ Coffeelake i3/5/7-8XXX/9XXX

以下のiGPUです。すべての動作報告が得られているわけではありませんが、Catalinaで使えると考えられます。ただし、i3 8100と8350Kはそれ以外のCPUとは違うUHD 630を使用しています。

訳注:対応方法はこちらをご覧ください。)

  • UHD 610
  • UHD 620
  • UHD 630
  • Iris Plus 655

早い話、何を買ったら良いの?

現時点でお勧めできるカードはAMDのPolaris(Rx 4xx, 5xx) 以降だけです。AMDのGCN 3以前とNvidiaのKeplerのような古いカードも動きますが、いつサポートを打ち切られるかわかりません。なので以下がお勧めカードです。リファレンスカードが一般的に安全です。XFXは避けたほうが良いです。

  • RX 460/560
  • RX 470/570
  • RX 480/580
  • RX 590
  • RX Vega 56
  • RX Vega 64
  • Radeon VII
  • RX 5500, RX 5500 XT, RX  5600, RX 5600 XT, RX 5700 / 5700 XT
  • RX 6800, RX 6800XT, RX6900XT

(抄訳おわり)


Redditの反応

この元記事に関してredditでいくつかコメントがありました。

VegaではXFXとSapphireを避けるべき?

これに対するコメントは以下のようでした。

  • SapphireブランドのVega 56を使っているが問題は無い
  • XFXブランドのVegaは明らかに避けた方が良い
  • SapphireブランドのVegaは快調に使えている報告もあるがトラブっている報告もある。トラブルは厄介で解決したという報告は稀。
  • Vegaを買うならMSIかASUSが良い。Gigabyteも良さそうだけどあまり出回っていないためか2件しか動作報告が無い。

Radeon VIIのブランド毎の違いはある?

これに対するコメントによると、「Redeon VIIは全てAMDが作っているリファレンスカードで、VBIOSのソースコードも提供されていない。そのためどのブランドのカードも同じもの」なのだそうです。