ASUS ROG STRIX Z490-G GAMINGの音とLANを動かす

前回紹介したASUSのZ490マザーボードROG STRIX Z490-G GAMINGで、動かなかったオンボードオーディオとEthernetが動きました。少しトリッキーな方式のような気がしますが、hackintoshコミュニティのサポートが充実するまでのつなぎとしては十分です。

追記:OpenCore 0.6.0とAppleALC.kext 1.5.1になり、オーディオはレイアウトID(このマザボは7)を指定するだけで動くようになりました。こちらをご覧ください。

参考にしたページ

前回は、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より高いスコアが出ました。

6件のコメント

  1. bootmacosさま

    第10世代も過不足なく動くのですね。
    この先を考えると、新しい世代のCPUが動くのは安心感があります。

    次期MacにはRYZENが載るみたいな噂がありましたが、Catalinaでサポートされているということは
    このままintel CPUが継続して採用されるのでしょうか…?

    GPUのいろいろを見ているとAMDのCPUが採用されると、ある程度カスタマイズされた形で
    載りそうな感じもあるので製品版がそのまま載ってくれた方がHackintosh的には嬉しいですね。

    10900kに興味はあるのですが、熱問題が難しそうなのと、その先の7nm世代を考えると様子見かなあと思っています。
    (先立つものの問題もありますが笑)

    OSも含め、この先もHckintosh可能な環境が続くことを願うばかりです。

  2. 第10世代Ice Lake搭載のMacBook Pro 2020の発売時対応OSが10.15.4だったので、そのあとのマイナーアップデートの10.15.5から公開版macOSでも第10世代に対応したという背景があるのではと想像してます。また、デスクトップ向け第10世代搭載のiMacが早く出て欲しいと思います。

  3. 横から、失礼いたします。

    これまでは、インテルCPUでのデスクトップ環境OSとして、Windows 10 Proを差しおいてHacintosh(MacOSx)に専念し、MacOSxのデザイン洗練度に病みつき、歩んで来ました。

     でも、今年は メインとなるデスクトップ環境の劇的な見直し(CPUチップはIntelのどのシリーズで? あるいは、ハイリスク・ハイリターンで AMD Ryzenのチップで?、それともRaspberry Pi 4B – 8GBで 64ビットフルの世界?)の年になりそうです。
     とにかく、今年の6/22 WWDCで どのような大きな変革の「台風?嵐?」が吹きまくるのか、とても気になります。

    1. 今月中には10600K, 10900K搭載のiMacが出るのではと期待してます。

  4. Ethernetに関してなのですが、

    FakePCIID.kext
    FakePCIID_Intel_I225-V.kext

    は必須なのでしょうか?OpenCpre Install Guideを見ると「DevicePropertyで設定してあれば特段kextはいらないよ」みたいに書いてあるのですが、両方外すと起動しなくなってしまいます。起動くらいしてもいいような気もするのですが、不思議です。。。

    Config.plistをSanityCheckerでチェックするとFakePCIID.kextのところで「もっといい方法あるよ」みたいに表示されるのも気になるんですよね。

    bootmacosさんの現在の環境だとこのkext使ってらっしゃいますか?

    1. はい、現在でもこの二つのkextを使っています。こちらでも試しにこの2つを、config.plistでfalseにしてみました。起動はできましたが、Ethernetが使えなくなりました。ということで必要なようです。

      でも確かにsanity checkではthere are better way to fake device idsって出てきますね。どうすれば良いのかな。何かわかったらよろしくです。

返信を残す

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