Contribute
Register

[GUIDE] macOS Monterey + Clover 5142 on Z390 Aorus Elite + RX580

Status
Not open for further replies.
Joined
Dec 10, 2010
Messages
1,377
Motherboard
Gigabyte Z390 Aorus Elite
CPU
i9-9900K
Graphics
RX 6600 XT
Mobile Phone
  1. iOS
The same setup I use with Big Sur has worked for Monterey. This is a (short) guide using Clover 5142.

Hardware
  • Gigabyte Z390 Aorus Elite motherboard: Realtek ALC1220 audio, Intel I219V Ethernet
  • Intel i7 9700 CPU (Intel UHD Graphics 630 iGPU)
  • AMD Radeon RX580 8GB graphics card
  • Wifi and Bluetooth Fenvi FV-T919.
What works well?
  • Radeon RX580 (VDA decoder fully supported)
  • Shutdown, restart and sleep
  • Audio (ALC1220 and HDMI)
  • USB ports (USBMap.kext specific for this motherboard)
  • Airdrop, iMessage.
BIOS settings (version F10h)
  • CFG Lock: Disabled
  • CSM: Disabled
  • VT-d: Disabled
  • Fast Boot: Disabled
  • OS Type: Windows 8/10
  • Platform Power Management: Disabled
  • XHCI Hand-Off: Enabled
  • Network Stack: Disabled
  • Wake on LAN: Disabled
  • Secure Boot: Disabled
  • DVMT Pre-Allocated: 256M or higher
  • Integrated Graphics: Disabled / Enabled (according to SMBIOS).
config.plist

Clover 5142 is the latest revision at the time of writing. It can be downloaded from its GitHub site, you have to select CloverV2-5142.zip, not the PKG. These are the most important settings in the configuration file.

ACPI
  • DSDT patches / RenameDevices >> change HDAS to HDEF (although AppleALC changes this automatically, sound doesn't work fine without it) >> not required.
  • Fixes: AddHDMI, DeleteUnused, FixACST, FixADP1, FixDarwin7, FixRTC, FixRegions, FixS3D, FixTMR and FixWAK >> True.
  • DropTables: DMAR y MATS.
  • FixHeaders y HaltEnabler >> True.
  • SSDT >> PluginType=True.
Boot
  • Arguments=slide=0 darkwake=8 agdpmod=pikera
  • Setting the DefaultVolume with the volume name sometimes fails but works fine with part of the PCI path to the device (Device Path), visible in Clover's bootlog. Example:
    Code:
    DefaultVolume=HD(2,GPT,D2F3E609-1259-48DE-90C1-8229F87B9973,0x64028,0x1D161920)
Devices
  • Audio: Inject=13 (11 is also valid) and AFGLowPowerState=True.
  • Properties (to improve waking from sleep with a single touch of the keyboard or mouse):
  • XML:
        <key>PciRoot(0x0)/Pci(0x14,0x0)</key>
        <dict>
                <key>acpi-wake-type</key>
                <data>AQ==</data>
GUI

HideVolume >> \EFI\BOOT\BOOTX64.EFI, Recovery, Legacy y Windows. This way, only macOS and Windows boot volumes are shown.

KernelAndKextPatches
  • DellSMBIOSPatch=True. Although is a patch for Dell systems, Clover doesn't pass SMBIOS data to Windows avoiding some inconvenients.
  • KextToPatch >> Enable TRIM for SSD.
  • PanicNoKextDump=True.
Quirks

AvoidRuntimeDefrag / DevirtualiseMmio / DisableIoMapper / DisableLinkeditJettison / EnableSafeModeSlide / FuzzyMatch / ProtectUefiServices / ProvideCustomSlide / RebuildAppleMemoryMap / SetupVirtualMap / SyncRuntimePermissions >> True.

RTVariables
  • BooterConfig=0x28.
  • CsrActiveConfig=0x00000000.
  • ROM=UseMacAddr0.
SystemParameters

InjectKexts / InjectSystemID >> True.

SMBIOS

SMBIOS model that works best on my Monterey system is MacPro7,1. This Mac model requires:
  • AMD RX580 dGPU as main card
  • Intel 630 iGPU disabled in BIOS
  • RestrictEvents.kext to avoid RAM misconfiguration warnings.
CPUFriend.kext

Although the CPU is well detected with MacPro's SMBIOS, my guess is that it does not run at low frequency as often as it does with iMac19.1. With CPUFriendDataProvider.kext + CPUFriend.kext the CPU shows correct power management and frequency drops to 800 MHz at system idle.

SSDTs, drivers and kexts

SSDTs in EFI/CLOVER/ACPI/patched:
  • SSDT-EC-USBX: fake Embedded Controller on Skylake and later, also fix USB power
  • SSDT-PLUG: power management on Haswell and newer CPUs; to configure the plugin-type=1 parameter on the first processor.
  • SSDT-PMC: native NVRAM support on systems that lack it, for example Z390 chipsets
Drivers in EFI/CLOVER/drivers/UEFI:
  • ApfsDriverLoader.efi: to detect APFS partitions
  • VBoxHfs.efi: to detect HFS+ partitions
  • OpenRuntime.efi: essential driver to run macOS.
Kexts in EFi/CLOVER/kexts/Other:
  • CPUFriend.kext
  • CPUFriendDataProvider.kext
  • IntelMausi.kext
  • Lilu.kext
  • NVMeFix.kext
  • RestrictEvents.kext
  • SMCProcessor.kext
  • SMCSuperIO.kext
  • USBMap.kext (specific for this motherboard)
  • VirtualSMC.kext
  • WhateverGreen.kext.
Remember: Lilu must be always the first kext to be loaded.

iGPU without dGPU

If you don't have an external graphics card and you need to use the integrated one, you have to do these changes:
  • required: enable iGPU in BIOS (and put it as main card)
  • iMac19,1 SMBIOS model
  • remove RestrictEvents.kext, CPUFriendDataProvider.kext and CPUFriend.kext
  • add in config.plist >> boot >> Arguments >> igfxonln=1
  • add in config.plist >> Devices >> Properties >> code to patch the framebuffer so that the iGPU is well detected.
    XML:
             <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
                <dict>
                    <key>AAPL,ig-platform-id</key>
                    <data>BwCbPg==</data>
                    <key>framebuffer-patch-enable</key>
                    <data>AQAAAA==</data>
                    <key>framebuffer-con0-enable</key>
                    <data>AQAAAA==</data>
                    <key>framebuffer-con1-enable</key>
                    <data>AQAAAA==</data>
                    <key>framebuffer-con2-enable</key>
                    <data>AQAAAA==</data>
                    <key>framebuffer-con0-alldata</key>
                    <data>AQAJAAAEAADHAwAA</data>
                    <key>framebuffer-con1-alldata</key>
                    <data>AgAKAAAEAADHAwAA</data>
                    <key>framebuffer-con2-alldata</key>
                    <data>AwQIAAAIAADHAwAA</data>
                    <key>framebuffer-stolenmem    </key>
                    <data>AAAwAQ==</data>
                    <key>hda-gfx</key>
                    <string>onboard-1</string>
                    <key>name</key>
                    <string>Intel UHD Graphics 630</string>
                </dict>
But, at least in my system, with the iGPU as main / single card, using Clover I haven't be able to reach 60 Hz in display frequency, I'm stuck at only 30 Hz. This decreases usability. However using OpenCore I can get 60 Hz at same resolutions. The cause of this behaviour isn't clear for me.
 

Attachments

  • clover-macpro.zip
    4.5 MB · Views: 1,290
  • clover-imac.zip
    4.5 MB · Views: 1,294
Last edited:
The same setup I use with Big Sur has worked for Monterey. This is a (short) guide using Clover 5142.

Hardware
...
I have the exact same motherboard with an RX570 GPU and internal graphics disabled. I have used the Switchresx app in order to display at 120Hz no problems at all using clover ;)
 
I have the exact same motherboard with an RX570 GPU and internal graphics disabled. I have used the Switchresx app in order to display at 120Hz no problems at all using clover ;)
Sorry, bad explanation in my post. What I say about 30 Hz is inside "iGPU without dGPU" section, it’s about Intel 630 as main or single card. Using RX580 there is no problem at all with display freq.

Next time please don’t quote the entire post, put a link or only the part about you’re talking. Thanks.
 
I have the exact same motherboard with an RX570 GPU and internal graphics disabled. I have used the Switchresx app in order to display at 120Hz no problems at all using clover ;)
Well done!!! (shortening the quoted text) :thumbup:
 
ACPI
  • DSDT patches / RenameDevices >> change HDAS to HDEF (although AppleALC changes this automatically, sound doesn't work fine without it).
If HDAS->HDEF is still required, is this an AppleALC.kext bug?
 
If HDAS->HDEF is still required, is this an AppleALC.kext bug?
After reading your post, I've tried without the patch and sound is good, it seemed to me that it was necessary in the past and I kept it by inertia. I modify the post and thanks for the comment.
 
After reading you, I've tried without the patch and sound is good, it seemed to me that it was necessary in the past and I kept it by inertia. I modify the post and thanks for the comment.
Good to know! I thought for a second that the folks at Acidanthera might actually be human.
 
I have i5 9600K and with your SSDT-PLUG I have boot problem.
Do you have one for i5 9600K or can I use SSDT-PLUG-DRTNIA ?

Thanks.
 
@jamesbit
Our CPUs can work with the same SSDT PLUG. Maybe the problem is in another side.

Yo can use SSDT-PLUG-DRTNIA (generic for every one although usually it is fine for all) or create your own with SSDTTime by corpnewt, the best way is:
  • get a clean system DSDT (Windows version of SSDTTime can do this or F4 in Clover boot menu, OpenCore can't do this)
  • open SSDTTime >> 4. Plugin type >> drag and drop the system DSDT >> you get your own SSDT-PLUG-aml.
Often, the SSDT got from SSDTTime and generic work the same but sometimes the first processor has a different ACPI name and the personalised SSDT works better. Generic has options for many ACPI names of the first processor, SSDTTime sets only the real ACPI name of your system.

Anyway, what is the boot problem?
 
Last edited:
It's true the problem was in another side.
The system did not boot because I had the XMP memory profile set to 3000Mhz.
Once disabled, I took the memory to 2666Mhz and everything was fine with SSDT PLUG too.

Thanks.
 
Status
Not open for further replies.
Back
Top