Contribute
Register

Z97X-UD5H-BK / i7-4790K / Radeon Vega 56 - Sonoma

If you use the SSDT-EHCx-OFF.aml table you will need to redo/start from scratch with your USBPorts.kext. As it will remove all the EHC1/EH01 & EHC2/EH02 ports, transferring them all to the XHC USB controller.

You will not need the EHC1 and EHC2 rename patches, if your use this table.

Changes to the SSPx Port names is cosmetic and nothing to worry about.

SSDT-USB-Fix-Shutdown.aml, does what the name suggests. It fixes a common USB error that prevents the system shutting down, i.e. causes the system to automatically reboot without any interaction from the User.

SSDT-SBUS-MCHC.aml, fixes issues PC's can have when running macOS. It helps the system activate DVL0 and adds the MCHC device that macOS expects to be present. The SSDT I used is a combination of two separate SSDT's.

These SSDT's were taken from @VioletDragon Series-9-Patches Github repository.


There are additional SSDT's in VioletDragon's repository, but I found I didn't need them all with my Z97X-UD5H & Z97X-UD5H-BK boards.
 
There is another Repository containing similar SSDT fixes for the 100-Series systems, like your Z170N-WiFi board. That might be of help if you are seeing any issues with that Skylake system.

 
There is another Repository containing similar SSDT fixes for the 100-Series systems, like your Z170N-WiFi board. That might be of help if you are seeing any issues with that Skylake system.

What to say ... you rocks, thank you so much ! My Skylake is the next step, yes ;).
 
Hi,

Sorry, I'm a bit lost, I must do something wrong but googleing it didn't helped ...

I've added some ACPI patches from Voiletdragon github, then I edit my plist to add them, and then I thought I needed to add too, from the "acpi_dsdt_patches", what is under "ACPI -> DSDT ->Patches" in "ACPI -> patches" in my config.plist. But if I do that, I have "... schema for disabled at 1" during BIOS startup, and OCValidate return many errors.

Here's my ACPI folder :
Capture d’écran 2024-02-08 à 10.04.27.png


Do I need those patches in config.plist ? (I thought I really do but ...)

Here's my config.plist with the patches (or do I need to create a sub ACPI with "DSDT" as it is in "acpi_dsdt_patches" ?)

Again, thanks so much
 

Attachments

  • Config.plist
    32.8 KB · Views: 8
Hi,

Sorry, I'm a bit lost, I must do something wrong but googleing it didn't helped ...

I've added some ACPI patches from Voiletdragon github, then I edit my plist to add them, and then I thought I needed to add too, from the "acpi_dsdt_patches", what is under "ACPI -> DSDT ->Patches" in "ACPI -> patches" in my config.plist. But if I do that, I have "... schema for disabled at 1" during BIOS startup, and OCValidate return many errors.

Here's my ACPI folder :
View attachment 578304

Do I need those patches in config.plist ? (I thought I really do but ...)

Here's my config.plist with the patches (or do I need to create a sub ACPI with "DSDT" as it is in "acpi_dsdt_patches" ?)

Again, thanks so much
this section is in the wrong format:

Code:
<key>Patch</key>
        <array>
            <dict>
                <key>Comment</key>
                <string>change _DSM to XDSM</string>
                <key>Find</key>
                <data>X0RTTQ==</data>
                <key>Replace</key>
                <data>WERTTQ==</data>
            </dict>
            <dict>
                <key>Comment</key>
                <string>change Method(XWAK,0,S) to ZWAK</string>
                <key>Find</key>
                <data>WFdBSwg=</data>
                <key>Replace</key>
                <data>WldBSwg=</data>
            </dict>
            <dict>
                <key>Comment</key>
                <string>change _OSI to XOSI</string>
                <key>Disabled</key>
                <false/>
                <key>Find</key>
                <data>X09TSQ==</data>
                <key>Replace</key>
                <data>WE9TSQ==</data>
            </dict>
            <dict>
                <key>Comment</key>
                <string>change SAT0 to SATA</string>
                <key>Disabled</key>
                <false/>
                <key>Find</key>
                <data>U0FUMA==</data>
                <key>Replace</key>
                <data>U0FUQQ==</data>
            </dict>

example, this is the correct format:

Code:
<dict>
                <key>Base</key>
                <string></string>
                <key>BaseSkip</key>
                <integer>0</integer>
                <key>Comment</key>
                <string>HPET _STA to XSTA Rename</string>
                <key>Count</key>
                <integer>0</integer>
                <key>Enabled</key>
                <true/>
                <key>Find</key>
                <data>ABQRX1NUQQ==</data>
                <key>Limit</key>
                <integer>0</integer>
                <key>Mask</key>
                <data></data>
                <key>OemTableId</key>
                <data>AAAAAA==</data>
                <key>Replace</key>
                <data>ABQRWFNUQQ==</data>
                <key>ReplaceMask</key>
                <data></data>
                <key>Skip</key>
                <integer>0</integer>
                <key>TableLength</key>
                <integer>0</integer>
                <key>TableSignature</key>
                <data>AAAAAA==</data>
            </dict>
 
Looks as though you have used the ACPI Clover patches in your OpenCore config.plist.

There should be a second plist, oc_patches.plist, which was generated specifically for OpenCore. This should have been generated along with the one you used when using Corpnewt's SSDTTime script. If you haven't use the script copying someone else's patches can be an issue.


You need to replace the ACPI patches currently in your config with the OC ACPI patches.

You have a couple of duplicate SSDT's, you also have a few you don't need, I never needed them with the same Haswell motherboard.

Unnecessary SSDT's.
  • SSDT-LPC.aml
  • SSDT-MCHC.aml *
  • SSDT-SMBUS.aml *
  • SSDT-USB-ALL.dsl
Your motherboard's DSDT.aml will contain the correct settings for the LPC device, so SSDT-LPC.aml is not required.

As you are using SSDT-SBUS-MCHC.aml you don't need the two individual tables in the list above marked with an * as they do the same job.

You should never have a .dsl table in your ACPI folder, as this is a disassembled (editable) ACPI table and does nothing for your system. It should be deleted from the folder and config.plist along with the other three listed above.

You should Enable the OC Kernel > Quirks > XhciPortLimit entry in your config.plist when undertaking the USB port discovery. Once you have your custom USBPorts.kext added to your OC setup you can disable the XhciPortLimit quirk.

I have never needed or used SSDT-HACK.aml in any of my Haswell systems.

I would recommend adding SSDT-USBX.aml to your ACPI folder and config.plist. As this will provide the correct USB power settings in macOS. This is required when using a SMBIOS that is different to the native Haswell SMBIOS(s) iMac14,2 or iMac15,1.
 
Thanks both !

I haven't copied ACPI from someone, I've done mine with SSDTTime, and took the patches for OC. But then I've added more form Voilet Dragon, and those ones are given with Clover patches, as mentioned by Feartech !

The .dsl was an error from me, thanks for pointing it out.

I will remove the SSDT accordingly, thanks !

I had the XhciPortLimit while doing my USB kext, USB is (normally) running properly. But you speak of SSDT-USBX.aml in your post, I thought you said to not mix SSDT-USBX.aml with USBPorts.kext ? And my SMBIOS is iMac 15,1.
Edit 20/02/2022:
SSDT-USBX.aml should not be used alongside USBPorts.kext, as both the ACPI table and the kext contain USB power settings for your system, and it is never a good thing to duplicate these settings.

So I keep SATA, XHC and XWAK from Voilet, right ? I need to find the according patches and convert them to OC format ...

Thank you both again

[edit] BTW, what is XOSI SSDT for please ? I found it was for the trackpad, but you don't seem to have one. And you use SATA kext, but Feartech recommended to remove SATA kext, do I need those ?
 
Last edited:
The SATA kext I use fixes a cosmetic issue, where the Intel SATA controller is named 'Generic' by macOS. The kext simply tells macOS to use the 'Intel 9 Series SATA controller' name instead of 'Generic SATA'.

The SSDT-XOSI.aml table and accompanying APCI rename patch, simply tells macOS to treat the system as if it were a 'Windows 2013' or 'Windows 2015' system. The Windows version selected when generating the ACPI table, using Corpnewt's SSDTTime script, will be set by the system you are hacking. My Z97X-UD5H-BK was set as 'Windows 2013'.
 
Hi @Edhawk , I just came to say Great Thanks to you. I used your efi without any changes for installing Sonoma 14.3.1 by OC 9.5 on my msi z97 gaming 5 + i7 4770 + Sapphire RX580 sp2048 (with patched bios as 580) and it stands pretty smooth: no panics, freezes, unstables - all just fine. You're the best!
 
The SATA kext I use fixes a cosmetic issue, where the Intel SATA controller is named 'Generic' by macOS. The kext simply tells macOS to use the 'Intel 9 Series SATA controller' name instead of 'Generic SATA'.

The SSDT-XOSI.aml table and accompanying APCI rename patch, simply tells macOS to treat the system as if it were a 'Windows 2013' or 'Windows 2015' system. The Windows version selected when generating the ACPI table, using Corpnewt's SSDTTime script, will be set by the system you are hacking. My Z97X-UD5H-BK was set as 'Windows 2013'.
OK, thank you, so I don't need the SATA kext.

I don't understand the thing about telling Mac OS the windows version, didn't used that before, what is the purpose of this ?

I still need to understand why the MacOS boot is so long when IGPU is enabled, as the windows boot is just a few seconds, there's something wrong with the Mac side, but your post helped me a lot to set up a proper Hack ! :)
 
Back
Top