Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Incredible work, thank you for giving this machine another fighting chance!!

going to try this sometime soon when I get a chance and upgrade from 11.2.3 to the latest and see how it goes!
 
Thank you so much @Syncretic ! I've only booted my X58 Hackintosh 5 or 6 times with SurPlus enabled but it's been flawless so far (it was better with latebloom but having that many successful boots in a row was rare)! Really enjoyed reading the technical details too.
 
  • Like
Reactions: Pummers
'Fantastic job' from me too. Numerous successful restarts into 11.6 and 12.0b7 (and tested 10.6, 10.9, 10.12, 10.15, 11.2.3 and Win10 [non UEFI] to good measure, to make sure the new SurPlus OC patch didn't interfer with even older OS's).

Finally able to turn off 'Verbose' and watch the Apple logo and progress bar during each boot up. Heaven!!
 
  • Like
Reactions: zoltm and HuRR
Can I double check exactly which array this is (kernel - patch), I'm not sure I'm looking at the right ones:

Code:
<key>Kernel</key>
    <dict>
        <key>Add</key>
        <array>
            <dict>
                <key>Arch</key>
                <string>x86_64</string>
                <key>BundlePath</key>
                <string>Lilu.kext</string>
                <key>Comment</key>
                <string>Do not touch this setting</string>
                <key>Enabled</key>
                <true/>
                <key>ExecutablePath</key>
                <string>Contents/MacOS/Lilu</string>
                <key>MaxKernel</key>
                <string></string>
                <key>MinKernel</key>
                <string>16.0.0</string>
                <key>PlistPath</key>
                <string>Contents/Info.plist</string>
            </dict>


Or am I looking at one starting with this:


Code:
<key>Patch</key>
        <array>
            <dict>
                <key>Arch</key>
                <string>Any</string>
                <key>Base</key>
                <string></string>
                <key>Comment</key>
                <string>IONVMeFamily Patch#External</string>
                <key>Count</key>
                <integer>0</integer>
                <key>Enabled</key>
                <true/>
                <key>Find</key>
                <data>RXh0ZXJuYWw=</data>
                <key>Identifier</key>
                <string>com.apple.iokit.IONVMeFamily</string>
                <key>Limit</key>
                <integer>0</integer>
                <key>Mask</key>
                <data></data>
                <key>MaxKernel</key>
                <string></string>
                <key>MinKernel</key>
                <string>17.0.0</string>
                <key>Replace</key>
                <data>SW50ZXJuYWw=</data>
                <key>ReplaceMask</key>
                <data></data>
                <key>Skip</key>
                <integer>0</integer>
            </dict>
        </array>

Looking for the right place to put the new additions.
 
Thank you SO much @Syncretic! You are a legend! I just installed the patch and it is flawless. Once again, thank you for all your work. I hope that everyone that uses this patch can donate to @Syncretic, if they have the means. I just did!
 
5,1 with Martin's OpenCore 0.7.3 package, updated from 11.2.3 to 11.6, seems fine.

Hats off to this marvellous effort, and many thanks. Donated.
 
  • Like
Reactions: HuRR
Hi all, I followed the steps but after updating from 11.2.3 to 11.6 I'm not able to boot into the system with opencore.
I found out that latebllom was on by default so I swtiched that off, but still not booting in.
I've attached my opencore config. Is my patch in the right place?
Any suggestions very welcome!
Thank you!
 

Attachments

  • config.plist.zip
    5.2 KB · Views: 130
Can I double check exactly which array this is (kernel - patch), I'm not sure I'm looking at the right ones:

Code:
<key>Kernel</key>
    <dict>
        <key>Add</key>
        <array>
            <dict>
                <key>Arch</key>
                <string>x86_64</string>
                <key>BundlePath</key>
                <string>Lilu.kext</string>
                <key>Comment</key>
                <string>Do not touch this setting</string>
                <key>Enabled</key>
                <true/>
                <key>ExecutablePath</key>
                <string>Contents/MacOS/Lilu</string>
                <key>MaxKernel</key>
                <string></string>
                <key>MinKernel</key>
                <string>16.0.0</string>
                <key>PlistPath</key>
                <string>Contents/Info.plist</string>
            </dict>


Or am I looking at one starting with this:


Code:
<key>Patch</key>
        <array>
            <dict>
                <key>Arch</key>
                <string>Any</string>
                <key>Base</key>
                <string></string>
                <key>Comment</key>
                <string>IONVMeFamily Patch#External</string>
                <key>Count</key>
                <integer>0</integer>
                <key>Enabled</key>
                <true/>
                <key>Find</key>
                <data>RXh0ZXJuYWw=</data>
                <key>Identifier</key>
                <string>com.apple.iokit.IONVMeFamily</string>
                <key>Limit</key>
                <integer>0</integer>
                <key>Mask</key>
                <data></data>
                <key>MaxKernel</key>
                <string></string>
                <key>MinKernel</key>
                <string>17.0.0</string>
                <key>Replace</key>
                <data>SW50ZXJuYWw=</data>
                <key>ReplaceMask</key>
                <data></data>
                <key>Skip</key>
                <integer>0</integer>
            </dict>
        </array>

Looking for the right place to put the new additions.
The right place is the latter section not the former. So you would start in inside the Patch section. I posted the SurPlus code above the IONVMe entry.

EDIT: Fixed grammar.
 
Last edited:
Greenshot 2021-09-27 15.35.10.png
 
  • Like
Reactions: HuRR
It seems that SurPlus does not work on my MacPro 2009 (5.1/macOS 11.6). I inserted the patch as instructed and disabled Latebloom. I also did a PRAM clear. However, the Mac startup process stopped at 1/3 of the way through. In my case, the results are better when I use Latebloom. What could be the cause?
 
It seems that SurPlus does not work on my MacPro 2009 (5.1/macOS 11.6). I inserted the patch as instructed and disabled Latebloom. I also did a PRAM clear. However, the Mac startup process stopped at 1/3 of the way through. In my case, the results are better when I use Latebloom. What could be the cause?
Please post your config.plist as an attachment, or PM it to me. MP4,1->5,1/MacOS 11.6 should definitely work.
 
I've added this to Post #1, but I'll throw it out here as well: If you're having a problem getting the patch to work, please post your OpenCore config.plist file as an attachment. Without that, it's very difficult to offer much assistance.
 
First of all, let me say this. I have nothing but gratitude for you.

Please post your config.plist as an attachment, or PM it to me. MP4,1->5,1/MacOS 11.6 should definitely work.

I will submit a config.plist with Latebloom removed from OCLP 0.2.5.
 

Attachments

  • config.plist.zip
    6.1 KB · Views: 119
First of all, let me say this. I have nothing but gratitude for you.



I will submit a config.plist with Latebloom removed from OCLP 0.2.5.
Please check the location where you added the patch.
It is on the wrong location.
It is supposed to be under Kernel --> Patch section.
But you added it under Kernel --> add section

Check the picture I attached above. #34
 
I currently use Martin Lo's OpenCore 0.7.3 package. What are the steps to add SurPlus and remove Latebloom correctly?
Or should I just wait for 0.7.4.

Thank you @Syncretic for your awesome work!!!
 
  • Like
Reactions: Sharky II
I currently use Martin Lo's OpenCore 0.7.3 package. What are the steps to add SurPlus and remove Latebloom correctly?
Or should I just wait for 0.7.4.

Thank you @Syncretic for your awesome work!!!
They're literally are on the first page of the this thread.

Remove all Latebloom entries in the config.plist. Add the SurPlus code into the Kernel, Patch section.
 
Hi all, I followed the steps but after updating from 11.2.3 to 11.6 I'm not able to boot into the system with opencore.
I found out that latebllom was on by default so I swtiched that off, but still not booting in.
I've attached my opencore config. Is my patch in the right place?
Any suggestions very welcome!
Thank you!
From @Syncretic
That config.plist passes plutil validation, and you have the SurPlus patch in the correct position. Someone else PM'd me about a similar problem with upgrading; in their case, it looks like the installer was bypassing OpenCore. You should verify that your OpenCore installation is still correctly blessed (i.e. that you're really booting OpenCore and not directly into MacOS).

Others might benefit from this discussion, so unless you'd rather keep your situation private (which is fine with me), you might want to follow up in the main thread.


So I will try to rebless the drive (been a while since I've done that) I assume I can still just double click the bless tool that comes with the opencore package and reboot.
 
Please check the location where you added the patch.
It is on the wrong location.
It is supposed to be under Kernel --> Patch section.
But you added it under Kernel --> add section

Check the picture I attached above. #34
I moved the patch under "PATCH" as shown in the image in #34, and the result is the same as before. I try booting my Mac several times just like Latebloom and it succeeds.
 

Attachments

  • config.plist.zip
    6 KB · Views: 122
The patch worked a treat. I've uninstalled latebloom, and the system booted up quick and easy.

As one possible "troubleshoot" for folks who are comfortable enough to poke around OpenCore, but not quite knowledgable enough to know 100% what they're doing . . .

If you're like me and haven't done any OpenCore kernel patches, then that section of your config.plist may look like this:

Code:
       <key>Patch</key>
       <array/>

In that case, you need first to change that section to:

Code:
       <key>Patch</key>
        <array>
        </array>

And then paste the patch right after the <array> line. (The previous <array/> code says there's nothing in that array . . . you need to tell it there's now stuff in there before pasting the patch.)

Of course, after any tweaks to your config.plist, you should be verifying that file, as laid out in the instructions in the OpenCore thread.
 
  • Like
Reactions: sweetwoody
I moved the patch under "PATCH" as shown in the image in #34, and the result is the same as before. I try booting my Mac several times just like Latebloom and it succeeds.
The config.plist seems okay. You need to check the instructions on the NVRAM reset on #2
 
I moved the patch under "PATCH" as shown in the image in #34, and the result is the same as before. I try booting my Mac several times just like Latebloom and it succeeds.
The config.plist you attached looks correct - it passes plutil validation, and the SurPlus patch appears to be in the correct place. Maybe one of our resident OpenCore experts could have a look?

Something you might try in the interim is to switch to the DEBUG version of OpenCore and enable file logging, and verify that OpenCore thinks the patch is being applied. If OpenCore is injecting the patches, you'll see lines similar to:
Code:
81:715 00:023 OCAK: 64-bit SurPlus v1 - PART 1 of 2 - Patch read_erandom (inlined in _early_random) replace count - 1
81:738 00:023 OC: Kernel patcher result 1 for kernel (SurPlus v1 - PART 1 of 2 - Patch read_erandom (inlined in _early_random)) - Success
81:766 00:027 OCAK: 64-bit SurPlus v1 - PART 2 of 2 - Patch register_and_init_prng replace count - 1
81:789 00:023 OC: Kernel patcher result 2 for kernel (SurPlus v1 - PART 2 of 2 - Patch register_and_init_prng) - Success
(See the OpenCore thread for more details on enabling the DEBUG version)

EDIT: Also, please verify that your OpenCore installation is properly blessed.
 
Truly a god amongst men. Absolutely amazing work man, my MacPro and I are thankful.
 
A BIG THANKS to @Syncretic!!! Updating to 11.5 from 11.2.3, will post the outcome in a bit!

EDIT: FLAWLESS!!!! Update went without a hitch. Thanks so much for the hard work you put into finding the root cause of the race condition! My cMP lives on!
 
Last edited:
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.