Contribute
Register

RIP Gobias’s Haswell Build: GA-Z87X-UD5H - i7-4770K - RX 580 - macOS Big Sur & Windows 10

Status
Not open for further replies.
Just to let you know, I never did figure this out. Instead of spending time trying to figure this out, I went ahead and did a fresh install using OpenCore instead of Clover. Everything seems to be working well with fewer kexts and drivers.
 
Good morning
I have about the same hardware as yours, and I have a problem with the catalina when I connect a usb camera (logitech c525), after 1 minute the computer freezes, and when I unplug the usb cable the computer returns to normal.

What could be wrong?
Can you send me your efi folder?

Thanks
 
Good morning
I have about the same hardware as yours, and I have a problem with the catalina when I connect a usb camera (logitech c525), after 1 minute the computer freezes, and when I unplug the usb cable the computer returns to normal.

What could be wrong?
Can you send me your efi folder?

Thanks
I don't have a USB camera and haven't had that issue with connecting other USB devices, so I'm not sure what the issue is. I've attached my EFI folder in case it helps, though.
 

Attachments

  • EFI.zip
    22.4 MB · Views: 455
UPDATE: Catalina 10.15.7 Supplemental Update (19H524)

I installed the macOS Catalina 10.15.7 Supplemental Update (19H524) via System Preferences without any issues. I kept Clover at r5122 and didn't update any kexts.
About This Mac 10-15-7 Supplemental 19H524.png
 

UPDATE: Kext Changes


Recently in advance of updating Clover for Big Sur, I reviewed my kexts and config.plist and made some updates/changes. This post will detail changes I made to the kexts I'm using.

Deleted NoVPAJpeg
I deleted NoVPAJpeg.kext because it was used to fix a bug in Mojave that was resolved in Catalina, so this kext is no longer needed.

Added AppleALC for Native Audio
I’ve been using a USB audio adapter for a while because I had so many issues getting native audio to work, and I eventually just gave up. I’ve seen recommendations for using AppleALC.kext, and it sounded easy to set up, so I gave it a shot. Here’s what I did:
  1. Since AppleALC is a Lilu plugin, I first updated Lilu to 1.5.1 and WhateverGreen to 1.4.8 using Clover Configurator (Tools > Kext Installer).
  2. Then, I installed AppleALC also using the Clover Configurator Kext Installer.
  3. Next, I edited my config.plist in Clover Configurator.
    1. Under Devices > Audio, I checked ResetHDA.
    2. The next step was to test supported layout IDs for my audio codec, ALC898, by entering them one-by-one in the Inject field under Devices > Audio and rebooting to see if audio is working:
      1. These are the layout IDs for ALC898: 1, 2, 3, 5, 7, 11, 13, 65, 66, 98, 99, 101
      2. I tried all of these, and none of them worked: 1, 2, 3, 5, 7, 11, 13, 28, 65
      3. Finally, I tried 66 and that worked.
  4. Later, when I was cleaning up my config.plist, I discovered that there were AppleHDA kext patches in there (see my next postfor more details). I wasn’t sure why they were there (I don’t remember adding them), but I had a hunch that may have prevented all those layout IDs I had tested from working. I tested this hunch:
    1. I deleted kext patches but left Inject set to 66, and native audio still worked after rebooting.
    2. Then I changed Inject to 1, and native audio still worked after rebooting. The kext patches must’ve been the issue. If you’re trying to get AppleALC to work, make sure you delete any AppleHDA kext patches in your config.plist.
Audio settings in Clover Configurator:
Audio Settings.png


AppleHDA Kext Patches that were interfering with AppleALC:
AppleHDA Kext Patches.png


FakeSMC vs. VirtualSMC
A quick note about FakeSMC and VirtualSMC: I’ve seen recommendations for the newer VirtualSMC.kext over the older FakeSMC.kext, which is no longer being updated. However, I read elsewhere that FakeSMC worked better for some older builds. It also works with HWMonitor, which I use, but VirtualSMC does not, so at this point, I decided to stick with FakeSMC and its sensor plugins. However, after updating Clover to r5123+, most of my sensors did not show up in HWMonitor, so I ended up switching to VirtualSMC anyway (see my next post for more details on that).

My List of Kexts (at this point)
  • AppleALC
  • FakePCIID (later replaced with custom USBPorts.kext for my Bluetooth adapter)
  • FakePCIID_XHCIMux (later replaced with custom USBPorts.kext for my Bluetooth adapter)
  • FakeSMC (later replaced with VirtualSMC)
    • FakeSMC_ACPISensors
    • FakeSMC_CPUSensors
    • FakeSMC_GPUSensors
    • FakeSMC_LPCSensors
    • FakeSMC_SMMSensors
  • HDMIAudio
  • Lilu
  • WhateverGreen
In my next post, I will detail the changes made to my config.plist.
 
Last edited:
UPDATE: config.plist Cleanup

Recently, in advance of updating Clover for Big Sur, I reviewed my kexts and config.plist and made some updates/changes. This post will detail changes I made to my config.plist (mostly deleting unnecessary or outdated stuff). I tested each change one at a time or in small groups and then rebooted to make sure everything was still working. I’ll break down the changes I made in each section.

ACPI
  1. I deleted Automerge. From what I could find researching, it seems like it’s needed in some cases for DSDT or SSDT, but I don’t have either.
  2. I deleted the following settings that were all set to false but are false by default and therefore not needed:
    1. DSDT > Debug
    2. DSDT > Fixes
    3. DSDT > ReuseFFFF
    4. Fixheaders
    5. HaltEnabler
    6. SSDT > DropOem
    7. SSDT > Generate
  3. I deleted DSDT > #DropOEM_DSM. This is used in some cases for DSDT, which I don’t have. It also had a “#” at the beginning of the key, which meant it was disabled anyway.
  4. I deleted DSDT > Name > DSDT.aml. I think I had a DSDT file at some point when I was trying to get HDMI audio to work (before I found HDMIAudio.kext), but I don’t have it anymore, so this wasn’t doing anything. This was the last setting left under DSDT, so I just deleted the whole DSDT section.
  5. I deleted SSDT > UseSystemIO. This was the last setting left under SSDT, so I just deleted the whole SSDT section.
Boot
  1. I deleted Legacy because it’s used for loading old versions of Windows and Linux, which I don’t have.
  2. I deleted the following settings that were all set to false but are false by default and therefore not needed:
    1. RtcHibernateAware
    2. Secure
    3. XMPDetection
Devices
  1. I deleted FakeID. This was used for iGPUs, but I’ve disabled my iGPU in my BIOS.
  2. I deleted UseIntelHDMI because it was set to false but is false by default and therefore not needed.
  3. As mentioned in my previous post (and below in the Kernel and Kext Patches section), after I discovered and deleted the AppleHDA patches under Kernel and Kext Patches, I changed Audio > Inject from 66 to 1.
Disable Drivers
  1. There was just a single string in this section <string>Nothing</string>, which quite literally seemed to do nothing, so I deleted the entire DisableDrivers section.
GUI
  1. I set Mouse > Enabled to false and deleted Mouse > Speed. This disables the mouse in Clover, which I never use because I prefer the keyboard.
  2. I tried deleting Scan > Legacy, which was set to false, but that made unwanted legacy volumes appear in Clover. I ended up adding this setting back to hide legacy volumes again.
Kernel and Kext Patches
  1. I deleted the following settings that were all set to false but are false by default and therefore not needed:
    1. KernelCpu
    2. KernelLapic
  2. I deleted #FakeCPUID. This is used for unsupported CPUs (mine is supported), and again, the “#” at the beginning of the key meant it was disabled anyway.
  3. I deleted AppleIntelCPUPM. This is used with Sandy/Ivy Bridge CPUs, which I don’t have.
  4. I deleted the following “Remove USB port limit in XHCI kext” under Kext Patches. This is an old patch for USBInjectAll.kext and High Sierra. However, I use FakePCIID.kext and FakePCIID_XHCIMux.kext instead of USBInjectAll.
  5. As mentioned in my last post, I discovered these three AppleHDA patches, and I had a hunch that may have prevented all those layout IDs I had tested from AppleALC from working.
    1. “10.12-AppleHDA/Realtek ALC…”
    2. “10.9-10.12-AppleHDA/Realtek ALC898”
    3. “AppleHDA/Resources/xml&gt;zml”
    4. I deleted these patches, and native audio still worked after rebooting.
    5. Then, I changed Devices > Audio > Inject to 1, and native audio still worked after rebooting. The kext patches must’ve been the issue. If you’re trying to get AppleALC to work, make sure you delete any AppleHDA kext patches in your config.plist.
Below you can view the before and after versions of my config.plist.

In my next post, I will detail how I updated Clover for r5123+.

config.plist before changes:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>ACPI</key>
    <dict>
        <key>AutoMerge</key>
        <true/>
        <key>DSDT</key>
        <dict>
            <key>#DropOEM_DSM</key>
            <dict>
                <key>ATI</key>
                <true/>
                <key>Firewire</key>
                <true/>
                <key>HDA</key>
                <true/>
                <key>HDMI</key>
                <true/>
                <key>IDE</key>
                <true/>
                <key>IntelGFX</key>
                <true/>
                <key>LAN</key>
                <true/>
                <key>LPC</key>
                <false/>
                <key>NVidia</key>
                <true/>
                <key>SATA</key>
                <true/>
                <key>SmBUS</key>
                <false/>
                <key>USB</key>
                <true/>
                <key>WIFI</key>
                <true/>
            </dict>
            <key>Debug</key>
            <false/>
            <key>Fixes</key>
            <dict>
                <key>AddDTGP</key>
                <false/>
                <key>AddHDMI</key>
                <false/>
                <key>AddIMEI</key>
                <false/>
                <key>AddMCHC</key>
                <false/>
                <key>AddPNLF</key>
                <false/>
                <key>DeleteUnused</key>
                <false/>
                <key>FakeLPC</key>
                <false/>
                <key>FixACST</key>
                <false/>
                <key>FixADP1</key>
                <false/>
                <key>FixAirport</key>
                <false/>
                <key>FixDarwin</key>
                <false/>
                <key>FixDarwin7</key>
                <false/>
                <key>FixDisplay</key>
                <false/>
                <key>FixFirewire</key>
                <false/>
                <key>FixHDA</key>
                <false/>
                <key>FixHPET</key>
                <false/>
                <key>FixIDE</key>
                <false/>
                <key>FixIPIC</key>
                <false/>
                <key>FixIntelGfx</key>
                <false/>
                <key>FixLAN</key>
                <false/>
                <key>FixMutex</key>
                <false/>
                <key>FixRTC</key>
                <false/>
                <key>FixRegions</key>
                <false/>
                <key>FixS3D</key>
                <false/>
                <key>FixSATA</key>
                <false/>
                <key>FixSBUS</key>
                <false/>
                <key>FixShutdown</key>
                <false/>
                <key>FixTMR</key>
                <false/>
                <key>FixUSB</key>
                <false/>
                <key>FixWAK</key>
                <false/>
            </dict>
            <key>Name</key>
            <string>DSDT.aml</string>
            <key>ReuseFFFF</key>
            <false/>
        </dict>
        <key>DropTables</key>
        <array>
            <dict>
                <key>Signature</key>
                <string>MATS</string>
            </dict>
        </array>
        <key>FixHeaders</key>
        <false/>
        <key>HaltEnabler</key>
        <false/>
        <key>SSDT</key>
        <dict>
            <key>DropOem</key>
            <false/>
            <key>Generate</key>
            <dict>
                <key>CStates</key>
                <false/>
                <key>PStates</key>
                <false/>
            </dict>
            <key>UseSystemIO</key>
            <true/>
        </dict>
    </dict>
    <key>Boot</key>
    <dict>
        <key>Arguments</key>
        <string>dart=0</string>
        <key>Debug</key>
        <false/>
        <key>DefaultVolume</key>
        <string>macOS</string>
        <key>Legacy</key>
        <string>PBR</string>
        <key>RtcHibernateAware</key>
        <false/>
        <key>Secure</key>
        <false/>
        <key>Timeout</key>
        <integer>10</integer>
        <key>XMPDetection</key>
        <false/>
    </dict>
    <key>BootGraphics</key>
    <dict>
        <key>EFILoginHiDPI</key>
        <integer>2</integer>
        <key>UIScale</key>
        <integer>2</integer>
    </dict>
    <key>Devices</key>
    <dict>
        <key>Audio</key>
        <dict>
            <key>Inject</key>
            <integer>66</integer>
            <key>ResetHDA</key>
            <true/>
        </dict>
        <key>FakeID</key>
        <dict>
            <key>ATI</key>
            <string>0x0</string>
            <key>IMEI</key>
            <string>0x0</string>
            <key>IntelGFX</key>
            <string>0x0</string>
            <key>LAN</key>
            <string>0x0</string>
            <key>NVidia</key>
            <string>0x0</string>
            <key>SATA</key>
            <string>0x0</string>
            <key>WIFI</key>
            <string>0x0</string>
            <key>XHCI</key>
            <string>0x0</string>
        </dict>
        <key>USB</key>
        <dict>
            <key>FixOwnership</key>
            <true/>
            <key>Inject</key>
            <true/>
        </dict>
        <key>UseIntelHDMI</key>
        <false/>
    </dict>
    <key>DisableDrivers</key>
    <array>
        <string>Nothing</string>
    </array>
    <key>GUI</key>
    <dict>
        <key>Hide</key>
        <array>
            <string>Windows</string>
            <string>BOOTX64.EFI</string>
            <string>Preboot</string>
        </array>
        <key>Language</key>
        <string>en:0</string>
        <key>Mouse</key>
        <dict>
            <key>Enabled</key>
            <true/>
            <key>Speed</key>
            <integer>8</integer>
        </dict>
        <key>Scan</key>
        <dict>
            <key>Entries</key>
            <true/>
            <key>Legacy</key>
            <false/>
            <key>Tool</key>
            <true/>
        </dict>
        <key>ScreenResolution</key>
        <string>1920x1080</string>
        <key>Theme</key>
        <string>tonymacx86</string>
    </dict>
    <key>Graphics</key>
    <dict>
        <key>Inject</key>
        <dict>
            <key>ATI</key>
            <false/>
            <key>Intel</key>
            <true/>
            <key>NVidia</key>
            <false/>
        </dict>
    </dict>
    <key>KernelAndKextPatches</key>
    <dict>
        <key>#FakeCPUID</key>
        <string>0x010676</string>
        <key>AppleIntelCPUPM</key>
        <true/>
        <key>AppleRTC</key>
        <true/>
        <key>KernelCpu</key>
        <false/>
        <key>KernelLapic</key>
        <false/>
        <key>KernelPm</key>
        <true/>
        <key>KextsToPatch</key>
        <array>
            <dict>
                <key>Comment</key>
                <string>External icons patch</string>
                <key>Disabled</key>
                <false/>
                <key>Find</key>
                <data>RXh0ZXJuYWw=</data>
                <key>InfoPlistPatch</key>
                <false/>
                <key>Name</key>
                <string>AppleAHCIPort</string>
                <key>Replace</key>
                <data>SW50ZXJuYWw=</data>
            </dict>
            <dict>
                <key>Comment</key>
                <string>10.12-AppleHDA/Realtek ALC...</string>
                <key>Disabled</key>
                <false/>
                <key>Find</key>
                <data>ihnUEQ==</data>
                <key>InfoPlistPatch</key>
                <false/>
                <key>Name</key>
                <string>AppleHDA</string>
                <key>Replace</key>
                <data>AAAAAA==</data>
            </dict>
            <dict>
                <key>Comment</key>
                <string>10.9-10.12-AppleHDA/Realtek ALC898</string>
                <key>Disabled</key>
                <false/>
                <key>Find</key>
                <data>ixnUEQ==</data>
                <key>InfoPlistPatch</key>
                <false/>
                <key>Name</key>
                <string>AppleHDA</string>
                <key>Replace</key>
                <data>mQjsEA==</data>
            </dict>
            <dict>
                <key>Comment</key>
                <string>AppleHDA/Resources/xml&gt;zml</string>
                <key>Disabled</key>
                <false/>
                <key>Find</key>
                <data>eG1sLnps</data>
                <key>InfoPlistPatch</key>
                <false/>
                <key>Name</key>
                <string>AppleHDA</string>
                <key>Replace</key>
                <data>em1sLnps</data>
            </dict>
            <dict>
                <key>Comment</key>
                <string>Remove USB port limit in XHCI kext</string>
                <key>Disabled</key>
                <false/>
                <key>Find</key>
                <data>g32IDw+DpwQAAA==</data>
                <key>InfoPlistPatch</key>
                <false/>
                <key>MatchOS</key>
                <string>10.13.x</string>
                <key>Name</key>
                <string>com.apple.driver.usb.AppleUSBXHCI</string>
                <key>Replace</key>
                <data>g32ID5CQkJCQkA==</data>
            </dict>
        </array>
    </dict>
    <key>RtVariables</key>
    <dict>
        <key>BooterConfig</key>
        <string>0x28</string>
        <key>CsrActiveConfig</key>
        <string>0x3</string>
    </dict>
    <key>SMBIOS</key>
    <dict>
        <key>BiosVersion</key>
        <string>IM142.XXX.XXXX.XXX.XXXXXXXXXX</string>
        <key>ProductName</key>
        <string>iMac14,2</string>
        <key>SerialNumber</key>
        <string>XXXXXXXXXXXX</string>
        <key>Trust</key>
        <false/>
    </dict>
    <key>SystemParameters</key>
    <dict>
        <key>InjectKexts</key>
        <string>Yes</string>
        <key>InjectSystemID</key>
        <true/>
    </dict>
</dict>
</plist>

config.plist after changes:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>ACPI</key>
    <dict>
        <key>DropTables</key>
        <array>
            <dict>
                <key>Signature</key>
                <string>MATS</string>
            </dict>
        </array>
    </dict>
    <key>Boot</key>
    <dict>
        <key>Arguments</key>
        <string>dart=0</string>
        <key>DefaultVolume</key>
        <string>macOS</string>
        <key>Timeout</key>
        <integer>10</integer>
        <key>XMPDetection</key>
        <false/>
    </dict>
    <key>BootGraphics</key>
    <dict>
        <key>EFILoginHiDPI</key>
        <integer>2</integer>
        <key>UIScale</key>
        <integer>2</integer>
    </dict>
    <key>Devices</key>
    <dict>
        <key>Audio</key>
        <dict>
            <key>Inject</key>
            <integer>1</integer>
            <key>ResetHDA</key>
            <true/>
        </dict>
        <key>USB</key>
        <dict>
            <key>FixOwnership</key>
            <true/>
            <key>Inject</key>
            <true/>
        </dict>
    </dict>
    <key>GUI</key>
    <dict>
        <key>Hide</key>
        <array>
            <string>Windows</string>
            <string>BOOTX64.EFI</string>
            <string>Preboot</string>
        </array>
        <key>Language</key>
        <string>en:0</string>
        <key>Mouse</key>
        <dict>
            <key>Enabled</key>
            <false/>
        </dict>
        <key>Scan</key>
        <dict>
            <key>Entries</key>
            <true/>
            <key>Legacy</key>
            <false/>
            <key>Tool</key>
            <true/>
        </dict>
        <key>ScreenResolution</key>
        <string>1920x1080</string>
        <key>Theme</key>
        <string>tonymacx86</string>
    </dict>
    <key>Graphics</key>
    <dict>
        <key>Inject</key>
        <dict>
            <key>ATI</key>
            <false/>
            <key>Intel</key>
            <false/>
            <key>NVidia</key>
            <false/>
        </dict>
    </dict>
    <key>KernelAndKextPatches</key>
    <dict>
        <key>AppleRTC</key>
        <true/>
        <key>KernelPm</key>
        <true/>
        <key>KextsToPatch</key>
        <array>
            <dict>
                <key>Comment</key>
                <string>External icons patch</string>
                <key>Disabled</key>
                <false/>
                <key>Find</key>
                <data>RXh0ZXJuYWw=</data>
                <key>InfoPlistPatch</key>
                <false/>
                <key>Name</key>
                <string>AppleAHCIPort</string>
                <key>Replace</key>
                <data>SW50ZXJuYWw=</data>
            </dict>
        </array>
    </dict>
    <key>RtVariables</key>
    <dict>
        <key>BooterConfig</key>
        <string>0x28</string>
        <key>CsrActiveConfig</key>
        <string>0x3</string>
    </dict>
    <key>SMBIOS</key>
    <dict>
        <key>BiosVersion</key>
        <string>IM142.XXX.XXXX.XXX.XXXXXXXXXX</string>
        <key>ProductName</key>
        <string>iMac14,2</string>
        <key>SerialNumber</key>
        <string>XXXXXXXXXXXX</string>
        <key>Trust</key>
        <false/>
    </dict>
    <key>SystemParameters</key>
    <dict>
        <key>InjectKexts</key>
        <string>Yes</string>
        <key>InjectSystemID</key>
        <true/>
    </dict>
</dict>
</plist>
 
Last edited:

Updating Clover to r5123+


Starting with Clover r5123, part of OpenCore has been integrated into Clover, which meant some changes to an existing Clover installation were needed to boot with newer versions of Clover, so I’ve stayed with Clover r5122 until now. This is how I updated Clover to the latest version (r5132) with only a couple of minor issues.

Clover Changes
Here are the steps of that guide I customized for my build.
  1. I downloaded the latest Clover release as a .zip file (“CloverV2-5132.zip” in my case) and extracted the .zip file.
  2. Inside the extracted EFI folder I moved the following files from EFI/Clover/drivers/off/UEFI/FileSystem to EFI/Clover/drivers/UEFI:
    1. ApfsDriverLoader.efi
    2. VBoxHfs.efi
  3. I moved OpenRuntime.efi from EFI/Clover/drivers/off/UEFI/MemoryFixes to EFI/Clover/drivers/UEFI.
  4. I moved FSInject.efi from EFI/Clover/drivers/UEFI to EFI/Clover/drivers/off/UEFI to disable it because it’s obsolete.
  5. I kept SMCHelper.efi in EFI/Clover/drivers/UEFI because it’s needed for FakeSMC.kext, which I was intending to keep using at this point. If you keep SMCHelper.efi here with VirtualSMC.kext installed, it will result in a kernel panic.
  6. Next, I copied over my config.plist and Kexts folder from my working r5122 EFI/CLOVER folder into this new EFI/CLOVER folder.
  7. I updated Clover Configurator to the latest version (Clover Configurator > Check for Updates…)
  8. I opened the copy of my config.plist in Clover Configurator to enable the new Quirks required for Haswell desktops.
    1. In the Kernel and Kext Patches section I checked these settings:
      1. KernelPm
      2. PanicNoKextDump
    2. In the Quirks section I checked these settings:
      1. AvoidRuntimeDefrag
      2. DisableIoMapper
      3. DisableLinkeditJettison
      4. EnableSafeModeSlide
      5. EnableWriteUnprotector
      6. PowerTimeoutKernelPanic
      7. ProvideCustomSlide
      8. SetupVirtualMap
      9. XhciPortLimit
  9. Then, I saved and closed my config.plist.
  10. I copied the new EFI folder to my EFI partition, replacing my existing EFI folder (after backing it up!), and rebooted.
  11. In the Clover Boot menu, I performed an NVRAM Reset by pressing F11 and restarting to clean out possible remnants of previous Aptio Memory Fixes and then started macOS.

My List of Drivers in EFI/CLOVER/drivers/UEFI at this point (before switching to VirtualSMC):
  • ApfsDriverLoader.efi
  • AudioDxe.efi
  • OpenRuntime.efi
  • SMCHelper.efi (later removed after switching to VirtualSMC)
  • VBoxHfs.efi
Drivers with SMCHelper.png


Quirks in Kernel and Kext Patches section of Clover Configurator:
Quirks in Patches Section.png



Quirks in Quirks section of Clover Configurator:
Quirks in Quirks Section.png

Quirks in Kernel and Kext Patches and Quirks sections of config.plist:
Code:
<key>KernelAndKextPatches</key>
    <dict>
        <key>AppleRTC</key>
        <true/>
        <key>KernelPm</key>
        <true/>
        <key>KextsToPatch</key>
        <array>
            <dict>
                <key>Comment</key>
                <string>External icons patch</string>
                <key>Disabled</key>
                <false/>
                <key>Find</key>
                <data>RXh0ZXJuYWw=</data>
                <key>InfoPlistPatch</key>
                <false/>
                <key>Name</key>
                <string>AppleAHCIPort</string>
                <key>Replace</key>
                <data>SW50ZXJuYWw=</data>
            </dict>
        </array>
        <key>PanicNoKextDump</key>
        <true/>
    </dict>
    <key>Quirks</key>
    <dict>
        <key>AvoidRuntimeDefrag</key>
        <true/>
        <key>DisableIoMapper</key>
        <true/>
        <key>DisableLinkeditJettison</key>
        <true/>
        <key>EnableSafeModeSlide</key>
        <true/>
        <key>EnableWriteUnprotector</key>
        <true/>
        <key>PowerTimeoutKernelPanic</key>
        <true/>
        <key>ProvideCustomSlide</key>
        <true/>
        <key>SetupVirtualMap</key>
        <true/>
        <key>XhciPortLimit</key>
        <true/>
    </dict>

Fixing Issues
After booting with the new version of Clover, I had two issues:
  1. I was logged out of my Apple ID, so I just had to log back in.
  2. Only drive temperatures and SSD remaining life were showing in HWMonitor. None of the other FakeSMC sensor plugins were working. To resolve this I replaced FakeSMC with VirtualSMC using Clover Configurator Kext Installer:
    1. I deleted FakeSMC.kext and its plugins.
    2. I installed VirtualSMC.kext and its plugins.
    3. I moved SMCHelper.efi from EFI/Clover/drivers/UEFI to EFI/Clover/drivers/off/UEFI. This is only used for FakeSMC, and if it’s left in the drivers/UEFI folder with VirtualSMC installed, it will result in a kernel panic.
    4. At this point, I rebooted and found that CPU temperatures and power consumption were now showing in HWMonitor but not my GPU stats. Same with iStat Menus.
    5. I tried installing HWMonitorSMC2, but it also wouldn’t show GPU stats.
    6. According to the HWMonitorSMC2 Github page, checking Use the IOKit monitoring for GPUs in the preferences will enable GPU stats. At first, this setting did nothing, but after quitting and opening HWMonitorSMC2 again, it showed GPU stats.
    7. The downsides to HWMonitorSMC2 are that it doesn’t show temperatures in the menubar and doesn’t have warning temperature notifications.

HWMonitor not showing GPU stats:

HWMonitor.png

HWMonitorSMC2 showing all stats:
HWMonitorSMC2.png


My Updated List of Kexts after Replacing FakeSMC with VirtualSMC:
  • AppleALC
  • FakePCIID (later replaced with custom USBPorts.kext for my Bluetooth adapter)
  • FakePCIID_XHCIMux (later replaced with custom USBPorts.kext for my Bluetooth adapter)
  • HDMIAudio
  • Lilu
  • VirtualSMC
    • SMCBatteryManager (later removed because this is for laptops)
    • SMCLightSensor (later removed because this is for laptops)
    • SMCProcessor
    • SMCSuperIO
  • WhateverGreen
Kexts.png


My Updated List of Drivers in EFI/CLOVER/drivers/UEFI after Replacing FakeSMC with VirtualSMC:
  • ApfsDriverLoader.efi
  • AudioDxe.efi
  • OpenRuntime.efi
  • VBoxHfs.efi
Drivers.png


Upcoming Updates
  • Adding a YOUBO Wifi/Bluetooth card for Airdrop, Handoff, and unlocking with Apple Watch
  • Changing my system definition so that I can update to Big Sur
  • Updating to Big Sur
 
Last edited:

UPDATE: YOUBO Wifi/Bluetooth Adapter and USB Port Configuration​

Since moving to a new apartment, I’ve had pretty slow Internet speeds over my Ethernet Powerline adapters. Because of this issue and the prospect of enabling Continuity features on my computer, I decided to get a PCIe Wifi/Bluetooth adapter. I opted for YOUBO BCM94360CD 802.11a/g/n/ac BT4.0 PCIe Network Adapter because based it seemed like people have fewer issues with it than other adapters (or so I thought).

1618498092393.png


Installation
I installed the adapter in the top PCIe x1 slot, right above my graphics card. It was a bit of a tight fit because of the shape of the backplate, but if I had put it in the slot below my graphics card, it would have blocked one of the fans on the GFX card. Because the USB cable was so short, I had to wrap it around my GFX card to connect it to the USB2 header, so I may get a longer cable in the future so that I can route it through the cable management panel in my case.

macOS
“It just works out of the box,” they said.

OK, so technically WiFi and Bluetooth did work out of the box, and I could get the full internet speed that I pay for (200 Mbps).

However, no Continuity features worked at first. I tried to restart all of my devices, but Continuity still didn’t work. Then, I logged out of iCloud on my computer and logged back in, and that did the trick.

Confirmed working Continuity features:
  • Airdrop
  • Handoff
  • Auto Unlock with Apple Watch
  • Universal Clipboard
  • Continuity Camera
  • Continuity Sketch
  • Continuity Markup
  • Apple Pay with iPhone or Apple Watch
  • Instant Hotspot (technically working but speed is very slow because I have poor 4G reception in my apartment)
  • Text Message Forwarding (this has always sort of worked with my old USB Bluetooth receiver, but I still need to fix iMessage)

Untested:
  • iPhone Cellular Calls (I don’t have a mic or camera to test this)

Not working:
  • Sidecar (requires Skylake or newer CPU with iGPU enabled)

System Information - Wi-Fi:
Wifi.png


System Information - Bluetooth:
Bluetooth.png


Fixing My Sleep/Wake/KP Issue
About a day after installing the YOUBO adapter, I discovered that I could not put my computer into sleep mode without it immediately waking up. I also noticed that my computer would have a kernel panic shortly after the time I had set it to wake up in the morning in the Energy Saver Schedule. After doing a little research, I learned that this issue is caused by the Bluetooth adapter that’s connected to the USB2 header, and I needed to configure my USB ports and set the Connector for the Bluetooth adapter’s USB port to “Internal” to fix it.

I tried following The New Beginner's Guide to USB Port Configuration, but I had a lot of trouble with it. I want to give a huge “thanks” to @UtterDisbelief for helping me sort through my issues. It turned out that there were 3 extra steps I had to complete to get it to get my USB ports to show up correctly in Hackintool:
  • Add EHC1, EHC2, and XHC_ rename patches to the ACPI section of my config.plist (see step 3 of this guide for instructions)
  • Delete FakePCIID.kext and FakePCIID_XHCIMux.kext from EFI/Clover/Kexts/Other
    • I used FakePCIID_XHCIMux.kext to re-enable USB3 ports that had stopped working way back when I updated to High Sierra. This is unnecessary if USB ports are configured with USBPorts.kext and prevents USB ports to show up correctly in Hackintool.
  • Delete FakePCIID.kext and FakePCIID_XHCIMux.kext from Library/Extensionsand rebuild my kext caches
    • I had no idea I still had any kexts here. My best guess is that I had originally installed these with Multibeast and forgot to remove them when I started putting all of my kexts in EFI/Clover/Kexts/Other.

After completing those extra steps, I was able to follow the guide to remove unneeded USB ports, set the port for my Bluetooth adapter to “Internal”, and create a custom USBPorts.kext with those configurations.

With my USBPorts.kext, all of my USB ports and Bluetooth are working, I can put my computer to sleep without it immediately waking up, and I haven’t observed any more kernel panics!


Windows
“You just have to install the Windows drivers on the CD,” they said.

OK. This issue was a LOT easier to resolve.

I dusted off my external DVD drive and installed the drivers that were on the included CD. However, after installation, I had very slow internet speeds (only 25–35 Mbps when I pay for 200 Mbps).

I did a quick search online for BCM94360CD drivers and downloaded this one. I followed the instructions to install the WLAN Driver for Windows 7_8_10. After installing the new driver, I could get 200 Mbps!


Wifi Network Issue
A few days after installing the adapter, my computer would sometimes randomly disconnect from my wifi network and not show any networks to connect to. This happened in macOS and Windows, so it appeared to be an issue with the wifi adapter. I tried reseating the adapter, but the problem persisted. I ordered a replacement from Amazon and thankfully haven’t had any issues since installing the replacement.
 
Last edited:
Updating System Definition for Big Sur and Fixing iMessage

I recently changed my system definition to iMac 15,1 since iMac 14,2 isn’t supported by macOS Big Sur. Since I was going to be changing my SMBIOS info, I also took this time to fix iMessage, which I had never had working properly. I followed the iDiot's Guide To iMessage, but I used GenSMBIOS instead of Clover Configurator to generate my serial number, board serial number, and SmUUID. After rebooting with the new system definition, System Preferences shows that I’m able to update to Big Sur, and after logging back into my Apple ID and iCloud, iMessage has been working perfectly.

About This Mac.png
Big Sur Update.png


Fixing USB Port Configuration (Again)
The only issue I ran into after changing my system definition was that my computer wouldn’t stay in sleep mode again, which I had recently fixed by configuring my USB ports (see my last post). When I opened Hackintool, I saw that the USB port for my Bluetooth adapter had switched back to USB2 instead of internal, and unused ports that I had removed had reappeared. I switched the Bluetooth adapter port to Internal, deleted those unused ports, and created a new USBPorts.kext. Now, my USB port configuration is right again, and I’m able to put my computer in sleep mode.
 
Updating to macOS 11.3 Big Sur

I finally made the leap from macOS 10.15.7 Catalina to macOS 11.3 Big Sur.

Earlier Preparation
There were some earlier steps I took in advance of updating to Big Sur that I documented in previous posts.
  1. Updated Clover to r5123+
  2. Changed my system definition to iMac 15,1
  3. Configured my USB ports(see the Fixing My Sleep/Wake/KP Issue section)
    1. Important!: You must configure or map your USB ports and set XhciPortLimit to false in your config.plist prior to updating to macOS 11.3. Otherwise, your USB ports might not work.
    2. I had actually configured my USB ports before changing my system definition, but changing my system definition changed my USB ports, so I had to configure them again. I should have changed the system definition first.

Preparation
Before updating macOS, I completed these additional steps:
  1. I updated Clover and kexts to the latest versions using Clover Configurator and rebooted.
    1. Clover r5132 -> r5133
    2. AppleALC 1.5.8 -> 1.5.9
    3. Lilu 1.5.1 -> 1.5.2
    4. VirtualSMC (and SMCProcessor and SMCSuperIO) 1.2.1 -> 1.2.2
    5. WhateverGreen 1.4.8 -> 1.4.9
  2. Important!: As noted above, you must configure or map your USB ports and set XhciPortLimitto false in your config.plist prior to updating to macOS 11.3. Otherwise, your USB ports might not work.
    1. I had already configured my USB ports, so I just needed to set XhciPortLimit to false in the Quirks section of my config.plist.
    2. Note: XhciPortLimit is just used to temporarily remove the USB port limit before configuring USB ports, so I should have actually disabled it sooner.
  3. Big Sur boots from the Preboot volume, so I updated my config.plist accordingly.
    1. I set Default Boot Volume to Preboot in the Boot section (I actually forgot to do this step until after updating).
    2. I removed Preboot from Hide Volume in the Gui section.
  4. I deleted an extra Clover BIOS boot entry and rebooted.


XchiPortLimit unchecked in Clover Configurator:
config - XhciPortLimit.png


Preboot set as the Default Boot Volume in Clover Configurator:
config - Default Boot Volume.png


Preboot removed from Hide Volume in Clover Configurator:
config - Hide Volume.png


XchiPortLimit set to false in config.plist:
Code:
    <key>Quirks</key>
    <dict>
        <key>AvoidRuntimeDefrag</key>
        <true/>
        <key>DisableIoMapper</key>
        <true/>
        <key>DisableLinkeditJettison</key>
        <true/>
        <key>EnableSafeModeSlide</key>
        <true/>
        <key>EnableWriteUnprotector</key>
        <true/>
        <key>PowerTimeoutKernelPanic</key>
        <true/>
        <key>ProvideCustomSlide</key>
        <true/>
        <key>SetupVirtualMap</key>
        <true/>
        <key>XhciPortLimit</key>
        <false/>
    </dict>

Preboot set as the Default Boot Volume in config.plist:
Code:
    <key>Boot</key>
    <dict>
        <key>Arguments</key>
        <string>dart=0</string>
        <key>DefaultVolume</key>
        <string>Preboot</string>
        <key>Timeout</key>
        <integer>10</integer>
        <key>XMPDetection</key>
        <false/>
    </dict>

Preboot removed from Hide in config.plist:
Code:
    <key>GUI</key>
    <dict>
        <key>Hide</key>
        <array>
            <string>Windows</string>
            <string>BOOTX64.EFI</string>
        </array>
        <key>Language</key>
        <string>en:0</string>
        <key>Mouse</key>
        <dict>
            <key>Enabled</key>
            <false/>
        </dict>
        <key>Scan</key>
        <dict>
            <key>Entries</key>
            <true/>
            <key>Legacy</key>
            <false/>
            <key>Tool</key>
            <true/>
        </dict>
        <key>ScreenResolution</key>
        <string>1920x1080</string>
        <key>Theme</key>
        <string>tonymacx86</string>
    </dict>

Installer Issues
My only issue with installation was getting the Install macOS Big Sur app to work. I kept getting errors when I tried to start the installation. I tried re-downloading the installer over Ethernet instead of WiFi, but that didn't work. I tried downloading the installer to my MacBook Pro and copying it to my hack, but that didn't work. The last thing I tried was connecting my Ethernet before trying to run the copy from my MacBook Pro (a suggestion I came across in a forum post), and amazingly that worked!

One of the errors I kept getting from the installer:
Big Sur Installer Error.png


Installation
My computer rebooted numerous times and probably took over an hour to complete the installation, but everything (including USB ports) seems to be working fine!

About This Mac 11-3.png
 
Last edited:
Status
Not open for further replies.
Back
Top