サイトアイコン Boot macOS

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箇所だけです)を太字で示します。

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で動作確認しました。

EFI folder v. 0.6The generic EFI folders have been amended to OpenCore 0.7.6. Acidanthera's SSDT-PLUG-ALT replaces SSDT-CPUR-Z690.As with the previous release, there are two EFIs. Pick a sample.plist, fill in serial numbers, check configuration and rename to config.plist.DEBUG is intended...
Z690 Chipset and Alder Lake CPUs - tonymacx86.com

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

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

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

今回公開する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本です。

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

以上の合計が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スコア比較を再掲します。

動いていること

動いていないこと

コア数とHTの設定

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

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

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

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