ASUS Z390マザーボードのshutdown/sleep対応

ASUSのZ390マザーボードで作ったHackintoshのその後の報告です。

シャットダウンが不完全な問題を解決すべく試行錯誤したところで、EmuVariableUefi-64.efiを使うことで解決しました。あまりにも呆気ない結末なのですが、EmuVariableUefi-64.efiがshutdownに関係するのは知りませんでしたし、もしかして困っている人がいるかもしれないので紹介します。

シャットダウンの症状

症状が出たマザーボードは、Z390チップセット搭載マザーボードのASUS ROG MAXIMUS XI HERO です。macOSのメニューバーから「システム終了…」を選んでシャットダウンしようとすると、そのままの画面で止まってしまいます。Cloverを-vオプションで立ち上げた状態でシャットダウンしようとすると、画面が暗くなった後に、右上に以下のようなメッセージが出ます。

vm_map_delete: map <ptr> [0x1003c1000...0x1003c2000] nothing at 0x1003c1000
Man Jan 21 21:29:26 2019 hoge.local com.apple.xpc.launchd[1] <Notice> Generating report ...
Man Jan 21 21:29:26 2019 hoge.local com.apple.xpc.launchd[1] <Notice> Report generation in 1 seconds.
bash: /private/var/install/shutdown_installer_tasks: No such file or directory
bash: /private/var/install/deferred_install: No such file or directory
Man Jan 21 21:29:26 2019 hoge.local com.apple.xpc.launchd[1] (com.apple.xpc.launchd.domain.system) <Notice> Userspace teardown took: 5032 ms
Man Jan 21 21:29:26 2019 hoge.local com.apple.xpc.launchd[1] (com.apple.xpc.launchd.domain.system) <Notice> Will be calling reboot(2) with flags: 0x0

スリープの時も同様です。-vオプションなしでは、画面が止まってしまい、-vオプションで起動していると、黒くなった画面右上に同じメッセージが出て反応がなくなります。

後からわかったのですが、このメッセージは異常を示すものではなく、ここで処理が停滞して止まっているだけのようです。実はこのマシンを組み上げた直後は、スリープもシャットダウンも正常に動いていた気がしていました。これも後からわかったのですが、気のせいではなかったようです。

シャットダウン問題解決

色々な方法を試したのですが、結局は最初に書いた通り、Clover の drivers64UEFI フォルダに、 EmuVariableUefi-64.efi を入れることですんなり解決しました。 EmuVariableUefi-64.efi は、macOSからATXマザーボード上のNVRAMがうまく読めない場合に、NVRAMのふり(エミュレーション)をしてくれるefiドライバーです。

マザーボード上のNVRAMがmacOSから利用できていればEmuVariableUefi-64.efiは不要なのですが、ASUSのこのマザーボードの場合は必要だったようです。NVRAMが機能しない場合は、

  • NVIDIAのWeb driverが動かない(Web driverを使用するかどうかをNVRAMに書き込んでいる)
  • 音量などの値が保存されない

などの症状が出ることは知っていましたが、スリープ、シャットダウンで固まってしまう現象が起こりうるとは知りませんでした。多分、シャットダウン時にNVRAMに情報を書き込もうとして、それができなくて処理が止まっていたと考えられます。

実のところ、最初にこのマシンを組んだ時には、EmuVariableUefi-64.efi を入れていてうまく動いていました。その後、試しに外しても動くようなので、マザーボードのNVRAMにアクセスできていると思い込んで、外していました。EmuVariableUefi-64.efi を外してから、シャットダウンに影響が出るまで時間がかかるので、因果関係に気づきにくいです。

Sleep問題

追記:この問題は10.14.4で発生しなくなりました。

ということで、一時は解決したかに思ったのですが、スリープの問題が発生していました。スリープに入って15秒くらいまではキーボード操作などで画面復帰するのですが、それ以降では画面が暗くなったままです。RX 580で発生しているようです。解決策見つかったら報告します。

(追記) こちらの方法で解決しました。

Sleep/shutdown対策のまとめ

スリープ、シャットダウンできない不具合はHackintoshでよくあるトラブルです。ただ、様々なことが原因で発生するので、対策も多岐に渡ります。一般的な解決策、ASUSの類似マザーボード案件を探して見つかった解決策、今回の解決策を列挙しておきます。

  • config.plistでFixShutdownをtrueにする。一番一般的な解決策です。だいたいこれで解決します。
  • config.plistでFixShutdown_0004をtrueにする。Cloverのマニュアルにも書かれているASUSマザーボード対策です。古くからの方法なので今は効かないかもしれません。今回も関係ありませんでした。
  • Cloverの起動オプションで、darkwake=0またはdarkwake=1とする。ASUSマザボの問題が解決したという報告がありましたが、今回は無効でした。
  • macOSのシステム環境設定でPower Napを無効にする。今回は関係ありませんでした。
  • BIOS設定で、Advanced / AMP Configuration / Power On By PCI-E/PCIをEnabledにする(出荷時設定はDesable)。ASUSマザボの問題が解決したという報告がありましたが、今回は無効でした。
  • EmuVariableUefi-64.efiもしくはEmuVariableUefi.efiを入れる(今回のシャットダウン解決策)。
  • CloverブートメニューでF11を押してnvramをリセットする。
  • /Library/Preferences/com.apple.PowerManagement.*ファイルを消す。これを消してもmacOSが自動作成してくれます。
    sudo rm /Library/Preferences/com.apple.PowerManagement.*
  • スリープからの復帰で画面が暗いままな状況はグラフィックスの問題でした。iGPUのデバイスIDを指定したら治りました。
  • いただいたコメントによると、ディスプレイを接続しているカードのコネクタを変えると治ることもあるようです。HDMIではダメだったけどDPにしたらスリープ解決したそうです。

8件のコメント

  1. アップありがとうございます。

    この全部をやってもシャットダウン問題が解決しない場合はどうすればいいですか?

    1. ちょっとわかりません、すみません。asus shutdown sleep hackintoshで検索するなどしてみてください。

  2. ヒントをありがとうございます。
    CPU Corei7-8700
    MB ASUS Prime H370-A
    RAM 8GBx2
    VGA Radeon RX-570(MSI)
    で、Mojaveの環境を作っていたのですが、
     βのころの、OsxAptioDrv2Fix-64.efiを使うものが多く、最新のCloverではチェックがないので、いまいち推奨でなはい雰囲気があったので、困っていました。
     AptioMemoryFix-64.efiのみを使う、HackintosherのブータブルUSBではリブート・シャットダウン・スリープに失敗し、インストールできませんでした。
     TechHowdyのEFIに至って、リブート・シャットダウン・スリープができるので、なぜかと試行錯誤しておりましたが、(https://hacnohulot.exblog.jp/29234374/)
     ここの「ヒント」と、「バニラな設定」をもとに再構成しましたところ、EmuVariableUefi-64.efiに気が付き、うまく推奨ドライバのみの構成とできました。(https://hacnohulot.exblog.jp/29195828/)
     ありがとうございました。

  3. コメント失礼いたします。
    現在、
    マザボ: ASUS ROG STRIX Z390-F GAMING
    CPU: Core i7 9700K
    GPU: ASUS DUAL-RX580-O8G
    で、Hackintoshを使用しております。

    殆どbootmacosさんのconfig.plistと同じなのですが、どうやってもスリープ復帰時にディスプレイが真っ黒なまま、強制再起動をしなければ認識されない状態になっております。

    この問題はHDMI2.0を使用し、4K60Hzで運用した場合のみ起こる現象なのですが、なにかfixはご存知ないでしょうか?
    ちなみに、System Informationで見られる”Graphics/Displays”の項目は以下の様になっております。

    Radeon RX 580:

    Chipset Model: Radeon RX 580
    Type: GPU
    Bus: PCIe
    PCIe Lane Width: x16
    VRAM (Dynamic, Max): 8192 MB
    Vendor: AMD (0x1002)
    Device ID: 0x67df
    Revision ID: 0x00e7
    Metal: Supported, feature set macOS GPUFamily2 v1
    Displays:
    IPS32B4KHDR:
    Resolution: 6016 x 3384
    UI Looks like: 3008 x 1692 @ 60 Hz
    Framebuffer Depth: 30-Bit Colour (ARGB2101010)
    Main Display: Yes
    Mirror: Off
    Online: Yes
    Rotation: Supported
    Automatically Adjust Brightness: No
    Connection Type: DisplayPort
    Television: Yes

    長々と申し訳ございませんが、何卒宜しくお願いいたします。

    1. 実はこちらも同じ様な状況で試行錯誤中です。画面が暗くなってから10秒くらいの間は復帰するのですが、それ以降では復帰しなくなります。数分でファンが止まり、キーボード操作で回転開始するのですが、画面が復帰しないです。進展あったら追記したいと思います。何か情報ありましたらよろしくです。

      1. ご返信をいただき、誠にありがとうございます。

        やはり同じ問題があるのですねえ・・・
        ちなみに、bootmacos様の場合、HDMI接続(4K60Hz)のみでしょうか?

        うーん・・・tonymacx86.comのForumだと、
        https://www.tonymacx86.com/threads/asus-rog-strix-z390-i-gaming-motherboard-specs.259848/
        あたりの情報が近そうなのですが、いかんせんHackintoshに詳しくないもので・・・

        ちょうどよく明日ディスプレイを交換するので、別のディスプレイで、DPも含め少々テストしてみますね。

      2. その後の報告です。

        前回使用していたディスプレイが不良品だったこともあり、LGの32インチ4Kディスプレイ(Apple Storeで販売されているものではなく、Amazon限定の安いものです)を購入して再度試してみました。

        1. ディスプレイによる問題なのではないか -> おそらく異なる
        今回購入したLGのディスプレイでも、HDMIポートを使用した状態ではスリープからの復帰ができませんでした。
        また、新ディスプレイは入力切替が手動です。
        このことから、ディスプレイの自動入力切替機能に起因するものやメーカーの問題ではないと考えられます。

        2. DisplayPortならスリープ復帰ができるのか -> 出来た
        HDMIケーブルをぶっこ抜き、DisplayPortケーブルを挿したところ、呆気なくスリープ復帰が出来てしまいました。問題が解決してしまった・・・。

        HDMIの場合も、挙動として
        PCのスリープ復帰→ディスプレイがPCを認識、復帰→ディスプレイが映像を認識出来ない
        なので、よくわからない問題ですね・・・。

        1. 情報ありがとうございます。今手元にマシンがないのですぐに試せないのですが、先週DPを試したところでは同じ様にスリープ失敗していました。もう一度試してみます。

          >HDMIの場合も、挙動として
          >PCのスリープ復帰→ディスプレイがPCを認識、復帰→ディスプレイが映像を認識出来ない

          多分これはスリープ復帰でHDMIに電圧が出るのでディスプレイがそれに反応しているだけかなと思っています。

返信を残す

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