Comet Lake-S 10600とZ490でmacOSを動かす

Intel第10世代デスクトップCPU 10600を搭載したASUSのZ490マザーボードに、OpecCoreで起動するmacOS Catalinaをインストールしました。とりあえずは動く状況です。CPU, iGPU, スリープは動いていますが、オンボードのEthernet, サウンドがまだ動きません。

参考にしたページ

SchmockLoadさんが、GIGABYTE Z490 Vision Dにインストールした様子をGitHubにまとめてくれていたので最初はこれを参考にしていました。でも作業を進めているうちに、OpenCoreが0.5.9になり、ガイドのページも更新されて、なんとComet Lake-S用のconfig.plistを作るガイドが追加されました。

ということでこのガイドを参考に、作業を進めました。

使用ハードウェア

マザーボード

使用したマザーボードは、ASUS micro-ATXマザーボードのROG STRIX Z490-G GAMING (Wi-Fi)です。サブマシンがmicro-ATXなので、ゆくゆくはそれに搭載しようと考えました。メインマシンがASUSなので、同じメーカにしました。しっかりした作りでよくできています。製品写真ではバックパネルカバーのロゴが黄色です。でもこれはフルカラーLEDなので、Windowsからならば何色にも設定できると思われます。デフォルトでは時間と共に色が変化します。

Wi-Fiを搭載しないモデルは2,000円安いです。IntelのWi-FiアダプタをmacOS互換のM.2無線カードに差し替えたら、数が少ないm-ATXマザボのPCIeスロットを節約できると思いWi-Fi付きにしました。300シリーズチップセットマザーボードなら、CNViカードだけでなく、一般のM.2無線カードが使えました。なのでmacOSと互換性のあるBroadcomのM.2カードが使えました。しかし新しいマザーボードは、ソケットの物理的な形状はM.2でしたが、動作しませんでした。CNVi対応カードだけが動くようになったようです。なのでWi-Fi無しの方が良かったかもしれないです。そのうち、マザーボード上のSSD用M.2ソケットに無線カードを取り付けて、バックパネルのアンテナ端子だけを利用しようと考えています。

CPU

どうせなら話題の10コア20スレッドの10900Kを使おうかとも思いました。でも、当初はComet Lake-SがmacOSで動くかどうか不明でしたので、日和って安価な6コア12スレッドの10600無印にしました。10900Kが品切れで入手不可能だったことも理由です。とはいえ同じ6コア12スレッドなら、Ryzen 5 1600 (AF) の方がコストパーフォマンスが良いですね。

BIOS設定

BIOSの設定は、ほぼ工場出荷時設定で大丈夫です。Legacy USBをdisabledにするなど、やっておけば良い程度の変更をしました。デフォルト設定のままでmacOSの起動に支障をきたすことはありません。

使用したefiとkext

ACPIには

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

を入れました。Driversには、

  • VBoxHfs.efi
  • OpenRuntime.efi
  • OpenCanopy.efi

を入れました。Kextsには、

  • WhateverGreen.kext
  • VirtualSMC.kext
  • Lilu.kext
  • IntelMausi.kext (動かないのでつづきの記事では外しました)
  • AppleALC.kext

を入れ、ToolにはOpenShell.efiを入れました。ちなみにOSとブートローダは以下です。

  • macOS Catalina 10.15.5
  • OpenCore 0.5.9

config.plistを作る

OpenCore配布パッケージにあるsample.plistを元に、変更を加えてconfig.plistを作っていきます。上記のサイトのComet Lakeのページにほぼ従いました。とはいえ、以前紹介したCoffee Lakeとほぼ同じ設定です。

まずは、上記のefi, kextファイル類を所定の場所に収めた後、Proper TreeのOC Clean Snapshot機能を使って、これらの設定を終えます。これで半分くらいの作業は終了です。次に残りの項目を設定していきます。とはいえほとんどはsample.plistにあるデフォルト値のままで良いです。

Comet Lake-Sは、Macで搭載されたことのない最新CPUなので、Core 2の時代の古いCPUに偽装しないと動かないという報告が多くありました。CPUの偽装には、config.plistのKernel, Emulateの項目を使います。ところが、macOS 10.15.5からComet Lake-Sがサポートされて、Emulateに何も設定しなくても動くようになったそうです!。

<key>Emulate</key>
<dict>
	<key>Cpuid1Data</key>
	<data></data>
	<key>Cpuid1Mask</key>
	<data></data>
</dict>

また、iGPUのig-platform-idも解明されているようです。ディスプレイ接続用と、ヘッドレス用それぞれに対しての推薦のig-platform-id値が、ガイドのページに書かれています。今回は、ディスプレイ接続用の以下の設定にしました。

<key>PciRoot(0x0)/Pci(0x2,0x0)</key>
<dict>
	<key>AAPL,ig-platform-id</key>
	<data>BwCbPg==</data>
</dict>

動いたこと

ということで、思いのほか順調に動作しました。CPUは完全に動いています。ターミナルからCPU名を問い合わせると、名前とクロック数が正しく返ってきます。

% sysctl -n machdep.cpu.brand_string
Intel(R) Core(TM) i5-10600 CPU @ 3.30GHz

iGPUも機能しています。下のスクリーンショットでわかるように、ドックの背景が半透明です。グラフィックス加速が正しく機能しています。ただし、Display Portのみ機能し、HDMIでは出力できないです。グラフィックスボードを使用する予定なので、これで十分です。

追記:iGPUをしばらく使ってみたのですが、「画面共有」を設定しても他マシンから接続できませんでした。コンソール.appからsystem.logを見ると、他のマシンから接続した際に、screensharingサービスが中断シグナルを受けて落とされているようでした。sshやsmbのサービスは問題ありませんのでネットワークの問題ではなく、iGPUの問題だと思われます。後でグラフィックスボード(Radeon RX5700XT)を接続してそちらで動かしたところ、「画面共有」を受け付けられるようになりました。iGPUはHDMI出力できないこともありますし、使わない方が良いと思いました。

スリープも正しく動いています。スリープすると画面が消え、CPUファンが停止します。キーボードを押すと復帰して、画面が現れます。遮断も正しく行われます。

動かないこと

追記:Ethernetとオーディオは動きました。詳しくは「つづき」の節のリンクを見てください。

IntelMausi.kextを使っていますが、Ethernetが動きません。400シリーズからEthernetチップが、2.5 GbitのIntel I225-Vになりました。新しいチップなので、IntelMausi.kextの元になっているLinuxのドライバでもまだサポートされていないらしいです。SchmockLoadさんのガイドによると、I255-Vが動いたようなことが書いてありますのでもう少し確認します。

マザーボード搭載オーディオが動いていません。上記のOpenCoreのガイドによるとオーディオチップは、PciRoot(0x0)/Pci(0x1b,0x0) にマップされていると書かれています。でも、Coffee Lakeの時と同様に、これはPciRoot(0x0)/Pci(0x1F,0x3) ではないかと思っています。というのは、こちらの設定にすれば、システム環境設定、サウンドに、オーディオ端子の一覧が表示されるからです。ただ、音の再生はされません。ASUSの仕様によると、300シリーズはSupremeFX CODECs S1220で、400シリーズはS1220Aなのだそうです。SupremeFXはASUSが付けた名前で、実際にはALC1220が使われているようです。AppleALC.kextでサポートしているALC1220のlayout-idは全部試しました。これももう少し確認します。

まとめ

Comet Lake-SでmacOSを動かしました。CPUは偽装することなく使用できました。DP経由のiGPUグラフィックスが加速状態で使用可能でした。スリープも動きます。一方で、LANとオーディオがまだ動いていません。もう少し確認していきたいと思っています。

つづき

その後の展開です。安定して動いているので、このままメインマシンにしても良いと考えています。

macOS 10.15.6へのアップデートをシステム環境設定から行いました。問題なくアップデートできました。(2020/7/16)

4件のコメント

  1. かもね情報ありましたので貼っておきます。。。

    どのような形で出てくるかはお楽しみですかね?アゴ付きでサイレントアップデートなのか?突如のイベント発表でそんとき登場してくるのか?コロナでイベントするのが抑制されてるんで、その辺りで出てこれないのかわかりませんけど。。。
    「新iMac (2020) ほしい?」っていう部分見ると、意外と欲しがっている人が多いのは興味深いですね!
    至高の10コアですからねぇ???

    新iMacが近日くる…かもね
    https://www.gizmodo.jp/2020/07/new-imac-2020.html

    1. 早く出て欲しいです。そしてZ490マシンに機種IDとシリアル番号を設定したいです(違)

  2. このことは どうやって解決されたのですかご教授ください。
    同じ現象が起きて、困っています。
    h370,realtek857、cofee lake 総当たりでid=1から18まで当てたのですが、現象は変わりません
    以下引用させていただきます。

    マザーボード搭載オーディオが動いていません。上記のOpenCoreのガイドによるとオーディオチップは、PciRoot(0x0)/Pci(0x1b,0x0) にマップされていると書かれています。でも、Coffee Lakeの時と同様に、これはPciRoot(0x0)/Pci(0x1F,0x3) ではないかと思っています。というのは、こちらの設定にすれば、システム環境設定、サウンドに、オーディオ端子の一覧が表示されるからです。ただ、音の再生はされません。ASUSの仕様によると、300シリーズはSupremeFX CODECs S1220で、400シリーズはS1220Aなのだそうです。SupremeFXはASUSが付けた名前で、実際にはALC1220が使われているようです。AppleALC.kextでサポートしているALC1220のlayout-idは全部試しました。これももう少し確認します。

返信を残す

メールアドレスが公開されることはありません。