Contribute
Register

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

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:
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
 
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:
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.
 
@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:
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...
 
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.

:)
 
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.
 
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
 
Thanks to all, I've got a build with only a few kexts and intend to experiment but not really sure what I can test. Is there a way to tell, after osx has loaded,where the kexts were loaded from?
 
Back
Top