Contribute
Register

[GUIDE] Installing 3rd Party Kexts - El Capitan, Sierra, High Sierra, Mojave, Catalina

use boot argument vsmcgen=1
In my case building LiluFriend.kext still not enable to boot without vsmcgen=1 (following reboot with no cache and cache rebuild) - Problems with SMCSuperIO and SMSLightSensor (have tried to remove this kexts with no more success)
1548410722552.png


vsmcgen=1 boot argument seems a workaround working for most of rigs
Do not know how it works and what consequences this could have, VirtualSMC doc indicates :
  • Add vsmcgen=X to force exposing X-gen SMC device (1 and 2 are supported).
Guess this forces kext to load ?
Btw I do not have laptop issues when working with this argument
 
In my case building LiluFriend.kext still not enable to boot without vsmcgen=1 (following reboot with no cache and cache rebuild) - Problems with SMCSuperIO and SMSLightSensor (have tried to remove this kexts with no more success)
View attachment 382023

vsmcgen=1 boot argument seems a workaround working for most of rigs
Do not know how it works and what consequences this could have, VirtualSMC doc indicates :
  • Add vsmcgen=X to force exposing X-gen SMC device (1 and 2 are supported).
Guess this forces kext to load ?
Btw I do not have laptop issues when working with this argument
when i had the issue, my realtek network driver needed an update, i haven't installed SMCSuperIO or SMCLightSensor
 
it was on my machine, without it i needed to use boot argument vsmcgen=1 otherwise the machine failed to boot .... apparently, using a LiluFriend.kext is a preferred way (going by Rehabman's comments over the months)


@Feartech,

Thanks for the post, quite a few months back I was having an issue and RehabMan pointed me to LiluFriend however he also told me that in almost all instances kexts in /L/E should be loaded early enough in the Boot Process without it. In my case it was something else that caused the problem and i did not need to use LiluFriend in the end.

However I haven't used VirtualSMC yet .. for sure as Lilu and its plug-in's gradually takes over doing everything, VirtualSMC is going to take on the mantle of the preferred method of emulating the Apple SMC controller ... but i've read a lot of posts regarding instability ... so i don't think its quite ready for primetime but its close.

Cheers
Jay
 
Does the clover "detect"-function only care for fakeSMC or for other kexts too? I need to have another kext in /EFI/cloverkexts/Other apart from fakeSMC. Should I use "detect" or "yes" in the config.plist/System Parameters/Inject Kexts?
 
Does the clover "detect"-function only care for fakeSMC or for other kexts too? I need to have another kext in /EFI/cloverkexts/Other apart from fakeSMC. Should I use "detect" or "yes" in the config.plist/System Parameters/Inject Kexts?


@Api,

The Clover detect function only looks for FakeSMC (or Lilu + VirtualSMC) in the kernel Kernel Cache of /L/E, as those are the only kexts that are vital in order to run MacOS ...

Cheers
Jay
 
@jaymonkey
Followed your guide re: 3rd party kexts. This is my first build, so learning as I go. I noticed I had duplicate kexts in L/E as well as in Clover/kexts/Other. I removed all dups in Other, except for FakeSMC. Here are the additional kexts that reside in L/E: AppleALC (1.3.4), FakeSMC (6.26-357), Lilu (1.3.1), USBinjectAll (0.7.1), and WhateverGreen (1.2.6). Can you recommend any others that I might need, or are unaware of? For the most part, my "basic" build is stable and works fairly well, although I'm working on BT issues, which seem quite common. With regards to my USB Installer, what kexts should reside in Other, if I would ever need to use this to boot my machine? One final question, is it a good idea to ensure you always have the most up-to-date kext installed?

Thank you for any sage advice!
 
@jaymonkey
Followed your guide re: 3rd party kexts. This is my first build, so learning as I go. I noticed I had duplicate kexts in L/E as well as in Clover/kexts/Other. I removed all dups in Other, except for FakeSMC. Here are the additional kexts that reside in L/E: AppleALC (1.3.4), FakeSMC (6.26-357), Lilu (1.3.1), USBinjectAll (0.7.1), and WhateverGreen (1.2.6). Can you recommend any others that I might need, or are unaware of? For the most part, my "basic" build is stable and works fairly well, although I'm working on BT issues, which seem quite common. With regards to my USB Installer, what kexts should reside in Other, if I would ever need to use this to boot my machine? One final question, is it a good idea to ensure you always have the most up-to-date kext installed?

Thank you for any sage advice!
essential kexts belong in clover/kexts/other to reach the installer ie:
FakeSMC
Lilu
Whatevergreen
USBInjectAll


AppleALC is not considered essential as you don't need sound to reach the installer or recovery
 
Can you recommend any others that I might need, or are unaware of? For the most part, my "basic" build is stable and works fairly well, although I'm working on BT issues


@MadDan,

Every Hack is different so there is no fast or hard rule, you may need additional kexts in /L/E to enable ethernet ports, WiFi, Bluetooth, Audio, 3rd Party storage controllers .. etc, it really depends on what hardware you have.

With regards to Critical kexts that need to be in Clover/Kexts/Other again it depends very much on your hardware, in some instances you may well need FakeSMC, Lilu, Whatevergreen and USBInjectAll as @Feartech suggests above.

In other instances FakeSMC may be all that is needed in Clover/Kexts/Other to run Installer, Updater and Recovery.

Recovery is a good test case as you can test the injected kexts without effecting MacOS ... if you don't get a display then add Lilu + WhatEverGreen, if you can't access a USB stick or USB Time machine drive then add USBInjectAll, if using a laptop you may need to add VoodooPS2Controller to get the mouse work, if you need to access a NAS for TM backups add the required ethernet kext.

It's all about understanding what kexts you need in /L/E to get all your hardware working with MacOS, and then what is the minimum set of kexts required in Clover/Kexts/Other to run Installer, updater and Recovery.

Note: To get Bluetooth working you need to use @RehabMan's BrcmPatchRAM kexts see his gitHub repo for more info.

Cheers
Jay
 
Last edited:
@MadDan,

Note: To get Bluetooth working you need to use @RehabMan's BrcmPatchRAM kexts see his gitHub repo for more info.

Cheers
Jay

Much appreciated for your suggestion to review the @RehabMan patch listed above. Added BrcmPatchRAM2.kext & BrcmFirmwareRepo.kext and the dongle stays connected, even when awakened from sleep. Too bad this info isn't listed in the General BT Guide, would save time for those looking for an answer, and for those helping others.

Thanks for the critical kext response. One final question, is it a good idea to always have the latest kext installed? Pros/cons?

Cheers, back at ya!

Dan
 
One final question, is it a good idea to always have the latest kext installed? Pros/cons?


@MadDan,

Once you have a version of a kext that works, you can generally leave it alone until the next release of MacOS at which point its good practice to update all 3rd Party kexts ... at least thats what I do.

Cheers
Jay
 
Back
Top