HaC Mini Hackintosh
  • Welcome
  • Mac vs HaC
  • Installation Guide
    • BIOS Settings
    • Installation
    • Boot Camp
  • Post-Installation
    • Replacing Wifi Card
    • DW1820A Wifi
    • Support
  • Technical Details
    • Hades Canyon NUC
    • Metal Driver Fix
    • Thunderbolt 3 Fix (Part 1)
    • Thunderbolt 3 Fix (Part 2)
    • Thunderbolt 3 Fix (Part 3)
    • HDA Fix
    • USB Fix
    • Secure Boot
  • Legacy Guide (Clover)
    • Getting Started
    • Installation
    • Clover Settings Annotated
Powered by GitBook
On this page
  • ACPI
  • Boot
  • Devices
  • Graphics
  • KernelAndKextPatches

Was this helpful?

  1. Legacy Guide (Clover)

Clover Settings Annotated

Do not blindly enable Clover options because some random poster recommended it. Always start with an empty configuration and enable only options that are needed. This page details the reasoning behind each entry in config.plist.

ACPI

	<key>ACPI</key>
	<dict>
		<key>DSDT</key>
		<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>
				<dict>
					<key>Comment</key>
					<string>change HDAS to HDEF</string>
					<key>Disabled</key>
					<false/>
					<key>Find</key>
					<data>
					SERBUw==
					</data>
					<key>Replace</key>
					<data>
					SERFRg==
					</data>
				</dict>
				<dict>
					<key>Comment</key>
					<string>change NTFY to XTFY</string>
					<key>Disabled</key>
					<false/>
					<key>Find</key>
					<data>
					TlRGWQk=
					</data>
					<key>Replace</key>
					<data>
					WFRGWQk=
					</data>
				</dict>
				<dict>
					<key>Comment</key>
					<string>change RWAK to XWAK</string>
					<key>Disabled</key>
					<false/>
					<key>Find</key>
					<data>
					UldBSwk=
					</data>
					<key>Replace</key>
					<data>
					WFdBSwk=
					</data>
				</dict>
				<dict>
					<key>Comment</key>
					<string>change XHC to XHC2 on TBDU</string>
					<key>Disabled</key>
					<false/>
					<key>Find</key>
					<data>
					WEhDXwhfQURSAA==
					</data>
					<key>Replace</key>
					<data>
					WEhDMghfQURSAA==
					</data>
				</dict>
				<dict>
					<key>Comment</key>
					<string>change TBDU.XHC to TBDU.XHC2</string>
					<key>Disabled</key>
					<false/>
					<key>Find</key>
					<data>
					VEJEVVhIQ18=
					</data>
					<key>Replace</key>
					<data>
					VEJEVVhIQzI=
					</data>
				</dict>
				<dict>
					<key>Comment</key>
					<string>change PNP0C09 to PNPFFFF</string>
					<key>Disabled</key>
					<false/>
					<key>Find</key>
					<data>
					QdAMCQ==
					</data>
					<key>Replace</key>
					<data>
					QdD//w==
					</data>
				</dict>
				<dict>
					<key>Comment</key>
					<string>change HS09._UPC to HS09.XUPC</string>
					<key>Disabled</key>
					<false/>
					<key>Find</key>
					<data>
					SFMwORQMX1VQQw==
					</data>
					<key>Replace</key>
					<data>
					SFMwORQMWFVQQw==
					</data>
				</dict>
				<dict>
					<key>Comment</key>
					<string>change GFX0 to IGPU</string>
					<key>Disabled</key>
					<false/>
					<key>Find</key>
					<data>
					R0ZYMA==
					</data>
					<key>Replace</key>
					<data>
					SUdQVQ==
					</data>
				</dict>
				<dict>
					<key>Comment</key>
					<string>change H_EC to EC</string>
					<key>Disabled</key>
					<false/>
					<key>Find</key>
					<data>
					SF9FQw==
					</data>
					<key>Replace</key>
					<data>
					RUNfXw==
					</data>
				</dict>
			</array>
		</dict>
		<key>SSDT</key>
		<dict>
			<key>Generate</key>
			<dict>
				<key>PluginType</key>
				<true/>
			</dict>
		</dict>
	</dict>

Boot

	<key>Arguments</key>
	<string>alcid=11 -disablegfxfirmware</string>
	<key>Boot</key>
	<dict>
		<key>NeverHibernate</key>
		<true/>
	</dict>
	<key>XMPDetection</key>
	<string>Yes</string>

Devices

	<key>Devices</key>
	<dict>
		<key>Properties</key>
		<dict>
			<key>PciRoot(0)/Pci(1,0)/Pci(0,0)</key>
			<dict>
				<key>device-id</key>
				<data>
				4GcAAA==
				</data>
			</dict>
			<key>PciRoot(0)/Pci(1,2)/Pci(0,0)</key>
			<dict>
				<key>name</key>
				<string>pci14e4,16bc</string>
			</dict>
			<key>PciRoot(0)/Pci(31,0)</key>
			<dict>
				<key>name</key>
				<string>pci8086,9cc1</string>
			</dict>
		</dict>
	</dict>

The first device-id patch chages the Vega M to be recognized as a Baffin GPU so the graphics accelerator can be enabled. The first name patch changes the device name for the SD card reader so it can be recognized by AppleSDHC. The second name patch makes AppleLPC get recognized on the LPC device (the driver does some non-critical power management).

Graphics

	<key>Graphics</key>
	<dict>
		<key>Inject</key>
		<dict>
			<key>Intel</key>
			<true/>
		</dict>
		<key>ig-platform-id</key>
		<string>0x59120003</string>
	</dict>

This enables the iGPU.

KernelAndKextPatches

	<key>KernelAndKextPatches</key>
	<dict>
		<key>KernelPm</key>
		<true/>
		<key>KernelToPatch</key>
		<array>
			<dict>
				<key>Comment</key>
				<string>MSR 0xE2 _xcpm_idle instant reboot(c) Pike R. Alpha</string>
				<key>Disabled</key>
				<false/>
				<key>Find</key>
				<data>
				ILniAAAADzA=
				</data>
				<key>Replace</key>
				<data>
				ILniAAAAkJA=
				</data>
			</dict>
		</array>

These are needed for CPU power management. Both patch issues with a locked MSR 0xE2 (many motherboards including Intel NUC do this) in different places.

PreviousInstallation

Last updated 5 years ago

Was this helpful?

SAT0 patch fixes potential SATA compatibility issues (untested). HDEF is checked by AppleHDAController to identify a controller as "not GFX." The NTFY and RWAK patches are to . The two patches to rename TBDU.XHC to TBDU.XHC2 are required for because they require a unique device name and XHC is already taken by the PCH XHCI controller. The XHC.GPEH patch redirects the USB hotplug events from the original SB.PCI0.XHC device (which we disable in a custom SSDT) to the PCH XHCI SB.PCI0.XHC device. We disable the PNP0C09 device which is recognized as the embedded-controller by OSX. It has to be disabled because the NUC has a "virtual" EC that ignores reads/writes to it and this confuses OSX (for example, if it sees there's an EC, it will try to write sleep/wake info to it). However, to enable USB power management, we still rename H_EC to EC even though we do not use the EC. The power management kext does not actually do anything hardware-wise, but it does set static limits for the USB controller to use. The HS09._UPC change allows us to redefine the _UPC method in the SDST in order for OSX to recogize the Wifi/BT card as internal (otherwise the port does not show up). Finally, the GFX0 to IGPU patch allows the graphics power management drivers to load for the Intel iGPU.

This is needed to .

The alcid argument is for AppleALC for our . disablegfxfirmware is required for Intel iGPU to boot since Apple's iGPU firmware is not supported. Hiberation is not implemented so we make sure we do not accidently trip it. XMP detection is only useful for people who overclock their RAM.

enable XCPM
HDA fix
fix TB3 hotplugging
TB3 companion ports