Contribute
Register

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

jaymonkey

Moderator
Joined
Aug 27, 2011
Messages
3,213
Motherboard
ASRock-Z97 EX6
CPU
i7-4790K OC @ 4.8GHz
Graphics
Vega 64LC + HD4600
Mac
MacBook Air, MacBook Pro
Mobile Phone
Android, iOS
To update Lilu, etc., I downloaded the files; however, they are zip files. Do I simply rename the .zip to .kext? Or is the kext file hidden somewhere in the zip file? Thanks.

@legaleye3000,

If you want to download directly from the GitHub repos then click on the "Releases" option and then download the latest release version and then unzip for example if you want the latest version of Lilu first goto the projects github repo and then click on the "releases tab :-

Screenshot 2019-05-29 at 12.23.31.png .

And then download the version you want :-

Screenshot 2019-05-29 at 12.24.29.png

Once the file is downloaded unzip it and install the extracted kext into /L/E.

Cheers
Jay
 
Joined
Jan 21, 2012
Messages
732
Motherboard
HP 8300 Elite
CPU
i5-3570
Graphics
GT 710
Mobile Phone
Android
Is there a problem with having kexts in \other and \L\E and leaving 'detect' enabled?

Im using, fakesmc, lilu, appleALC, whatevergreen and usbinjectall and everything seems fine with them in both but reading on the English thread that the Lilu readme points to - it states that Lilu and it's plugins should go on the clover partition and that's in direct contradiction to the OP and then in the thread there are often reasons to install in Clover (related to recovery(mostly)).

The use of recovery is not an issue as I have a USB prepared for booting without using the HD efi partion and just want the best setup for normal use. Nor am I concerned about the management of the kexts, I just want to have the files that get loaded in one location or the other (but not both) and know that's where they are being loaded from or to leave them in both and know that's not going to cause any negative effects.

Any advice appreciated.

Thanks

Edited after Jaymonkey's reply unknowingly - sorry
 
Last edited:

jaymonkey

Moderator
Joined
Aug 27, 2011
Messages
3,213
Motherboard
ASRock-Z97 EX6
CPU
i7-4790K OC @ 4.8GHz
Graphics
Vega 64LC + HD4600
Mac
MacBook Air, MacBook Pro
Mobile Phone
Android, iOS
Is there a problem with having kexts in \other and \L\E and leaving 'detect' enabled?

@nicksoph,

Nope .. that is what is basically recommended in the guide.

Reading on the English thread that the Lilu readme points to - it states that Lilu and it's plugins should go on the clover partition and that's in direct contradiction to most of what Ive read here.

If we are going against what the developers suggest is there any thread that justifies this?

My best guess as to why they suggest to copy the kexts into the clover partition as that its a far simpler method for those who are new to the hackingtosh world.

Whilst a bit more involved, the advantages of installing kexts into /L/E are explained in the guide.

The pro's and con's have been debated several times on this and other forums so i'm not going to get drawn into it again, both methods work for most kexts, so it comes down to personal preference ... however as explained in the guide not all 3rd party kexts work when injected by clover (eg some of Rehabmans kexts).

Personally I've never had any issues with kexts installed in /L/E and most of the Moderators here will advise that it is the best method and offers the most stable MacOS experience.

Cheers
Jay
 
Joined
Jan 21, 2012
Messages
732
Motherboard
HP 8300 Elite
CPU
i5-3570
Graphics
GT 710
Mobile Phone
Android
Thanks Jay, I realise this is a contentious topic but cant really see why, it either makes some difference which can be expressed or it don't. As it is, I see a whole bunch of advice without really much explanation as to how the machines behave using one system or the other. Was hoping that someone would have tested and reported findings but what might have they reported? - Faster loading? Better stability?

I shall take your advice and leave both with detect on.

I appreciate your guides and thank you for your time and knowledge.
 
Last edited:
Joined
Aug 25, 2012
Messages
728
Motherboard
Gigabyte Z390 Designare
CPU
i9 9900k
Graphics
RX480
Mac
MacBook Pro
Classic Mac
Performa, Power Mac, PowerBook
Mobile Phone
iOS
I value and respect the knowledge and expertise of our esteemed member JayMonkey, but I've kept the original Apple kexts in L/E and all alien kexts in Clover/Other for years on several builds with no ill effects AFAIK.
If something goes terribly wrong, I boot from another disc with a separate EFI/Clover partition.
Makes it much easier for my tiny brain.
 
Joined
Jan 21, 2012
Messages
732
Motherboard
HP 8300 Elite
CPU
i5-3570
Graphics
GT 710
Mobile Phone
Android
@zipb - your post seems similar to hundreds of others - some saying exactly what your saying, others the exact opposite but similar in that; they say what they do, and also sometimes why they do it, but that explanation lacks any functional justification (as opposed to say yours - ease of management) except that it works for them (which may be the ultimate functional justification but not really useful if you are trying to learn about what's going on). I'm not knowledgeable enough to weigh these opinions nor able to spot who the clever people are, so Im left with accepting the authority of those I seek advice from: which may be useful but I've learnt little about what happens during either method and it does not satisfy my curiosity. My thinking is that if it dont make any difference then that should be more clearly stated to kill repetitive conversations, and if it does, then which kexts it effects and the differences between the methods noted.
 
Last edited:
Joined
Aug 25, 2012
Messages
728
Motherboard
Gigabyte Z390 Designare
CPU
i9 9900k
Graphics
RX480
Mac
MacBook Pro
Classic Mac
Performa, Power Mac, PowerBook
Mobile Phone
iOS
Right. The problem with hacking is that there is some scientific investigation and knowledge, and lots of hearsay and unfounded assumptions.
Making a PC behave like a Mac is quite involved, so one depends on other people who might not know exactly what they are doing. Plus, hacking is a hobby. There's no commercial/scientific organisation behind hacking. Such an organisation would immediately be sued into oblivion by Apple, of course.

It's a grass roots movement run by volunteers. It's remarkable that we've come so far as a bunch of amateurs sharing knowledge.

If only someone would fix Thunderbolt once and for all...
 

UtterDisbelief

Moderator
Joined
Feb 13, 2012
Messages
2,721
Motherboard
Gigabyte Z370M D3H
CPU
i3-8350K
Graphics
RX 560
Mac
iMac, Mac mini
Classic Mac
eMac, iBook
Mobile Phone
iOS
As you have probably seen with the latest from Apple and macOS Catalina, the company is soon to be doing away with the old kext model for third-party developers and introducing "dexts". This is because when, as @jaymonkey comprehensively explains in this guide, you have a problem with a kext in kernel space you tend to bring the whole system crashing down. A bit like knocking the props away that hold the roof up. Putting third-party kexts in Library/Extensions was introduced as the start along this road back in Mavericks (if memory serves).

Because macOS is careful about what kexts do and watches over them as best it can, putting third-party ones in Library/Extensions makes sense and is as intended by Apple.

Having said that, EFI/CLOVER/kexts exists to service Clover. No part of macOS has access to this area so can't watch over any errant software loaded from here. This is useful though because it allows the "Fake" part of the Mac emulation to run and set things up so that macOS doesn't realise it is basically being fooled. Which, make no mistake, is the whole point of Clover.

From my side of the fence I'm not 100% convinced putting kexts in both locations is sound. Does one location get priority over another? Seems unlikely if macOS knows nothing of the EFI folder, how can there be a choice? Clover injects the 'hidden" code so it is already in place before the L/E kext is allowed by macOS. This isn't, for example, the same as an ACPI "patch" where a new piece of code overwrites the old.

There is never going to be an "official" mantra on this subject because nothing about it is official at all. Fooling a real operating system with code patches and emulated keys is something that works, but is unlikely to be officially recognised.

I would suggest, respectfully, that any "Fake" or "Emulation" kexts go in EFI/CLOVER/kexts and that any device kexts, drivers in other words, go in Library/Extensions.

You may not agree.

:)
 
Joined
Jan 21, 2012
Messages
732
Motherboard
HP 8300 Elite
CPU
i5-3570
Graphics
GT 710
Mobile Phone
Android
not really about an official mantra - the issue shows in the previous paragraph - given your experience - how is it the you have doubts about the process followed?

Wouldnt dream of disagreeing with you on kext location placement, Ive got no idea.
 

jaymonkey

Moderator
Joined
Aug 27, 2011
Messages
3,213
Motherboard
ASRock-Z97 EX6
CPU
i7-4790K OC @ 4.8GHz
Graphics
Vega 64LC + HD4600
Mac
MacBook Air, MacBook Pro
Mobile Phone
Android, iOS
II realise this is a contentious topic but cant really see why, it either makes some difference which can be expressed or it don't.

@nicksoph,

I would not call it a "contentious topic", it's just that some people are move vocal about their opinions than others which has lead to heated debates in the past.

Like i've said before everyone is free to use whatever method they want, no one if forcing you to do anything, running MacOS on non Apple hardware requires research and knowledge, in order to gain that we read guides and posts and make our own assessment of what is a good advice and what is not.

There is no right or wrong, some users swear that their system will only work if kext's are injected via Clover, other users report that their system is unstable if certain kext's are injected via Clover, some kexts will only work if loaded from /L/E.

For every Yin there is a Yang ...

The point is that every hackingtosh is different there is no standard method that works for everything every time.

I see a whole bunch of advice without really much explanation as to how the machines behave using one system or the other. Was hoping that someone would have tested and reported findings but what might have they reported? - Faster loading? Better stability?

The guide explains the benefits of allowing MacOS to load 3rd party kexts in section 4.

In summary, apart from the primary benefit of MacOS actively monitoring kexts installed in /L/E which @UtterDisbelief describes so well in his post above, kext's in /L/E are cached along with a fair bit of the kernel.. meaning that all kexts (System and 3rd party) are loaded at once resulting in a quicker boot time .... where as if you are injecting a lot of kexts via Clover it takes a bit of time for those kexts to load and initialise which can result in a short pause before MacOS starts to load.

Cheers
Jay
 
Top