Contribute
Register

An iDiot's Guide To Lilu and its Plug-ins

I hope this is the right place to post the issue as it is lilu related. Previously I had Lilu in the EFI (Others folder) but I've moved it to /L/E to fix an issue with hdmi audio (using the AppleALC.kext). With Lilu in EFI the audio didn't work, moving it to /L/E fixed it and I have the correct sound output. However now when the computer is booting at around 50% progression bar (right after the screen flickers for a moment) the bar gets stuck there and it takes 5-6 minutes of waiting until it suddenly moves again (quite fast) and the boot completes.

Any idea what it can be and how I can troubleshoot it? The graphics is HD6000 (5250u processor). Happy to post logs/config/etc.
 
@jaymonkey

I'm having some question while trying to add iGPU device properties. I have an i7-8700k cpu and currently using AMD Rx560 graphics card in the PCIe slot as main graphic. (I'm using two monitors). I downloaded Intel FB-patcher --> went to framebuffer menu --> clicked on macos 10.13.6 version high sierra, but it gave me platfform id 0x3EA50009 which is the mobile version. How can i fix that. Or should i select Kaby lake under the intelgen button?

And how can u find the reverse byte order for properties value?

Thanks!
Currently on High sierra (10.13.6) and I'm having freezing issues while using chrome. Not entirely sure if it's graphics issue, but i assume yes.
 

Attachments

  • Screen Shot 2018-11-02 at 15.48.52.png
    Screen Shot 2018-11-02 at 15.48.52.png
    1.5 MB · Views: 91
I'm having some question while trying to add iGPU device properties. I have an i7-8700k cpu and currently using AMD Rx560 graphics card in the PCIe slot as main graphic. (I'm using two monitors). I downloaded Intel FB-patcher --> went to framebuffer menu --> clicked on macos 10.13.6 version high sierra, but it gave me platfform id 0x3EA50009 which is the mobile version. How can i fix that. Or should i select Kaby lake under the intelgen button?

And how can u find the reverse byte order for properties value?.

@jaminwang2386,

You should be using headless PlatformID for IGPU on a dual GPU system, 0x3EA50009 is not headless, the guide lists two headless PlatformID's for Coffee Lake CPU's.

0x3E920003 or 0x3E910003

Use which ever one matches your system closest, but remember that these will only work on Mojave, if your not using Mojave then use 0x59120003 (Spoof as headless Kaby Lake HD-630)

I've recently updated the WhatEverGreen section of the guide which answers your questions and now lists Coffee Lake specific headless PlatformID's

The guide has examples to show you how to reverse the byte order but as an example if you want to use 0x59120003 then ignore the leading "0x" and split the value into four, two digit bytes 59,12,00,03 then reverse the order which gives 03,00,12,59 so you would enter 03001259 ... it's that simple.

Make sure you use the the correct SMBIOS, imac18,3 is the recommended SMBIOS for your configuration.

Cheers
Jay
 
Last edited:
@jaminwang2386,

I've recently updated the WhatEverGreen section of the guide which answers your questions and now lists Coffee Lake specific headless PlatformID's

The guide has examples to show you how to reverse the byte order but as an example if you want to use 0x59120003 then ignore the leading "0x" and split the value into four, two digit bytes 59,12,00,03 then reverse the order which gives 03,00,12,59 so you would enter 03001259 ... it's that simple.

Make sure you use the the correct SMBIOS, imac18,1 is the recommended SMBIOS for your configuration.

Cheers
Jay

Can I please have the link to the updated WhatEverGreen guide?
Platformid 0x59120003 are for models iMac18,2 and iMac18,3. Should I change my SMBIOS to match either of those?
 
Can I please have the link to the updated WhatEverGreen guide?
Platformid 0x59120003 are for models iMac18,2 and iMac18,3. Should I change my SMBIOS to match either of those?

@jaminwang2386,

I was referring to my guide which i updated yesterday (post #1 of this thread)
Recommended Config for your Configuration is iMac18,3 using 59120003 ig-platform-id.
You should change your SMBIOS to suit, use of non matching SMBIOS will result in abnormal behaviour.

Cheers
Jay
 
@jaymonkey after adding those kext to L/E, in the Clover Configurator System Parameter/Inject Kexts must be "Detect", right?

Here is the other question; You are saying only kext you must to add Kexts/Other in Clover EFI is FakeSMC. But I am using VirtualSMC and its working with Lilu. But AppleALC and WEG are also working with Lilu is that means I must move my all kexts to kexts/Other folder.
 
@jaymonkey after adding those kext to L/E, in the Clover Configurator System Parameter/Inject Kexts must be "Detect", right?

@telepati,

My understanding is that if Clover/System Parameter/Inject Kexts is set to detect then Clover will check /L/E for FakeSMC if it finds it in /L/E then it will not inject any Kext's from /EFI/Clover/Kexts ... and MacOS will load all kext's from /L/E. if Clover does not find FakeSMC in /L/E then it will inject the kexts in /EFI/Clover/Kexts/... (also when booting Installer or recovery)

I don't have any experience with VirtualSMC so am not sure if Clover fully supports it as a FakeSMC replacement, if it does then you should put all 3rd Party Kexts in /L/E including VirtualSMC ... and have a copy of Lilu + VirtualSMC in /EFI/Clover/Kexts (as a replacement for FakeSMC) so that you can boot installer/updater & recovery.

However, as a guess I would think the Clover does support VirtualSMC being installed in /L/E for the detect function as the Lilu devs work closely with the Clover devs, but even if Clover does not fully support VirtualSMC for its Detect function you can still put everything in /L/E and set Inject to No.

It is always preferential to load kext's from /L/E as they can be cached by the kernel and can be debugged. Injected kext's live outside the kernel's protected kext memory pool.

VirtualSMC is still in it's infancy, i am sure that it will eventually replace FakeSMC at some point in the future, but it's too new for me to recommend in the guide right now, once it's proven it's self stable and it's sensor plug-in's cover more hardware then i'll probably switch to it myself as it makes sense as we all start to use Lilu and the other plugin's, but for the moment FakeSMC has a proven track record and less likely to cause problems for most users.

Hope this helps you
Cheers
Jay
 
Last edited:
@telepati,

My understanding is that if Clover/System Parameter/Inject Kexts is set to detect then Clover will check /L/E for FakeSMC if it finds it in /L/E then it will not inject any Kext's from /EFI/Clover/Kexts ... and MacOS will load all kext's from /L/E. if Clover does not find FakeSMC in /L/E then it will inject the kexts in /EFI/Clover/Kexts/... (also when booting Installer or recovery)

I don't have any experience with VirtualSMC so am not sure if Clover fully supports it as a FakeSMC replacement, if it does then you should put all 3rd Party Kexts in /L/E including VirtualSMC ... and have a copy of Lilu + VirtualSMC in /EFI/Clover/Kexts (as a replacement for FakeSMC) so that you can boot installer/updater & recovery.

However, as a guess I would think the Clover does support VirtualSMC being installed in /L/E for the detect function as the Lilu devs work closely with the Clover devs, but even if Clover does not fully support VirtualSMC for its Detect function you can still put everything in /L/E and set Inject to No.

It is always preferential to load kext's from /L/E as they can be cached by the kernel and can be debugged. Injected kext's live outside the kernel's protected kext memory pool.

VirtualSMC is still in it's infancy, i am sure that it will eventually replace FakeSMC at some point in the future, but it's too new for me to recommend in the guide right now, once it's proven it's self stable and it's sensor plug-in's cover more hardware then i'll probably switch to it myself as it makes sense as we all start to use Lilu and the other plugin's, but for the moment FakeSMC has a proven track record and less likely to cause problems for most users.

Hope this helps you
Cheers
Jay
It really does. Thank you. Also what is it for this PciRoot? Export show one PciRoot but in the picture there is two?

Screen Shot 2018-09-09 at 12.54.31.png
 
It really does. Thank you. Also what is it for this PciRoot? Export show one PciRoot but in the picture there is two?

@telepati,

Thats the PCI root for HDA audio device .. which is used by the Device Property "layout-id"
See the AppleALC Plug-in section of the guide ...

Cheers
Jay
 
Last edited:
Hello friends! I have followed guide for audio patching but can't get it working. I know my laptop uses ALC288 layout-id 13 for Dell XPS 9343. I generated and applied audio patch for ID 13, installed lilu.kext + AppleALC. Also extracted from 10.13.6 update (my build) vanilla AppleHDA and placed it in S/L/E. FB patcher sees installed kexts but doesn't see audio info. In sound setting sound alerts are grayed out. Attaching below my files.
 

Attachments

  • debug_12221.zip
    5.2 MB · Views: 174
Back
Top