Contribute
Register

High Sierra stuck on Kextd stall 0 60s X86PlatformPluginGFX0 iohdaCodecFunction IOResources

Status
Not open for further replies.
Joined
Jun 29, 2021
Messages
2
Motherboard
H81M-p33
CPU
i3 - 4170
Graphics
GTX 1060
Hey, I am a complete noob to the hackintosh process. After a fair bit of research I have started building my first and I'm having a bit of trouble that I'd really appreciate help with. I've worked out that High Sierra is the latest that will work with my 1060, which doesn't really bother me since it's the one I use on my actual mac anyway. So I followed this guide https://www.tonymacx86.com/threads/...sierra-on-any-supported-intel-based-pc.235474 and followed everything except for disabling VT-d since I couldn't find it in my BIOS settings, and after looking through the manual and googling couldn't find any steps on how to disable it, so I assumed it didn't apply to my BIOS.

It installed and worked well up until "STEP 5: Post Installation with MultiBeast" After installing, rebooting, then finishing the installation and it automatically restarting I couldn't boot in to set up High Sierra. I figured trying safe mode might help, and it did. I set up the os and my account but then got an error from MultiBeast that I worked out was because it's in safe mode. I tried restarting in verbose mode and it got to
Kextd stall 0 60s X86PlatformPluginGFX0 iohdaCodecFunction IOResources and froze. Since then I've tried googling pretty much every thing related to that or anything that looked like it might be an error. After a few days of Googling and searching here and trying every suggestion that I could find (different USB ports, different boot flags and options in the options section taking my GPU out and plugging a VGA cord into my motherboard etc) I haven't really gotten anywhere, and I have no idea how to proceed so I figured the only thing left is to ask the experts. I've tried my best to research and find my own answers, but I have no idea how to go about troubleshooting this or finding out anything. Any help would be greatly appreciated, and I apologize for the long post, just wanted to make sure I included everything that may be relevant. Thanks
 

Attachments

  • CLOVER.zip
    5.2 MB · Views: 98
  • Verbose.jpg
    Verbose.jpg
    272.7 KB · Views: 105
You need to boot from your USB installation drive, until you have copied your working Clover folder, from your USB drive to your macOS drives EFI folder on the EFI partition.

With regards disabling VT-d in your bios, you can simply use the dart=0 boot argument in your config.plist to disable this function.

If using the Intel HD 4400 IGPU you would be best served utilising the DVI connector not the VGA connector. As Apple stopped supporting VGA a long long time ago.

Your Intel HD 4400 is not natively supported in macOS. It requires the use of a Fake ID for a HD 4600 when used to drive a display.

With your discrete graphics card installed and used to drive the display, the IGPU should be set to run with an empty/headless framebuffer.

With regards the Nvidia GTX 1060 you need to disable Apple's built-in Nvidia drivers.
Use the boot argument nv-disable=1 until you have installed the Nvidia Web Drivers, which your Maxwell card needs to work correctly.

You may need to update your High Sierra installation to the latest version before you install the Nvidia Web Drivers, as each version of High Sierra requires a different version of the Nvidia Web Drivers. So as you know there are 17 versions of the Nvidia Web Drivers for High Sierra 10.13.6, see this link in the Downloads section: https://www.tonymacx86.com/nvidia-drivers/

Aside from the above, which were responses to the points you raised in your opening post, I would comment as follows:

A Haswell system such as yours works best with the iMac14,2 SMBIOS. Not the iMac18,3 SMBIOS, which is for a Coffee Lake system. Especially when running an older version of macOS. You should know that the iMac14,2 SMBIOS is supported up to and including macOS Catalina. Obviously not with the Nvidia GTX 1060 though.

Clover folder structure:
The version of Clover you are using seems to be relatively recent, post Clover_r4900. As it uses the /CLOVER/drivers/UEFI folder structure. With this version of Clover you don't need to retain or populate the old /CLOVER/Drivers64UEFI folder. It can be deleted when the /CLOVER/drivers/UEFI folder is present and populated.

SSDT's:
You are lacking any custom SSDT's, which would normally be located in the /CLOVER/ACPI/patched folder. Common SSDT's for a Haswell system would include the following:
  • SSDT-EC.aml
  • SSDT-HPET.aml
  • SSDT-PLUG.aml and
  • SSDT-XOSI.aml.
The first three SSDT's listed above can be generated using Corpnewt's SSDTTime python script and the DSDT.aml from your system. Here is a link to Corpnewt's SSDTTime GitHub repository - https://github.com/corpnewt/SSDTTime

It is worth having a look around Corpnewt's Github area, as other useful items can be found here too.

The SSDT-XOSI.dsl can be obtained from Rehabman's Clover laptop config.plist and hot patch GitHub page - https://github.com/RehabMan/OS-X-Clover-Laptop-Config. It needs to be compiled and saved as an ACPI Machine Language binary (.aml) table before it can be used.

/CLOVER/drivers/UEFI folder:
As stated above you can delete the /CLOVER/drivers64UEFI folder, as you don't need this folder and /CLOVER/drivers/UEFI folder. Clover will look for the later first and if populated, like yours is, it will ignore the other older folder.

The contents of your /CLOVER/drivers/UEFI folder is a bit of a mess. Below are two screenshots, showing your current UEFI folder and another showing the drivers you actually need.

Screenshot 2021-10-30 at 20.01.10.png Screenshot 2021-10-30 at 20.01.17.png

You don't need the version specific apfs.efi driver, when you have ApfsDriverLoader.efi, as the later will load the necessary APFS driver for your system. Using a specific apfs.efi driver can cause issues, as this driver is designed to work with a single version of macOS.

The following drivers are only required when you are using FileVault on your Hack:
  • AppleImageCodec.efi
  • AppleKeyAggregator.efi
  • AppleUITheme.efi
  • FirmwareVolume.efi
You should never have more than one Aptio driver present in this folder. You have AptioMemoryFix.efi and OsxAptioFix3Drv.efi present. I would recommend using just the AptioMemoryFix driver.

Similarly you have two HFS+ drivers present in this folder. You have HFSPlus.efi and VBoxHfs.efi present. These two drivers work with Mac OS Extended (Journaled) drives, so you don't need both. The HFSPlus driver is the better of the two so I would recommend using it in place of VBoxHfs.efi.

You have SMCHelper.efi present in this folder, this driver is only used when FakeSMC.kext is present in the system. You are using the newer VirtualSMC.kext and VirtualSMC.efi driver, so the SMCHelper driver is not required for your system.

/CLOVER/kexts folder:
Similar to your UEFI folder your /kexts/Other folder contains a number of unnecessary kexts. Below I have provided two screenshots the first showing your current /CLOVER/kext folder and the second showing what I would use with your system.

Screenshot 2021-10-30 at 20.12.14.png Screenshot 2021-10-30 at 20.12.23.png

You have both FakeSMC.kext and VirtualSMC.kext present in your Other folder. You only need one of these kexts and I would recommend the newer VirtualSMC.kext be used with your system, FakeSMC.kext should be deleted.

Your system contains a Realtek RTL8111 Ethernet controller according to the specification pages on the MSI site - https://www.msi.com/Motherboard/H81M-P33/Specification. So you don't need the following Ethernet kexts:
  • AtherosE2200Ethernet.kext
  • IntelMausiEthernet.kext
  • SmallTreeIntel82576.kext
The AHCI_Intel_Generic_SATA.kext is used to add the details for SATA controllers that macOS doesn't automatically identify. It doesn't contain the settings for an Intel 8-series SATA controller, which your motherboard uses. The 8-Series SATA controller is natively supported in macOS so this kext is not required. An alternative to this kext would be AHCIPortInjector.kext, which contains a number of older SATA controller settings, which may come in handy should your controller not be natively supported.

The Realtek Audio codec in your system is ALC887, this is supported by AppleALC.kext. There is no need to use the CodecCommander.kext with your audio codec.

You shouldn't need the FakePCIID.kext and the other FakeID kexts with your system. The only time these should be added to a system is when the other newer kext such as WhateverGreen.kext don't work for your graphics setup. In that case WhateverGreen.kext should not be used, as the two methods will clash and can cause other unexpected issues. WhateverGreen should help your Nvidia HDMI port work.

Shiki.kext has been absorbed in to WhateverGreen.kext, a standalone Shiki.kext is no longer required when a recent version of WhateverGreen.kext is present.

Your system doesn't use any of the USB XHCI controllers present in XHCI-300-series-injector.kext. It can be deleted.

OF the retained kexts all of the ones your folder contained were much older versions. You would be advised to update the retained kexts to recent version, all except USBInjectAll.kext. This kext would probably be best if version 0.7.1 was used with your system.

/CLOVER/themes folder:
You have a number of Clover themes present in this folder. You don't need to keep all these unused themes. As you have selected to use the 'Minimalism' theme you can delete the rest, including the standalone pointer and logo images.

I will use another post to provide comments on your config.plist.

Hope this helps.
 
Your /CLOVER/config.plist is not set correctly for a Haswell system running High Sierra. Obviously it boots your system, but it will not be working as well as it should, due to the missing, unnecessary and wrong entries in your config.

The easiest way for me to show you where your config differs from what I would use is by using a number of screenshots to compare the various sections of the config. I have created the screenshots using Clover Configurator, a copy of your current config and copy of your config, which has been edited to better suit a Haswell system running macOS High Sierra.

ACPI 1
Screenshot 2021-10-30 at 21.13.58.png Screenshot 2021-10-30 at 21.14.16.png
  • Your config is missing a number of rename patches and contains a number that are not required.
  • It is also missing a couple of SSDT fixes - AutoMerge=true and FixHeader=true.
ACPI 2
Screenshot 2021-10-30 at 21.14.31.png Screenshot 2021-10-30 at 21.14.45.png
  • These images show additional ACPI rename patches and fixes, which are missing from your config.
Boot
Screenshot 2021-10-30 at 21.15.01.png Screenshot 2021-10-30 at 21.15.14.png
  • Changes to boot arguments.
  • NeverHibernate=true
  • Timeout 5 seconds set, so you can easily make changes on the Clover boot screen, i.e. access options menu
CPU
Screenshot 2021-10-30 at 21.15.29.png Screenshot 2021-10-30 at 21.19.13.png
  • The CPU speed and TDP are both wrong for your i3 CPU.
  • Second image shows what you should use, but neither are essential and all these boxes can be left empty.
Devices
Screenshot 2021-10-30 at 21.19.43.png Screenshot 2021-10-30 at 21.19.53.png
  • No need for Fake ID for IGPU
  • No need for Add Properties entry
  • No need for HDMIInjection=true
  • Changes to USB entries
  • Addition of Device > Properties for your HD4400 IGPU, for use when IGPU is driving a display.
GUI
Screenshot 2021-10-30 at 21.20.10.png Screenshot 2021-10-30 at 21.20.22.png
  • Addition of Scan > Entries to help Clover find drives when booting
  • Addition of Hide Volume entries, to clear up Clover boot screen and hide unnecessary icons.
Graphics
Screenshot 2021-10-30 at 21.20.36.png Screenshot 2021-10-30 at 21.20.47.png
  • Removal of Inject Intel=true
  • Removal of ig-platform-id, not required or set correctly for a Haswell IGPU.
Kernel and Kext Patches
Screenshot 2021-10-30 at 21.21.35.png Screenshot 2021-10-30 at 21.21.47.png
  • Removal of unnecessary patches.
  • Addition of USB port Limit patches for High Sierra (all versions)
  • Addition of KernelXCPM=True
RT Variables
Screenshot 2021-10-30 at 21.22.03.png Screenshot 2021-10-30 at 21.22.18.png
  • Change of MLB to match new SMBIOS Board Serial Number.
  • Generation of ROM entry based on new iMac14,2 SMBIOS.
SMBIOS
Screenshot 2021-10-30 at 21.22.29.png Screenshot 2021-10-30 at 21.22.40.png
  • Removal of incorrect SMBIOS
  • Generation of new SMBIOS for Haswell system.
System Parameters
Screenshot 2021-10-30 at 21.22.51.png Screenshot 2021-10-30 at 21.23.01.png

  • Removal of Inject System ID=true, as not required for Clover bootloader, hangover from Chameleon/Chimera bootloader.
The changes shown above are based on a similar Haswell system that used a H87 motherboard, i5-4400 CPU an Nvidia discrete Graphics card and the Nvidia Web Drivers.

The 2nd Device Properties screenshot shown above includes the settings for using the IGPU to drive a display. You would need to use these settings until your Nvidia card is up and running with the correct version of the Nvidia Web Drivers installed for the version of High Sierra your are using.

At that point you would need to change two things in the config.plist:
  1. Remove the nv-disable=1 boot argument.
  2. Change the AAPL,ig-platform-id from '0300220D' to '04001204'. This is an Empty/Headless Framebuffer for a Haswell IGPU, when a discrete graphics card is used to drive the display(s) in place of the IGPU.
Hope this helps.
 
One other thing.

You will also need to change your Bios settings when using the IGPU or the GTX 1060.

Intel iGPU used to drive the display:
  1. Integrated Graphics : Enabled
  2. Graphics: IGD/Integrated/iGPU/CPU Graphics
  3. DVMT Pre-Allocated : 128M or higher
Discrete Graphics + IGPU, with : Discrete card driving the display:
  1. Integrated Graphics : Enabled
  2. Graphics: PEG/PCIe Slot 1
  3. Initial Display Output : PCIe 1 Slot
  4. DVMT Pre-Allocated : 128M or higher
 
Thank you so much for your extremely detailed guide. I will go through later today and update how I go. Thank you again.
 
Status
Not open for further replies.
Back
Top