AMD Clover config.plist

Config.plist for AMD CPUs

Before anything

  • Please get the patches.plist (Ryzen, FX) from AMD OS X Github (Right click, Save Page As, Remember to change the suffix to .plist)

  • Open patches.plist with Clover Configurator (CCG) or Clover Cloud Editor (CCE).

If you are using CCE, please go to home page and set Show Find/Replace/TgtBridge values as:toHexbecause the following CCE screenshots are in Hex.

ACPI

RAW XML

<key>ACPI</key>
<dict>
<key>DSDT</key>
<dict>
<key>Fixes</key>
<dict>
<key>FixShutdown</key>
<true/>
</dict>
<key>Patches</key>
<array>
<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>
</array>
</dict>
<key>FixHeaders</key>
<true/>
</dict>

Explanations

Patches:

The first thing we'll go over is the Patches section. This section allows us to dynamically rename parts of the DSDT via Clover. Since we're not running a real mac, and macOS is pretty particular with how things are named, we can make non-destructive changes to keep things mac-friendly. We have one entries here:

  • change SAT0 to SATA - for potential SATA compatibility

Enable Fix Shutdown

  • This can fix some shutdown issues like reboot instead of shutting down. But this might also cause shutdown issues on some board. So if you are having some issues with shutting down, disable this.

CCE Screenshot

Boot

RAW XML

<key>Boot</key>
<dict>
<key>Arguments</key>
<string>-v npci=0x2000</string>
<key>DefaultVolume</key>
<string>LastBootedVolume</string>
<key>Legacy</key>
<string>PBR</string>
<key>Timeout</key>
<integer>-1</integer>
</dict>

Explanations

Arguments:

  • -v - enable verbose which shows all the behind-the-scenes text that scrolls by as you're booting instead of the Apple logo and progress bar. It is very helpful for tracking issues are fixing them.

  • npci=0x2000 - a fix for stuck at [PCI Configuration Start].

Default Volume - setting the default volume for booting.

  • LastBootedVolume - let Clover uses the last booted volume (no matter if it boot successfully) as default.

Timeout (sec) - setting the timeout for auto-booting.

  • -1 - disable auto-boot.

Legacy (PBR) - let Clover use PBR to boot legacy system.

CCE Screenshot

Boot Graphics (which doesn't matter much)

We have nothing to do here. You can tweak it if Clover doesn't show correctly.

CPU

We have nothing to do here also.

Devices

RAW XML

<key>Devices</key>
<dict>
<key>Audio</key>
<dict>
<key>ResetHDA</key>
<true/>
</dict>
<key>USB</key>
<dict>
<key>Inject</key>
<true/>
<key>FixOwnership</key>
<true/>
</dict>
</dict>

Explanations

  • Reset HDA - Puts the codec back in a neutral state between OS reboots. This prevents some issues with no audio after booting to another OS and then back.

  • USB - Under this section, we ensure that Inject and FixOwnership are selected to avoid issues with hanging at a half-printed line somewhere around the Enabling Legacy Matching verbose line. You can also get past that by enabling XHCI Hand Off in BIOS.

CCE Screenshot

Disable Drivers

We have nothing to do here.

GUI

RAW XML

<key>GUI</key>
<dict>
<key>Scan</key>
<dict>
<key>Entries</key>
<true/>
<key>Linux</key>
<true/>
<key>Tool</key>
<true/>
</dict>
</dict>

Explanation

Scan:

The only settings I've tweaked on this page are the Scan settings. I've selected Custom, then checked everything except Legacy and Kernel. This just omits some of the unbootable entries in Clover to clean up the menu.

CCE Screenshot

Graphics

RAW XML

<key>Graphics</key>
<dict>
<key>Inject</key>
<false/>
<key>RadeonDeInit</key>
<false/>
</dict>

Please refer to GPU Buyers Guide and see which settings do you need for your GPU.

Kernel And Kexts Patches

The patches.plist (which you are editing) already has all of the patches you want to have. Those patches are used to patch the native Kernel.

  • AppleRTC (enabled) - this ensures that we don't have a BIOS reset on reboot.

CCE Screenshot

Rt Variables and SMBIOS

RAW XML (Rt Variables)

<key>RtVariables</key>
<dict>
<key>BooterConfig</key>
<string>0x28</string>
<key>CsrActiveConfig</key>
<string>0x3e7</string>
<key>ROM</key>
<string>UseMacAddr0</string>
</dict>

Explanation

RT Variables: (From CorpNewt's Vanilla Guide)

We set Rt Variables -> ROM to UseMacAddr0 which just utilizes our onboard Mac address - this should be unique enough to not conflict with any others.

BooterConfig gets set to 0x28, and CsrActiveConfig is set to 0x3e7 which effectively disables SIP as SIP is not supported on AMD Systems unfortunately.

SMBIOS: Skip this first

CCE Screenshot

System Parameters

RAW XML

<key>SystemParameters</key>
<dict>
<key>InjectKexts</key>
<string>Yes</string>
<key>InjectSystemID</key>
<true/>
</dict>

Explanations

Inject Kexts:

This setting has 3 modes:

  • Yes - this tells Clover to inject kexts from the EFI regardless.

  • No - this tells Clover not to inject kexts from the EFI.

  • Detect - this has Clover inject kexts only if FakeSMC.kext or VirtualSMC.kext are not in the kext cache.

We set it to Yes to make sure that all the kexts we added before get injected properly.

Inject System ID:

This setting tells clover to set the SmUUID as the system-id at boot - which is important for iMessage and such.

NvidiaWeb:

This setting will force nvda_drv=1 on every boot, this is recommended for users with non-functional NVRAM (EmuVariableUEFI) or issues switching from the default macOS drivers to the Nvidia WebDrivers.

CCE Screenshot

Save and Exit

At this point, you can do File -> Save to save the config.plist (or go back to home page and download your config.plist if you are using CCE). Keep it to somewhere you'll remember.

Now go to the next page to configure SMBIOS.