ASRock Z690 Steel LegendとAlder Lake-SでmacOSを動かす

Intelの第12世代CPUになるAlder Lake-Sシリーズが発売されました。今までになく高性能になったと評判です。macOSではサポートされていないCPUですが、Montereyで安定して稼働しました。Radeon RX 6600XTと組み合わせると、M1 Maxをちょっとだけ超える性能が得られます。

ASRock Z690 Steel Legend WiFi 6E

Z690マザーボードにはASRock Z690 Steel Legend WiFi 6Eを選びました。WiFiの付いていないASRock Z690 Steel Legendも同様に使用できます。違いはE key M.2に802.11ax Wi-Fi 6E モジュールIntel AX210NGWが搭載されているかどうか、アンテナ端子とアンテナ配線がされているかどうかだけです。現時点の価格.comでの両者の価格差は550円程度ですので、WiFiモデルを買うのが得策だと思います。AX210NGWを置き換える場合でもアンテナ配線が不要なので楽です。

このマザボを選んだいちばんの理由は、PCIeスロット数が多いことです。5本あります。これだけの拡張性は、実機では高価なMac Proでしか得られないので貴重です。Z590に引き続き、端正な見た目のASRock Z690 Extremeにしたかったのですが、ExtremeはZ690になってPCIeが1本減ってしまいました。Steel Legendは、Z590バージョンと同じスロット数を確保してます。Steel Legendの見た目のデザインは、ゴテゴテしてて好みでは無いのですが、機能重視で選びました。グラボの邪魔にならないバックパネル側に、PCIe x 1スロットがあるのも良いです。SSD用ヒートシンクの角を削って、多少見た目が悪くなっても、ここにPCIeを1本確保しようという設計者の機能性重視な心意気が気に入りました。

E keyのM.2ソケットが、マザーボード上のアクセスしやすい場所にあります。多くの歴代ASRockモデルと同様に、これもCNVi専用ソケットではありません。なのでmacOSと互換性が高く、OOBで稼働するBCM94360NGを取り付けることができました。PCIe用のWiFiアダプタを使用しなくて済むので、PCIeスロットの節約にもなります。

メモリはDDR4です。DDR5を試したかったのですが、メモリーが入手不可能な状態なので現状ではDDR4対応マザーボードしか選択肢がありません。

Alder Lake-S 12700K

今回発売されたAlder Lake-S CPUは、12900, 12700, 12600のKとKFモデルです。どれを使用してもmacOSは稼働するようです。macOSで動作させた場合の12900Kと12700Kの性能を、Geekbench Browserの結果で比較すると、12900Kの方が、12700Kより数%程度高性能です。

とはいえ、後述するようにmacOSでは実質的にEコアが使えないので、Pコア数の同じ両者に大きな性能差は出ません。価格差は大きいので、12700Kの方がコスパは高いです。今回は、「M1 Maxにギリギリ勝てる」構成を目指して12700Kにします。(追記:OpenCore 0.7.7からは全コア全スレッドが使用できるようになり、12900Kの優位性が向上します)

macOSではAlder Lake-SのiGPUは使えませんし、今後使えるようになる見込みもありません。そもそもmacOSがサポートしている第10世代CPUのiGPUも、自作マシンではなかなか安定せず使いにくかったです。なのでiGPUが搭載されていないKFモデルを選んでも良いと思います。

BIOSを設定する

BIOSの設定で重要な箇所を以下に列挙しました。大半がデフォルト値のままで良いです。デフォルト値から変更した部分(3箇所だけです)を太字で示します。

  • OC Tweaker > DRAM Configuration > Load XMP Setting > XMP 2.0 Profile 1
  • Advanced > CPU Configuration > Intel Hyper Threading Technology > Enabled (default)
  • Advanced > CPU Configuration > Active Process P-Cores > All (default)
  • Advanced > CPU Configuration > Active Process E-Cores > 0
  • Advanced > CPU Configuration > CFG Lock > Disabled (default)
  • Advanced > Chipset Configuration > Above 4G Decoding > Enabled (default)
  • Advanced > Chipset Configuration > VT-d > Enabled (default)
  • Advanced > Chipset Configuration > IGPU Multi-Monitor > Disabled (default)
  • Advanced > USB Configuration > XHCI Hand-off > Enabled

Eコアを無効にする設定は、macOSを動かす上でとても重要です。これを行わないとカーネルパニックになります。一方で、Hyper Threading (HT)を無効にすれば、Eコアを有効にすることができます。ただし、性能は少しだけ低下します。それで、HTを有効にしてEコアを無効にする設定にしました。(追記:OpenCore 0.7.7からは全コア全スレッドが使用できるようになるので、その場合は、BIOSで全て有効に設定します。)

Above 4G Decodingはデフォルト値の「有効」のままにしておく必要があります。DisabledにするとmacOSの起動途中で止まってしまいます。

なおBIOSはできる限り最新にした方が良いようです。GIGABYTEのマザーボードでは、macOS起動の問題がBIOSアップデートで解決したという報告が多数見つかります。ASRockはマザーボードの発売が遅かったことも関係するのか、最初のBIOSでも問題ありませんでした。でも発売直後のマザーボードはBIOSにバグがあることが多いのでアップデートがあったら実施しておいた方が良いと思います。このマザーボードの現在のBIOSは2.10です。

EFIを設定する

以下のガイド(Gigabyte Z690 Aero G用)を参考にして設定しました。OpenCore 0.7.6を使っています。macOSは12.0.1と12.1 betaで動作確認しました。

使用しているSSDTは以下です。これをACPIフォルダに入れました。

  • SSDT-AWAC.aml
  • SSDT-EC-USBX.aml
  • SSDT-SBUS.aml
  • SSDT-PLUG-ALT.aml

下の方でリンクしたEFIファイル一式には他のSSDTも入っていますが、config.plitで無効にしてあります。

使用しているkext類は以下です。これをKextsフォルダに入れました。USBPorts.kextは、後述のようにHackintool.appを使って作りました。

  • Lilu.kext
  • VirtualSMC.kext
  • WhateverGreen.kext
  • SMCProcessor.kext
  • SMCSuperIO.kext
  • AppleALC.kext (layout-idは12)
  • LucyRTL8125Ethernet.kext
  • NVMeFix.kext
  • USBPorts.kext

今回公開するEFIファイル一式には他のkextも入っていますが、config.plistで無効にしてあります。

config.plistは、前述のガイドのページで配布されているものを参考に、機種IDなどを設定しました。機種IDはiMacPro1,1にしました。好みでMacPro7,1にしても良いです。ただ、iMacPro1,1の方が設定が簡単です。MacPro7,1の場合は、CPUFriend.kextとそれに付随するkextを使って、動作周波数を最適化しないと、十分な性能が出ません。

12世代CPUはmacOSで採用されていないので、CPU IDをi9-10850KなどのID である000A0655に偽装しています。config.plistのKernel/Emulateの中に以下のように記述します。

オンボードのオーディオは、AppleALC.kextの1.6.7からサポートされています。layout-idは12で動きました。config.plistのDevicePropertiesに追記します。

ボード上のEthernet LANはRealtekのRTL8125BGです。これはLucyRTL8125Ethernet.kextで動きました。

EFIファイルの一式をここに置いておきます。シリアル番号などは削除してありますので、使用される場合は設定してください。

USBポートを設定する

Hackintoolなどでポート番号を調べると、バックパネルのUSBポートは以下のようにアサインされていました。合計で12本です。

マザーボード上の内部コネクタについても少し調査しました。その結果、

  • マザーボード上のM.2 E keyソケットに接続されたUSBはHS14でした。
  • また、マザーボード上のUSB Type-Cコネクタは、HS01SS01でした。

以上の合計がmacOS上限の15本になるので、これらを有効にするようにHackintoolを使ってUSBPorts.kextを作りました。マザーボード上の他の従来型内部コネクタ(USB 2.0と3のピンヘッダ)を使用する場合は、このリストを差し替える必要があります。

スリープ

上記のUSBコネクタ設定は、実際のコネクタの状況を反映した結果ですが、このままだとスリープで問題が発生しました。バックパネルのType-Aコネクタに、キーボードやUSBメモリなどが接続されていると、スリープに入っても1分ほどで復帰してしまいます。その一方で、Type-Aに何も接続されていなければ、正しくスリープします。Bluetoothキーボードなどから復帰することも可能でした。

この問題は、USBPorts.kextでType-AコネクタをInternalに設定することで解決しました。Hackintool.appでしたら、以下のように設定します。

システム環境設定・省エネルギーでは、ネットワークアクセスによるスリープ解除を無効にすると良いかも知れません。Power Napは有効でも問題ありません。1時間に1回くらい起動します。それが気になるようでしたら無効にすると良いです。

ただ、Type-Aに直接接続した一部のキーボードなどから目覚めさせることができないようです。こちらで紹介した格安キーボードではスリープ復帰できませんでした。また、こちらで教えてもらった情報によると、スリープ復帰するマウスとしないマウスがあるようです。一方で、Magic KeyboardをUSB接続した状態だと、これからスリープ復帰できました。いずれにしてもBluetooth入力デバイスをメインに使うならば問題ないです。

この設定で残った問題は、Type-Aに接続したキーボードからスリープ復帰できない点です。Bluetooth接続のApple純正キーボード、トラックパッドを使う場合は問題ありません。

ベンチマークで性能評価

Geekbench 5でベンチマークしました。シングルコア性能ではM1 Maxを上回りました。マルチコア性能では互角でした。

以前にGeekbench 5のサイトで確認したM1 Maxのスコアと比較すると以下のようになります。

これにRadeon RX 6600XTを組み合わせれば、M1 Maxより少しだけ性能の良いマシンが作れます。先の記事のGeekbench 5スコア比較を再掲します。

動いていること

  • ここ2-3日電源を入れっぱなしですが、問題なく安定して動作してます。このままメインマシンにしても良いと考えているくらいです。
  • システム終了、再起動
  • 有線LAN (ボード上の2.5GbE, Realtek RTL8125BG)
  • M.2 無線LAN/BT (Broadcom BCM94360NGに交換)
  • オンボードのオーディオ(ALC897, layout-idを12に設定)
  • クイックルック、プレビュー
  • メッセージ、FaceTime, iCloud, App Store, Apple TV
  • ユニバーサルクリップボード
  • コンティニュイティ
  • AirPlayレシーバー(DRMコンテンツの表示も可能)
  • SafariでのDRMコンテンツ表示(Prime Videoなど)
  • スリープを開始すると画面が暗くなり、CPUファンが停止します。電源スイッチまたは、Bluetoothキーボード類(Magic Keyboard, Magic Trackpad, 他社のBTマウス)の操作で復帰します。

動いていないこと

  • Sidecar(自作機にはT2チップが無いので仕方ないです)
  • Type-A接続の一部のUSBキーボード・マウスからのスリープ復帰(USB接続したMagic Keyboardは復帰可能。BT入力デバイスを使えば問題ありません)

コア数とHTの設定

現在では、Alder Lakeの全てのPコア、ハイパースレッド(HT)、EコアをmacOSで有効にすることができません。(追記:OpenCore 0.7.7から可能になります)上で配布しているEFIは、

  • BIOSでEコアを無効にしてPコア+HTを使う(無難で性能が出るのでお勧め)

設定になっています。このほかに、以下の選択肢が可能です。詳しくは上記のetorixさんの投稿をご覧ください。

  • BIOSでHTを無効にしてPコア+Eコアを使う(少し性能が落ちる)
  • BIOSで全コア+HTを有効にしてSSDTでEコアを無効にする(Windows起動時に性能を出せる)
    この場合、SSDT-PLUG-ALT.amlを無効にしてSSDT-PLUG-ALT-12.aml (12600用) もしくはSSDT-PLUG-ALT-12.aml (12900, 12700用) を使う。また、Kernel>Quirk>ProvideCurrentCpuInfoを有効にする。これでmacOSからEコアが見えなくなる。ただしAVX-512が無効になる。
  • BIOSで全コア+HTを有効にして、Pコア全部+Eコアの半分を有効にする。(性能は最大)
    この場合、 CpuTopologySync.kextを有効にして、SMCProcessor.kextは無効にして、カーネルのパッチを当てる。パッチは上記のEFIの中のconfig.plistに既に書いてあります。
  • (追記)OpenCore 0.7.7からBIOSで全コア+HTを有効にしても動くようになります。Windowsで実行する場合と同程度の性能が出ます。

OpenCore 0.7.6を使う場合は、「BIOSでEコアを無効にしてPコア+HTを使う」方法が、無難で性能が出るので、Windowsをあまり使わない場合はおすすめだと思います。

15件のコメント

  1. お疲れ様です。
    スコア的には、魅力的ですねぇ。でも、Eコアいかせてたらもっとスコア良いんでしょうねぇ。
    落ち着くとしても、MacPro7,1(2019)年というのはちょっと痛いですね。
    きっと最後まで、IntelMacのサポートはするような口ぶり(クック)でしたので。
    どーなるんだろですねー

    1. macOSはPコアとEコアの区別がつかないので、両方を有効にすると適切なジョブ割り当てができないのではないかと言われてますね。Windows 10でもそう言われてますし。

  2. tonymacx86のフォーラムに投稿しているの拝見してました。
    うちも同じような構成で、ASRockのZ690 Extreme WiFi 6Eで動かしてます。
    Windowsとのデュアルブートなので、E-core無効にせず、SSDTでmacOS起動時に、P-coreだけ生かすようなものを入れて問題なく動いてそうです。

    ただ、同じくスリープはしてくれないので、Dortaniaの来月号楽しみにしてます。

  3. かっこいいExtremeにしたかったのですが、PCIeが減ってしまったのでSteel Legendにしました。でも構成はほぼ同じだと思うので、良い情報がありましたらよろしくです。Windows側では確かにEコアを有効にしたいですね。

  4. こんにちは。
    ちなみに、その御環境にて iCloud 関係の動作はいかがでしょうか?

  5. >これにRadeon RX 6600XTを組み合わせれば、M1 Maxより少しだけ性能の良いマシンが作れます。

    Q:ASRock社 Z690 Steel Legend WiFi 6E製品ページ の規格内容として、以下の項目が明示あり。
    今回のベンチマーク成果は具体的には どのようなDDR4メモリとNVMe(M2)製品をお使いになったのか….お教えください。
      – DDR4 5000MHz (OC)
      – 2 Hyper M.2 (PCIe Gen4 x4)

    1. メモリはCorsair DDR4 3200MHz 16GB x 2で、SSDはたまたま手元にあったPNY M.2 NVMe PCIe Gen4 x 4 256GBです。

  6. お疲れ様です。
    Sliceが、CloverにSocketLGA4677を定義してたので、何かと思ったらXEONでした。
    “Sapphire Rapids”のコア数は最大56-core(スレッドは倍)いくらなんだか・・・
    MBは2個つきで、DDR5x16という構成・・・
    もう何がしたいの?という次元です^^;

  7. 私はJoshin Webで Z590 SteelLegend WIFI 6Eが20350円と、他のパーツショップよりもかなり安価だったので、Core i5 10400とZ509 SteelLegend WIFI 6Eの組み合わせで作り直すことにしました!

    1. >Core i5 10400とZ509 SteelLegend WIFI 6Eの組み合わせで作り直すことにしました!

      私も、ASRock社 マザボ(Z590M Pro4)がほぼ2万円程度でお買い得感があったので、旧マザボ(ASRock Z170M OC Formula)から、これに乗り換えました。
      管理人さんの投稿記事を見て、ベストな乗り換え時期(出費総額、Hacintosh環境としての安定度合いなど)を 型落ち狙いで待った甲斐がありました。

      1. >ベストな乗り換え時期(出費総額、Hackintosh環境としての安定度合いなど)を 型落ち狙いで待った甲斐がありました。

        わかります。
        自分はドラクエXをやる都合上、Windowsの方が利用頻度高いので、Skylake+H170だと、Windows 11へのアップグレードのパスが制限されてしまうんです。
        CometLake+Z590に切り替えたら、ParallelsかWINEで、ドラクエXの検証してみて、使いものになるなら、Montreyがメインに変わるかもです。

返信を残す

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