前回紹介したASUSのZ490マザーボードROG STRIX Z490-G GAMINGで、動かなかったオンボードオーディオとEthernetが動きました。少しトリッキーな方式のような気がしますが、hackintoshコミュニティのサポートが充実するまでのつなぎとしては十分です。
追記:OpenCore 0.6.0とAppleALC.kext 1.5.1になり、オーディオはレイアウトID(このマザボは7)を指定するだけで動くようになりました。こちらをご覧ください。
Table of Contents
参考にしたページ
前回は、OopenCoreのComet Lake-S バニラインストールガイドに従って、正攻法なインストールを行いました。そのためか、マザーボード搭載のオーディオコーデックと2.5 Gbps Ethernetが動きませんでした。
OpenCoreのバニラガイドが出る前に、SchmockLoadさんがGIGABYTE Z490 Vision Dにインストールした様子をGitHubにまとめてくれていました。そこでは、オーディオも2.5 Gbps Ethernetも動いているようです。今回はこれを参考に作業しました。
オーディオを動かす
追記:オーディオに関するこの節の情報は古いです。こちらをご覧ください。
今回使用しているマザーボードに搭載されたコーデックはRealtek ALC1220です。もしかしたらALC1220Aなのかもしれません。ASUSはSupremeFX S1220Aと呼んでいます。300シリーズマザーボードでも搭載されていたコーデック(そちらはSupremeFX S1220無印)と数字部分は同じです。なので、AppleALC.kextで動くと思ったのですが、簡単には動きませんでした。
そこで、上記のSchmockLoadさんのGitHubガイドに従って、以下のkext、
- FakePCIID.kext
- FakePCIID_Intel_HDMI_Audio.kext
を追加し、config.plistのDevicePropertiesに
<key>DeviceProperties</key> <dict> <key>Add</key> <dict> (略) <key>PciRoot(0x0)/Pci(0x1F,0x3)</key> <dict> <key>device-id</key> <data>cKEAAA==</data> <key>layout-id</key> <data>BwAAAA==</data> </dict>
を追加しました。FakePCIIDの仕組みはこちらで説明されてます。ちゃんと理解できていないのですが、PCIeのデバイスIDを、macOSのドライバが認識するIOPCIDeviceに結びつけてくれる機能のようです。本体がFakePCIID.kextで、デバイスIDの情報だけが書いてあるInfo.plistだけのkext(今回の場合はFakePCIID_Intel_HDMI_Audio.kext)と組み合わせて使います。これによりmacOSが認識しないIDのデバイスを動かしてしまおうという機能のようです。
FakePCIID_Intel_HDMI_Audio.kextは、その名前の通り、100, 200, 300シリーズのHDMIオーディを実現する目的で作られているようです。今回の場合に当てはまるのか疑問でした。説明を見ると、100シリーズ以降で0xA170もしくは0x9D70のデバイスIDを使えるようにしてくれるようです。ここでは0xA170を使っています。これを動かすためには、動かしたいオーディオデバイスの、ACPIに現れるデバイスIDを0xA170に変更しておく必要があります。それが上記のconfig.plistの記述です。
Hackintoolで確認してみます。オーディオチップはPci(0x1f,0x3)のPCIeデバイスパスに配線されています。そのデバイスIDは0x06C8でした。
上記のconfig.plistを使うと、このデバイスIDが0xA170に変更されていることがわかります。デバイス名も、100 Series/C230 Series Chipset Family HD Audio Controllerと表示されるようになっています。それでも実際のコーデック名とはちょっと違う気がしますが、これで音声が再生されるようになりました。
Z490マザーボード でのサウンドチップの変更は、おそらくはデバイスIDなどが多少変更された程度の違いと思いますので、そのうちにAppleALC.kextが対応してくれるのだと期待しています。それまではこの対応で凌げると思います。
Ethernetを動かす
このマザーボードに搭載されているEthernetチップは、2.5 GbpsのIntel I225-Vです。上位のマザーボード でLANが2個あるタイプのものは、もう片方が従来と同じ1 GbpsのIntel I219-Vだったりします。I219-Vは300シリーズでも使われたチップなので、IntelMausi.kexe, IntelMausiEthernet.kextで動くようです。でもi225-Vしか搭載されていないマザーボードは有線LANに接続できません。
こちらも、オーディオと同様に、FakePCIIDを使って解決できました。FakePCIID_Intel_I225-V.kextが設定をしてくれます。
- FakePCIID.kext
- FakePCIID_Intel_I225-V.kext
また同様にconfig.plistでEthernetチップのデバイスIDを0x15F2に設定します。ちなみにこのマザーボードでは、元々のデバイスIDは0x15F3でした。
<key>PciRoot(0x0)/Pci(0x1C,0x4)/Pci(0x0,0x0)</key> <dict> <key>device-id</key> <data>8hUAAA==</data> </dict>
SchmockLoadさんによるとFakePCIID_Intel_I225-V.kextを作ってこの設定を紹介したのはドイツのHackintosh-forum.deのBrumbaerさんだそうです。GitHubにあるconfig.plistの例では
<key>PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)</key>
になっていますが、上記のHackintoolの一覧に現れているように、ASUSマザーボードではデバイスpathが違うようです。
<key>PciRoot(0x0)/Pci(0x1C,0x4)/Pci(0x0,0x0)</key>
を指定したところ動きました。これでネット接続できるようになりました。おそらくはIDを偽装して、macOS標準のドライバで動かしているのだと思われます。とはいえ、1Gbpsのハブに接続して使用したところでは、速度が遅いとか、データが滞るなどの問題は感じられませんでした。IntelMausi.kextが対応するまでのつなぎとして十分に使用できそうです。
Geekbench 5でベンチマーク
ネットに接続できるようになったので、Geekbenchで測定しました。Geekbenchは結果がweb上で表示されるので、ネット接続してないと起動できませんでした。結果は、以下のようにマルチコアスコアで6000越えでした。
現行の非BTO版最上位iMacは3.7 GHz 9600Kを搭載しています。今回使用した10600は無印なので(K付きは未発売でした。今もかな?)クロックが遅い (3.3 GHz) です。でも9600Kでは無効にされたハイパースレッドが復活しています。互角の性能である気がしましたので、Geekbench Browserで9600K搭載iMacのスコアを検索してみました。
マルチコアスコアが5000を切ったスコアも、6000を超えたスコアもありましたが、大半が5000代でした。結局、クロックが10%くらい低下しても、ハイパースレッドが効いたのか、10600無印の方が高速のようです。
まとめ
10600搭載Z490マザーボードの自作マシンでマザーボード搭載のオーディオとEthernetが動きました。AppleALC.kextとIntelMausi.kextが対応してくれるまでのつなぎとして使えます。ネットが動いたのでGeekbench 5でベンチマークをしました。これに相当する性能と思われる9600K搭載のiMacより高いスコアが出ました。
bootmacosさま
第10世代も過不足なく動くのですね。
この先を考えると、新しい世代のCPUが動くのは安心感があります。
次期MacにはRYZENが載るみたいな噂がありましたが、Catalinaでサポートされているということは
このままintel CPUが継続して採用されるのでしょうか…?
GPUのいろいろを見ているとAMDのCPUが採用されると、ある程度カスタマイズされた形で
載りそうな感じもあるので製品版がそのまま載ってくれた方がHackintosh的には嬉しいですね。
10900kに興味はあるのですが、熱問題が難しそうなのと、その先の7nm世代を考えると様子見かなあと思っています。
(先立つものの問題もありますが笑)
OSも含め、この先もHckintosh可能な環境が続くことを願うばかりです。
第10世代Ice Lake搭載のMacBook Pro 2020の発売時対応OSが10.15.4だったので、そのあとのマイナーアップデートの10.15.5から公開版macOSでも第10世代に対応したという背景があるのではと想像してます。また、デスクトップ向け第10世代搭載のiMacが早く出て欲しいと思います。
横から、失礼いたします。
これまでは、インテルCPUでのデスクトップ環境OSとして、Windows 10 Proを差しおいてHacintosh(MacOSx)に専念し、MacOSxのデザイン洗練度に病みつき、歩んで来ました。
でも、今年は メインとなるデスクトップ環境の劇的な見直し(CPUチップはIntelのどのシリーズで? あるいは、ハイリスク・ハイリターンで AMD Ryzenのチップで?、それともRaspberry Pi 4B – 8GBで 64ビットフルの世界?)の年になりそうです。
とにかく、今年の6/22 WWDCで どのような大きな変革の「台風?嵐?」が吹きまくるのか、とても気になります。
今月中には10600K, 10900K搭載のiMacが出るのではと期待してます。
Ethernetに関してなのですが、
FakePCIID.kext
FakePCIID_Intel_I225-V.kext
は必須なのでしょうか?OpenCpre Install Guideを見ると「DevicePropertyで設定してあれば特段kextはいらないよ」みたいに書いてあるのですが、両方外すと起動しなくなってしまいます。起動くらいしてもいいような気もするのですが、不思議です。。。
Config.plistをSanityCheckerでチェックするとFakePCIID.kextのところで「もっといい方法あるよ」みたいに表示されるのも気になるんですよね。
bootmacosさんの現在の環境だとこのkext使ってらっしゃいますか?
はい、現在でもこの二つのkextを使っています。こちらでも試しにこの2つを、config.plistでfalseにしてみました。起動はできましたが、Ethernetが使えなくなりました。ということで必要なようです。
でも確かにsanity checkではthere are better way to fake device idsって出てきますね。どうすれば良いのかな。何かわかったらよろしくです。