銀色のマザーボードMSI B360M Mortar Titaniumに6コア6スレッドのCore i5 9600Kを組み合わせたHackintoshです。実機27インチiMac 2019に搭載されている第9世代CPUと同じCPUなので互換性が高いと期待しました。
Table of Contents
ハードウェア構成
マザーボード
マザーボードはMSI B360M Mortar Titaniumです。以下で使ったものと同じマザーボードです。CPU以外の構成は変わっていません。マザーボードのBIOS設定もこの記事をご覧ください。
300シリーズチップセットの白いマザーボードを使いたい場合は、選択肢がこれしかありません。B360は、Z390/H370と同じ世代の廉価版チップセットです。それでもこの世代から導入されたUSB 3.1 Gen2とWiFi MAC層をチップセットに内蔵しています。WiFiサポートはmacOSに恩恵ありませんし、このマザーボードにはWiFi搭載されていないので関係ないです。一方で、USB 3.1 Gen2は、実機でもチップセットのGen2を利用しているようなので、OOBで動きます。Z390/H370と比較して一番劣る機能はチップセット経由のPCIeレーン数が少ない(H370は20に対してB360は12レーン)ことです。でもグラフィックス用のCPU直結16レーンは別に用意されていますし、micro ATXならPCIeスロットが少ないので、十分かと思います。
CPUアップグレード
上の記事では9100Fで作りましたが、メインで使うにはもう少し上位のCPUを使いたくなり、交換しました。ゲームも動画編集もしないので、9100Fでも全く問題のない性能だったのですが、ロマンです。コア数を増やす方向でロマンを追求することにしました。9100Fは4コアです。別に9900Kマシンがあるので、同じ8コアを2台使うのも面白みがないので6コアを目指すことにしました。第9世代 (Coffee Lake Refresh-S) CPUの品揃えが増えて、中位モデルの選択肢が広がっています。6コアだと9400F, 9400, 9500, 9600Kあたりが妥当なところと思います。特に9400Fは、9500と性能がほとんど変わらないのにお得な価格で人気です。でも、現在使用中の9100Fと比べるとクロックが下がります。シングルコアしか使わない状況だとむしろ性能低下する恐れもあります。9100Fのコスパとバランスはすごいと今更ながら思いました。
Core i5 9600K
ということで選んだのは、ちょっとお高めで、第9世代では古参のIntel(R) Core(TM) i5-9600K CPU @ 3.70GHzです。これならクロック数が9100Fとほぼ同等 (0.1GHzだけ高い) でコアが増えます。
クロック数やコア数以外に、9600Kを選んだもう一つの理由は、実機の27インチiMacの上位モデルがこのCPUを採用していることです。実機で採用しているCPUを使用すると、互換性が高いメリットがあります。実機で使用されていないCPUであっても、仕様が近いモデルならば、多くの場合は動作します。それでも場合によってはconfig.plistの中でFakeCPUIDなどを設定して、macOSがサポートしているCPUに誤魔化す必要が生じます。また、実際の動作には支障はないのですが、「このMacについて」のCPU名が正しく表示されない場合もあります。iGPUのIDが違うと、これを実機に合わせる必要がある場合もあります。実機で搭載されているCPUと同一のCPUを選んでおけば、そのような手間は不要です。価格や性能に大きな違いがない候補で迷っているなら、実機で採用されているかどうかを基準に決めてしまうのも良いと思います。今回もそうしました。
ちなみに非BTO第9世代iMacが9700Kではなく9600Kを採用したのは、6コアであったのが理由だと思います。8コアCPU 9900K搭載の最上位BTOモデルを用意したので、通常モデルを6コアに差別化したかったところ、当時の第9世代にはこれしか選択肢がなかったのでしょう。
そのほかのハードウェア
- グラフィックスはRadeon Vega 64です。(OOBで動作)
- WiFi/BluetoothはBCM94360CD(OOBで動作)
AliExpress.com Product – BCM94360CD
ソフトウェア構成
OS, CLOVER, 機種ID
以下を使用しました。
- macOS Mojave 10.14.6 (18G87)
- Clover v2.4k r5033
- iMac19,1
BIOS設定
マザーボードのBIOS設定は、ほぼデフォルトのままです。色々な項目のデフォルト設定が、macOS向きの設定でした。PCIe接続のビデオカードを使用していますが、クイックルックなどを動かすためにiGPUも稼働する設定にしました。また、ブートするドライブをUEFI限定にして、MSIマザーボードの便利な機能GO2BIOSを有効にしました。GO2BIOSは電源スイッチ長押しでBIOS設定画面が現れる機能です。
UEFIドライバ
以下を使用しています。以前のビルドではOsxAptioFix2Drv-free2000.efiを使っていましたが、slideパラメータを調節することで最新のAptioMemoryFix.efiが使えました。slideの設定はconfig.plistの項目で説明します。
- ApfsDriverLoader.efi
- AptioMemoryFix.efi
- EmuVariableUefi.efi
- FSInject.efi
- VBoxHfs.efi
- VirtualSmc.efi
Kext類
以下のkextをkexts/Otherに入れました。マザーボード搭載LANはインテル製なのでIntelMausiEthernet.kextを使います。AppleALCで音も出ました。HDMIからも音が出ます。
- WhateverGreen.kext
- VirtualSMC.kext
- USBInjectAll.kext
- Lilu.kext
- IntelMausiEthernet.kext
- AppleALC.kext
Config.plist
他の第9世代CPUで使っているconfig.plistとほぼ同じです。MSIの最近のマザーボードはmacOSカーネルを読み込むためのメモリー確保で失敗することが多いです。そこで、強制的にメモリーを解放するOsxAptioFix2Drv-free2000.efiを使っていました。今回は、以下の記事で紹介した方式を採用しました。
Boot, Argumentsにslideオプションを設定して、使用中のメモリーを避けてメモリー確保するよう設定します。さらに、slide機能を使うためにSIP機能の一部を解除しました。RtVariables, CsrActiveConfigを0x40にしてあります。
下は、SIPのNVRAM制限を解除する設定です。
<key>RtVariables</key> <dict> <key>CsrActiveConfig</key> <string>0x40</string> </dict>
こちらはブートオプションです。slideは128に設定しました。とりあえず使わないUSB 2.0を指定して、暫定的に15個制限を解決しています。
<key>Arguments</key> <string>-v slide=128 uia_exclude=HS09;HS10;HS11;HS12;HS13;HS14;USR1;USR2</string>
使用したconfig.plistを以下に置いておきます。
動作確認
以上の設定で問題なく動きました。スリープも機能しているようです。CPUも正しく認識されているようです。
sysctlコマンドでCPUの名前を見ると以下のようになります。
$ sysctl -n machdep.cpu.brand_string Intel(R) Core(TM) i5-9600K CPU @ 3.70GHz
Geekbenchのスコアは、シングルが約5900でマルチコア(6コア6スレッド)で約22000でした。以前測定した9100Fはシングル5298、マルチコア(4コア4スレッド)が14966でした。また9900Kはシングル6086, マルチコア(8コア16スレッド)で30114でした。9100Fと9900Kの中間くらいの性能であることがわかります。ちなみに、当たり前ですが、同じCPUを搭載した本物の27インチiMacのGeekbenchとほぼ同じスコアです。
今後は、USBの15個制限に対する調整を進めたいと思います。
こんにちは
いつもチラチラ見に来ています。
Hackintoshの多くがハイエンドなパーツを使った構成なので
このようにリーズナブルな構成を、しかも日本語で超丁寧に解説してくださるのは、とてつもなくありがたいです!
強いて言うなら、このマザーボードがそこまで出回らなかったモデルなので、もうしばらくすると購入が困難になりそうですね。
次回はどのような構成で組まれるか楽しみです。
私みたいにリーズナブルな構成を楽しみにしている人もいます笑
ありがとうございます。応援いただいて励みになります。このマシンは毎日駆使していますが順調に動いています。コメントいただいて気づいたのですが、USBのチューニングがほったらかしでした。そのうちやらねば。