サイトアイコン Boot macOS

Radeon RX 5700を使う

macOS Catalina 10.15.1からAMD Radeon RX5700シリーズがサポートされました。それでRX 5700 XTを使ってみたところ動きました。最新のWhateverGreen.kextが必要です。でも現状のmacOSでは性能を活かし切れていないようです。

話題のRX 5700/5700XT

AMDのグラフィックスカードRadeon RX 5700シリーズは、7nmプロセスで製造され、新設計のNaviアーキテクチャを採用しています。プロセッサ数はRadeon RX Vega 64より少ないですが、下表のようにVega 64より性能が良いとのことです。その上、消費電力は少なく、安価な設定です。ただ、Vega 64は発売時に比べたら暴落しているので、実売価格は逆転しています。

5700 XT 5700 Vega 64 580
構造 Navi(RDNA) Navi(RDNA) Vega Polaris
線幅 7nm 7nm 14nm 14nm
CU数 40 36 64 36
SU数 2,560 2,304 4,096 2,304
ROP数 64 64 64 32
クロック数 1,605MHz 1,454MHz 1,274MHz 1,257MHz
メモリ GDDR6 GDDR6 HBM2 GDDR5
消費電力 225W 185W 295W 185W
4K性能 56.0fps 51.3fps 47.5fps 31.2fps
価格 49,784円 43,843円 33,131円 23,441円

(「4K性能」はgpucheck.comの比較結果です。)

5700シリーズは優れた製品なので、Radeon派のWindowsユーザからは、久々にAMDが良い製品を出してくれたと、高い評価を受けています。この人気GPUが、macOS Catalina 10.15.1から正式にサポートされました。Sonnet社の互換GPUリストにも早速登場しています。

macOSで使えるGPUMacのThunderbolt 3コネクタに接続する外部GPUボックス を販売しているSonnet社が、macOS 10.15.1以降と互換性のあるグラフィックスカードの一覧を以下のPDFファイルで公開しています。各ブランドごとの多数のモデルを掲載しています。Sonnetの外部GPUボックスは、AppleのExternal Graphics Development Kitにも採用されているほぼ純正みたいな存在です。なので、このリストで互換性があるとされたグラフィックスカードは、Hackintoshで、そのまま動くカードと考えて良いです。市場に出回っている多数の製品に対して互...
Sonnetの互換GPUリスト (10.15.1以降) - Boot macOS

そこで、リファレンスファンモデルのRX 5700 XTをmacOSで動かしてみました。GPU用水冷ブロックは、ほぼリファレンスファンモデル用しか用意されないので、将来水冷することを考えるとリファレンスモデルが欲しいところです。しかも、オリジナルファンモデルのグラフィックスカードが出回ってくるとリファレンス版の流通は無くなってしまいます。実際、現在は入手困難です。


Sofmap.com RX5700XT-8G (品切れ)

でも、水冷のことを考えなければ、現在流通している空冷性能の良いオリジナルファン版が良いと思います。

Catalinaで動かす

macOS 10.15.1で正式サポートされたので、特に問題なく動きます。ただ、WhateverGreen.kextは最新版の1.3.4を使う必要があります。また、Cloverの起動オプションに

agdpmod=pikera

を追加する必要がありました。環境によってはこのオプションが無くても動くこともあるようです。ちなみにこのオプションは、WhateverGreen.kextのもので、解説によると

AppleGraphicsDisplayPolicy.kextは、その中のInfo.plistをチェックして特定のboard-idに対してどのモードを使うか決定します。どのモードが良いかはGPUに依存し、試してみるしかありません。WhateverGreenはいく通りかの方法で電力管理モードを設定します:

system board-idのConfigMap dictにnoneを書き込むパッチ (agdpmod=cfgmap)
文字比較を無効にするパッチ (agdpmod=vit9696, デフォルトで有効です)
board-idをboard-ixで置き換えるパッチ (agdpmod=pikera)

と書いてあります。Catalinaではこのkextは見つからないので、おそらくは、

/System/Library/Extensions/AppleGraphicsPowerManagement.kext/Contents/Info.plist

に書かれているsystem board-idと関係するのだと思います。このInfo.plistには、それぞれのボードIDに対して、どのように電力管理するかが書かれている様子です。このInfo.plistを見ていると、いろいろ面白いです。今年発売と思われているMacPro7,1のIDと言われるMac-27AD2F918AE68F61の項目に、Radeonシリーズの機種IDが複数書き込まれています。このInfo.plistが示す内容が何なのか不明ですが、いずれにしても、WhateverGreenのこのオプションは、特定機種に対する設定を無効にするパッチ手段を選ぶオプションのようです。

動作確認

agdpmod=pikeraを起動オプションに追加するだけで問題なく動いています。システム情報を見ると上のようでした。機種IDが0x731fです。これは先ほどのInfo.plistには書かれてません。(RX 580などは書かれています)サポートが今後改善されれば追加されるのかもしれないです。

ベンチマーク

Geekbench 5を使ってベンチマークし、スコアをSapphire Pulse Radeon RX 580と比較します。まずはOpenCLとMetalのスコアを以下に示します。

RX 5700 XT RX 580
OpenCL 45299 45106
Metal 39554 44843

OpenCLスコアは、僅差ですがRX580より多少良いスコアでした。しかし、Metalのスコアでは、なんと格安のRX 580に負けてしまいました。Windows環境ならばRX 5700 XTの方がずっと性能が高いはずです。上で紹介したgpucheck.comによると、5700 XTは580に比べて1.7倍くらい性能が上です。なので予想しなかった結果となりました。でもGeekbenchの結果が登録されるGeekbench Browserで検索してみたところ、macOS上のRX 5700 (XT)スコアは今回の結果と同程度のようでした。またネット上にも、macOSではあまり性能が出ない話を見かけます。今後のmacOSバージョンで改善されると期待したいです。

まとめ

Radeon RX 5700シリーズはmacOS 10.15.1以降で容易に動かすことができます。ただOpenCLベンチマークスコアではRX 580と差がなく、Metalでは負けてます。今後のmacOSバージョンアップで性能向上が期待できますが、現状ではRX 580/590で十分だと思いました。Windowsとデュアルブートする場合は、Windowsで性能が出せてmacOSでも使えるGPUとして価値があるかと思います。

モバイルバージョンを終了