Do U Know the Way to Monterey? YES, I Found My Way.

Many hackintoshers are familiar with this: You study the Dortania Buyer's Guides, adhere to the hardware recommendations, build your system, follow the OpenCore Install Guide to the letter, and successfully get macOS to run, but end up with lingering issues that seem unsolvable.

Such was the case with my everyday Mojave box. I built it over a year ago. However, even with my hardware setup, I could never get it to boot in under 4-5 minutes.

My Gear: CPU: i9-9900K (Intel Coffee Lake) MOBO: Asus Z390A-Prime SSD's: WD750 Black 1TB (boot), Samsung 970Evo+ 1TB (extra) HD's: 120GB SSD (Scratch drive), WD 10TB (storage) RAM: 2x16GB GSKILL Ripjaws 3200MHz (CPU max is 2666MHz) GPU: Sapphire Radeon RX 580 8GB Case: Fractal Design 7 SMBIOS: iMac19,1

EFI STUFF OC 0.7.5 with all requisite kexts (including NVMeFix) & .aml files for my CPU/Mobo. All config.plist entries as per Dortania Guide for Desktop Coffee Lake.

The reason for the ultra-slow boot had to do with a series of 60-second kext stalls on the iGPU, even though I followed the Device Properties section of the Guide to the letter.

The verbose readout showed the error messages:

*`Lilu patcher: @ failed to solve __ZN31AppleIntelFramebufferController-17IsTypeCOnlySystemEv, err 2` *`WhateverGreen igfx: @TCCD: Failed to route the function IsTypeCOnlySystem.` 

and later,

*`The parent of this AGC <ptr> is = AppleIntelFramebufferController` *`kextd stall(0). (60s): 'AppleGraphicsDeviceControlPlugin'. 'IntelFBClientControl'. etc., etc.` *`The parent of this AGDC <ptr> is = GFX0` *`kextd stall[1], (60s): 'IGPU', 'IOResources'` *`kextd stall[2], (60s): 'IGPU', 'IOResources'` 

I tried without success to fix this, including alternate platform-id, adding a device-id, disabling Lilu, adding CPUFriend.kext, etc. All to no avail. And nothing in the totally unsearchable Dortania Guide addressed this.

Even though my Mojave box is my daily driver, I thought upgrading macOS might solve the slow boot. I've stayed on Mojave because I still run some 32-bit apps, but most of them have finally migrated to 64-bit, or I've found alternates. So a macOS upgrade was OK with me. I was going to upgrade to Big Sur, but since Monterey was already released, I decided to try installing it on my backup SSD, the Samsung.

Pre-Install

Cloned my Mojave boot drive (WD750) to the Samsung 970Evo+. Constructed a new EFI folder with the latest version of OpenCore (0.7.5) & its associated kexts. Built my config.plist according to the Guide, and after reviewing the Monterey section.

NOTE:

I grabbed the new version of ProperTree & was aware of the issues with the black screen, requiring installation of Python 3.9.7 and rebuilding the app using this build. However, I noticed that after doing a clean snapshot, this new version of ProperTree doesn't put Lilu.kext at the top/first-loading kext, but puts it after IntelMausi.kext. ProperTree kept doing this no matter how many times I re-did the snapshot. Is this an error in the new build of ProperTree or is it not that important after all whether IntelMausi shows up first?

POST-INSTALL

Monterey install takes a bit of time but was successful. However, I experienced some Boot issues that I hadn't expected or seen before, like:

*`OCS: No schema for AdviseWindows at 0 index, context <Generic>!` *`OCS: Failed to calculate size of false field containing <empty> as type integer, context <GopPassThrough>!` *`OCS: No schema for AppleEvent at 3 index, context <ProtocolOverrides>!` 

I don't use a Configurator app, so these errors stumped me. What they meant is that the Dortania Guide's are either wrong or incomplete, or not updated to reflect changes made in Monterey. Fortunately, these messages stayed on-screen for about five seconds, then went away & I got to the OpenCore boot interface. Already having installed OpenCanopy/Binary Resources & making the appropriate entries to my config.plist file, I was able to select my 970Evo+ disc and boot right into Monterey.

But these OCS messages shouldn't have been there to begin with. I wanted to make them go away. How? Thankfully, I found ic005k's QtOpenCoreConfig, a pre-built app that inspects the config.plist and identifies errors in various Quirks & other config settings.

Using QtOpenCoreConfig, I was able to eliminate all these OCS errors. Also, the slow boot I experienced with Mojave is gone. What that means to me is that the OpenCore developers must've left Mojave behind a long time ago & didn't bother addressing or solving issues like the iGPU one I had.

SOLVING USB ISSUES

I have several USB external hard drives for media & document storage. Initially after the 12.0.1 upgrade, none showed on my desktop. I didn't have the USBInjectAll.kext installed, so I tried adding & enabling it (XhciPortLimit Quirk is DISABLED in config.plist), but it made no difference.

In the past I've tried to follow Dortania's USB Map creation Guide but like most software/tech writing, it's too left-brained for me & without clear examples, not user friendly. A YouTube guy technolli has some helpful vids on Hackintosh building, including USB mapping, but in the end I found a USBPorts.kext for my board. NOTE: I used ONLY the USBPorts.kext from this link, and NOT any of the other kexts, ACPI .aml files or any of his config.plist entries.

After adding that kext, taking a clean snapshot in ProperTree, saving the revised config.plist file, rebooting & resetting NVRAM, my external USB drives showed up as soon as I logged in to the macOS 12.0.1 Finder.

So I'm up and running 12.0.1 pretty much vanilla, with fixes to my config.plist identified by QtOpenCoreConfig, and USB up & running thanks to a USB map kext.

submitted by /u/iBanJavascript
[link] [comments]