Contribute
Register

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

well, I installed appleALC and Lilu on /L/E with kextbeast and modified config.plist on EFI partition: Under Device/Audio, I modified inject = 3 and on clover configurator check resetHDA and AFGlowPowerState. Still no audio. I verified with kexstat and Lilu and AppleALC are loaded.


@Sbrillo,

If kexstat shows that Lilu and AppleALC are loaded then you have done everything correctly and the issue is most likely that the single defined layout (3) for your IDT92HD99BXX codec in AppleALC wont work with your machine.

Your best course of action now would be to post a codec dump on the AppleALC support thread :-



Hopefully one of the AppleALC developers will pick up on your post and offer to add support for your specific codec config by implementing a new layout in AppleALC.

Cheers
Jay
 
Last edited:
thank you @jaymonkey. I will try to post my situation in that forum.
 
hello everyone, could I please get some help?

I followed this exceptional guide in order to make WEG work on my setup, disabling every IGPU-related commands on clover.

At first I started with lilu and WEG on CLOVER/kext/others as suggested in the faq section on WEG getup page. this allowed me to run some tests on the system. The first issue I encountered was that, on the output log of igfxutil, the row corresponding to my GPU was referred as GFX0 instead of IGPU ( I though WEG would take care of the renaming). Another issue I had, related to this, is due to hackingtool not producing any config.plist entry: in order for it to work, I had to enable the replacement GFX0 -> IGPU on Clover.

Another issue I have is that the GPU spoofing seems not to work at all: I followed the steps and set it to "Iris Pro 5200", but the generated entries looked like the following.

Code:
<key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                AwAiDQ==
                </data>
                <key>AAPL,slot-name</key>
                <string>Internal@0,2,0</string>
                <key>device-id</key>
                <data>
                Ig0AAA==
                </data>
                <key>device_type</key>
                <string>VGA compatible controller</string>
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>model</key>
                <string>Intel Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller</string>
            </dict>

This are the same values converted into hex for readability :
Schermata 2019-09-28 alle 09.18.17.png


Initially I did not care much, since the system seemed to work anyhow. So, the new step was to move the kext from the clover folder to /L/E as explained (with hackingtool).

This resulted in the system starting to show heavy glitches an becoming pretty unusable.

Moreover, booting up from a usb stick I had with a working clover setup didn't help.

Any guessing on what's happening?

Attached is the config I use.

Thanks,
Davide
 

Attachments

  • config.plist
    7.7 KB · Views: 55
Another issue I have is that the GPU spoofing seems not to work at all: I followed the steps and set it to "Iris Pro 5200", but the generated entries looked like the following.

Initially I did not care much, since the system seemed to work anyhow. So, the new step was to move the kext from the clover folder to /L/E as explained (with hackingtool).This resulted in the system starting to show heavy glitches an becoming pretty unusable.


@masterdbs89,

Keep the PlatformID the same (0x0D220003) but change the Device spoof to HD 4600 (0x0412), like this :-Screenshot 2019-09-28 at 13.34.08.png
The idea here is that we want MacOS to treat your IGPU as a HD 4600 but to use the HD 5200 Framebuffer.

Cheers
Jay
 
@masterdbs89,

Keep the PlatformID the same (0x0D220003) but change the Device spoof to HD 4600 (0x0412), like this :-View attachment 427855
The idea here is that we want MacOS to treat your IGPU as a HD 4600 but to use the HD 5200 Framebuffer.

Cheers
Jay

Thanks a lot Jay, that did the trick. Actually, i tough spoofing was meant to be the opposite way - i.e. make the actual GPU appear as HD5200 instead of the real 4600.

i now see this in the IGPU section of Hackingtool:

1569702181235.png


Is GPU Name relevant (clearly is wrong here)? i guess it is only related to the name displayed under "About this Mac"...

Moreover, is there a way to check if everything is working properly? I read somewhere that Hackintool automatically performs tests in order to check Metal and QE/QI compliance, so it should be good here right?

Thanks again,
D
 
Thanks a lot Jay, that did the trick.


@masterdbs89,

Happy to help and glad that its working for you now ...

Actually, i tough spoofing was meant to be the opposite way - i.e. make the actual GPU appear as HD5200 instead of the real 4600


In most cases thats true but HD 4600 is a special case (as detailed in the guide) so we make sure that MacOS sees the IGPU as a HD 4600 by setting its device id to 0x0412 but force it to use the HD 5200 framebuffer which seems to be needed on most Hackintosh systems due to peculiarities of the AZUL framebuffer.

Is GPU Name relevant (clearly is wrong here)? i guess it is only related to the name displayed under "About this Mac"...


You can change the string value for "model" to "Intel HD 4600" if you want ...
Just edit it in Clover Configurator -> Devices -> Properties -> model

Moreover, is there a way to check if everything is working properly? I read somewhere that Hackintool automatically performs tests in order to check Metal and QE/QI compliance, so it should be good here right?


Hackintool preforms IGPU checks to ensure that QE/QI is working and also VDA decoder checks (in System Info)
As long as that's the case you should be good to go ...

Cheers
Jay
 
Last edited:
Dear Jay,

Thank you very much for your exhaustive how-to. It is very easy to follow.
I have a problem with my audio.
Clean install Mojave. Everything is working, except for the audio.
The audio device is not showing up at all in Hackintool so I am unable to continue forward with the guide.Although the controller is showing up as PCI Device in the corresponding tab of Hackintool.
My hardware is Z77-UD5H (Ivy bridge). I believe the sound controller is based on a Realtek 898.
Latest versions of Lilu, AppleALC, AppleHD installed correctly:
iMac:~ Alexandro$ kextstat | grep 'Lilu\|AppleALC\|AppleHDA'
18 2 0xffffff7f81276000 0x23000 0x23000 as.vit9696.Lilu (1.3.8) FC38993B-FBDB-3E9A-AC3E-73704D26ACF6 <8 6 5 3 2 1>
20 0 0xffffff7f81369000 0x120000 0x120000 as.vit9696.AppleALC (1.4.1) 643175DA-A09A-3A9A-9C1C-3C0A8A573B85 <18 13 8 6 5 3 2 1>
122 0 0xffffff7f823e9000 0x1d000 0x1d000 com.apple.driver.AppleHDAController (276.26) D0953002-6091-376F-8E0F-33B65F42CEF9 <121 104 93 13 8 7 6 5 3 1>

According to AppleALC the layer-id for 898 should be 15. I tried to inject 15 at Clover Configurator with no effect.
I do not understand the part with data values generated by the Hackintool so that I can put the corresponding value in 8 digit hex number.

I will be more than grateful for any help.
Ready to upload any logs or screenshots requested.

Thank you in advance and best regards.
 
According to AppleALC the layer-id for 898 should be 15. I tried to inject 15 at Clover Configurator with no effect.I do not understand the part with data values generated by the Hackintool so that I can put the corresponding value in 8 digit hex number.


@Alexandro,

Layout 15 is not valid for the 898 codec in AppleALC ...

Valid layouts for ALC898 codec in AppleALC are 1,2,3,5,7,11,13,28,65,66,98,99,101

You can see this for yourself by looking at the info.plist in the ALC898 resources folder in the AppleALC sources :-



In you case i would think that Layout 1,2,3 or 5 would the one that works for you ...

You can use Clover Configurator to change the layout-id in Devices -> Properties or use Xcode or a Plist Editor.
Start with changing layout-id to 1, save the change reboot and test the audio, if it does not work change layout-id to the next one in the list and repeat ... work through the list until you find one that works.

Cheers
Jay
 
Last edited:
I've been looking for a 'test' to see whether my headless IGPU was setup correctly, and then I found your section on Headless IGPU Configuration (Desktop systems only).

I'm running 10.14.6 with a Kaby Lake i7-7700K, RX 570 and 32GB RAM. I only use video outputs from the RX 570.

I generated my patch in Hackintool with these parameters set:

Hackintool Headless IGPU patch.png


and it passes all of the tests that you mentioned in this great guide. I also just ran he Blackmagic_RAW_Macintosh_1.5 GPU test and it seemed very happy and didn't crash (but, possibly it only tests Metal on the RX and not the IGPU?).

BlackmagicRAWSpeedTest.png


I noticed that 'device-id' got removed when patching and there are several additional patches.

Do I need all of the framebuffer patches generated - and is anything missing? Here are the same patches when viewed in XCode, possibly an easier way to view them? Thanks!!!

devices xcode headless misisng device-id.png
 
I've been looking for a 'test' to see whether my headless IGPU was setup correctly, I generated my patch in Hackintool with these parameters set..


@exquirentibus,

Your headless patch looks correct ...

and it passes all of the tests that you mentioned in this great guide. I also just ran he Blackmagic_RAW_Macintosh_1.5 GPU test and it seemed very happy and didn't crash (but, possibly it only tests Metal on the RX and not the IGPU?).


Blackmagic RAW test will only test the primary GPU I think ... but the fact that it runs without crashing is a good indication that the headless config is working well.

The best test you can do to see if Intel Quick Sync is working on the IGPU is to play a H264 video using the finder preview feature.

Do I need all of the framebuffer patches generated - and is anything missing?


Probably not .... generally a headless IGPU is not fussy about FBMEM or StolenMem as long as the DVMT pre-alloc is at least 64MB .... you could try disabling the patches with the "framebuffer" prefix by putting a "#" in front of them or make a backup of your config.plist and then delete them. If it stops the headless config from working then put the patches back.

There is no harm in leaving them in place though ...

Cheers
Jay
 
Back
Top