Contribute
Register

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

Joined
Nov 1, 2016
Messages
16
Motherboard
Z170x Gigabyte Gaming 5
CPU
i7-6700K
Graphics
R9 280X
Mac
MacBook Pro
@HackintoshNoobie,

Thanks for the feed back ... i'm glad you found the guide helpful and managed to get your IGPU working in headless mode (i assume). It is amazing what a difference it can make to the performance of MacOS when configured correctly.

Good luck with your USB patching ...

Cheers
Jay
No worries. Hey so my export time went down for H264 heavy clips to a level that i would expect. I just noticed today however that Quicktime playback on H264 got a little choppy. VLC plays the clip fine but doesn't use iGPU (based on intel widget). Any idea how i can get quicktime playback smooth again?

cheers
 

jaymonkey

Moderator
Joined
Aug 27, 2011
Messages
3,032
Motherboard
ASRock-Z97 EX6
CPU
i7-4790K OC @ 4.8GHz
Graphics
Vega 64LC + HD4600
Mac
MacBook Air, MacBook Pro
Mobile Phone
Android, iOS
No worries. Hey so my export time went down for H264 heavy clips to a level that i would expect. I just noticed today however that Quicktime playback on H264 got a little choppy. VLC plays the clip fine but doesn't use iGPU (based on intel widget). Any idea how i can get quicktime playback smooth again?

@HackintoshNoobie,

Humm not so sure why Quicktime would play back choppy H264 as it should use IQS.

Try using Intel Power Gadget to monitor IGPU .. frequency should always be pegged at max when running in headless mode if it's not then you might need to look at your CPU/IGPU power management ...

Cheers
Jay
 
Last edited:
Joined
Nov 1, 2016
Messages
16
Motherboard
Z170x Gigabyte Gaming 5
CPU
i7-6700K
Graphics
R9 280X
Mac
MacBook Pro
@HackintoshNoobie,

Humm not so sure why Quicktime would play back choppy H264 as it should use IQS.

Try using Intel Power Gadget to monitor IGPU .. frequency should always be pegged at max when running in headless mode if it's not then you might need to look at your CPU/IGPU power management ...

Cheers
Jay
hm, interesting. So here is my Power Gadget for the duration of me playing the H264 clip (which i exported out of FCPX) playing. The red underline is where i played it then paused it. Do you mean that the CPU Core frequency should be pegged or the iGPU frequency? Why is this the case?
 

jaymonkey

Moderator
Joined
Aug 27, 2011
Messages
3,032
Motherboard
ASRock-Z97 EX6
CPU
i7-4790K OC @ 4.8GHz
Graphics
Vega 64LC + HD4600
Mac
MacBook Air, MacBook Pro
Mobile Phone
Android, iOS
hm, interesting. So here is my Power Gadget for the duration of me playing the H264 clip (which i exported out of FCPX) playing. The red underline is where i played it then paused it. Do you mean that the CPU Core frequency should be pegged or the iGPU frequency? Why is this the case?
@HackintoshNoobie,

Did you mean to attach an image ?

IGPU frequency should be pegged when using a desktop SMBIOS (system definition) and configured as headless , MacOS does this as there is no need to throttle the IGPU as it's only used as a kind of GPU co-processor to the main dGPU. As desktops such as iMac run from mains power there is really no advantage to throttling the IGPU as it does not genearte any more heat and uses very little extra watts of power.

MacOS only throttles the IGPU when using a SMBIOS such as MacBook Pro or MacBook Air.

Cheers
Jay
 
Joined
Nov 1, 2016
Messages
16
Motherboard
Z170x Gigabyte Gaming 5
CPU
i7-6700K
Graphics
R9 280X
Mac
MacBook Pro
@HackintoshNoobie,

Did you mean to attach an image ?

IGPU frequency should be pegged when using a desktop SMBIOS (system definition) and configured as headless , MacOS does this as there is no need to throttle the IGPU as it's only used as a kind of GPU co-processor to the main dGPU. As desktops such as iMac run from mains power there is really no advantage to throttling the IGPU as it does not genearte any more heat and uses very little extra watts of power.

MacOS only throttles the IGPU when using a SMBIOS such as MacBook Pro or MacBook Air.

Cheers
Jay
My bad. yes i meant to attach an image. Here we go. I played a short h264 exported clip until the iGPU freq. flatlines. The only way i can peg it around 1.x is to scrub a timeline h264 in fcpx for example. My machine shows as a 2013 iMac. 14,2 definition. I was trying to avoid changing it to 17,1.

Seems odd to me to have the iGPU pegged all the time, are you sure? You know way more about this than I do so im sure you've seen proof of this..

Any idea what i should try first? If i just get Quicktime to use my dGPU instead of iGPU my Symptom regarding playback would be gone. Another thing that happened for the first time is an error when exporting a segment range to ProRes but i couldn't reproduce that when exporting the clip whole just now so i'll wait on that till i have more info.

Cheers man,
 

Attachments

jaymonkey

Moderator
Joined
Aug 27, 2011
Messages
3,032
Motherboard
ASRock-Z97 EX6
CPU
i7-4790K OC @ 4.8GHz
Graphics
Vega 64LC + HD4600
Mac
MacBook Air, MacBook Pro
Mobile Phone
Android, iOS
My bad. yes i meant to attach an image. Here we go. I played a short h264 exported clip until the iGPU freq. flatlines. The only way i can peg it around 1.x is to scrub a timeline h264 in fcpx for example. My machine shows as a 2013 iMac. 14,2 definition. I was trying to avoid changing it to 17,1.

@HackintoshNoobie,

iMac 14,2 SMBIOS is for Haswell CPU based systems ... the SMBIOS used dictates which CPU and IGPU extension MacOS use so you should really consider switching to iMac17,1 SMBIOS which is the only one optimised for SkyLake CPU's/IGPU.

Skylake has quite a few extra CPU instruction sets and IGPU extensions over Haswell so you are probably not getting the full potential of your CPU/IGPU when running MacOS with iMac14,2 SMBIOS on a SkyLake CPU.

Seems odd to me to have the iGPU pegged all the time, are you sure? You know way more about this than I do so im sure you've seen proof of this..

Yes certainly on all the systems i've set up (and those users i've helped here) IGPU is normally pegged when using "PlugInType 1" for native CPU/IGPU Power Management.

You should be using "SSDT-XCPM.aml" hot patch to enable PlugIn Type 1 for power Management ?, if not try the putting the attached in /EFI/Clover/ACPI/Patched" ... and make sure to disable CPU "P" states and "C" states in Clover if enabled.

Cheers
Jay
 

Attachments

Joined
Nov 13, 2018
Messages
15
Motherboard
Asus Maximus VII Gene Z97-3503
CPU
i7-4790K
Graphics
RX 580
Mobile Phone
iOS
@jaymonkey
I just wanted to thank you for your excellent guide.

I consider myself technically acquainted but being new to the hackintosh scene, I find most guides rather "advanced". This guide was spot on for me.

Thank you once again.
 
Joined
Dec 20, 2018
Messages
278
Motherboard
Gigabyte Z370 AORUS Gaming 7
CPU
i7-8700K OC 5GHz
Graphics
GTX 1080 Ti & UHD 630
Mac
iMac, MacBook Pro
Mobile Phone
iOS
@jaymonkey thank you for this guide. I'm still having trouble getting vram to 2048mb on uhd 620. any help is greatly appreciated! like all your other help. this is for dell 7573 4k variation. here is zip
 

Attachments

jaymonkey

Moderator
Joined
Aug 27, 2011
Messages
3,032
Motherboard
ASRock-Z97 EX6
CPU
i7-4790K OC @ 4.8GHz
Graphics
Vega 64LC + HD4600
Mac
MacBook Air, MacBook Pro
Mobile Phone
Android, iOS
@jaymonkey thank you for this guide. I'm still having trouble getting vram to 2048mb on uhd 620. any help is greatly appreciated! like all your other help. this is for dell 7573 4k variation. here is zip

@Mrgeque,

The device properties section in your config.plist is a complete mess ...
Why do you have so many unused and duplicated properties defined for the IGPU ?

Code:
            <key>PciRoot(0)/Pci(0x02,0)</key>
            <dict>
                <key># DVMT-prealloc</key>
                <data>
                MgALAAAJvwAAC/8OAAAMAAALAAAM7QAAAAsK
                </data>
                <key>## @0 LVDS-&gt;DP</key>
                <string>1</string>
                <key>## @1 HDMI</key>
                <string>0</string>
                <key>## @2 HDMI</key>
                <string>0</string>
                <key>## @3 HDMI</key>
                <string>0</string>
                <key>#1 0306-&gt;0105</key>
                <data>
                AFkbAAAAEAUAAK0AAwYADQ==
                </data>
                <key>#1 framebuffer-con1-alldata</key>
                <data>
                AQUKAAAIAACHAQAAAgQKAAAIAACHAQAA/wAAAAEAAAAg
                AAAA
                </data>
                <key>#1 framebuffer-con1-enable</key>
                <string>1</string>
                <key>#2 0204-&gt;0105</key>
                <data>
                AFkbAAAAEAUAAK0AAgQADQ==
                </data>
                <key>#2 framebuffer-con1-alldata</key>
                <string>01050A00 00080000 87010000 03060A00 00040000 87010000 FF000000 01000000 20000000 </string>
                <key>#2 framebuffer-con1-enable</key>
                <string>1</string>
                <key>#3 framebuffer-con1-alldata</key>
                <data>
                /wAAAAEAAAAgAAAA/wAAAAEAAAAgAAAA/wAAAAEAAAAg
                AAAA
                </data>
                <key>#3 framebuffer-con1-enable</key>
                <string>1</string>
                <key>#3 no external</key>
                <data>
                AFkbAAAAAAAAAAoAAA4AAAAAACBKAAMG
                </data>
                <key>#AAPL00,override-no-edid</key>
                <string>1</string>
                <key>#framebuffer-con0-enable</key>
                <string>1</string>
                <key>#framebuffer-con0-type</key>
                <data>
                AAQAAA==
                </data>
                <key>#framebuffer-con1-enable</key>
                <string>1</string>
                <key>#framebuffer-con1-flags</key>
                <data>
                hwEAAA==
                </data>
                <key>#framebuffer-con1-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>#framebuffer-con1-type</key>
                <data>
                AAgAAA==
                </data>
                <key>#framebuffer-con2-enable</key>
                <string>1</string>
                <key>#framebuffer-con2-flags</key>
                <data>
                hwEAAA==
                </data>
                <key>#framebuffer-con2-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>#framebuffer-con2-type</key>
                <data>
                AAgAAA==
                </data>
                <key>#framebuffer-con3-enable</key>
                <string>1</string>
                <key>#framebuffer-con3-flags</key>
                <data>
                hwEAAA==
                </data>
                <key>#framebuffer-con3-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>#framebuffer-con3-type</key>
                <data>
                AAgAAA==
                </data>
                <key>#hda-gfx</key>
                <data>
                AAsKDQ==
                </data>
                <key>AAPL,ig-platform-id</key>
                <data>
                AAAbWQ==
                </data>
                <key>device-id</key>
                <data>
                FlkAAA==
                </data>
                <key>framebuffer-fbmem</key>
                <data>
                AACQAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <string>1</string>
                <key>framebuffer-stolenmem</key>
                <data>
                AAAwAQ==
                </data>
                <key>framebuffer-unifiedmem</key>
                <data>
                AAAAgA==
                </data>
            </dict>

If we clean this up by removing all unused properties (those beginning #) we get :-

Code:
            <key>PciRoot(0)/Pci(0x02,0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                AAAbWQ==
                </data>
                <key>device-id</key>
                <data>
                FlkAAA==
                </data>
                <key>framebuffer-fbmem</key>
                <data>
                AACQAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <string>1</string>
                <key>framebuffer-stolenmem</key>
                <data>
                AAAwAQ==
                </data>
                <key>framebuffer-unifiedmem</key>
                <data>
                AAAAgA==
                </data>
            </dict>

From this the we can now easily see that the issue is most likely due to :-

Code:
                <key>framebuffer-patch-enable</key>
                <string>1</string>

This is incorrect ... framebuffer-patch-enable should have a data value defined in hex, you have a string value defined in ASCII. The correct property should be :-

Code:
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>

So the final device properties section for the IGPU should look like this :-

Code:
            <key>PciRoot(0)/Pci(0x02,0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                AAAbWQ==
                </data>
                <key>device-id</key>
                <data>
                FlkAAA==
                </data>
                <key>framebuffer-fbmem</key>
                <data>
                AACQAA==
                </data>     
               <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-stolenmem</key>
                <data>
                AAAwAQ==
                </data>
                <key>framebuffer-unifiedmem</key>
                <data>
                AAAAgA==
                </data>
            </dict>

However as framebuffer-patch-enable was not set correctly none of the other patches (stolenmem & fbmem) would be working so you may get strange results ... since those patches where not enabled I recommend that you start with just the 2048MB VRAM patch so try this first :-

Code:
            <key>PciRoot(0)/Pci(0x02,0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                AAAbWQ==
                </data>
                <key>device-id</key>
                <data>
                FlkAAA==
                </data>    
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-unifiedmem</key>
                <data>
                AAAAgA==
                </data>
            </dict>

Which in Clover Configurator would look like this :-

Screenshot 2019-04-16 at 13.04.21.png

Once you have made the changes, reboot and check IGPU operation and that VRAM is 2048MB ....

You can then re-add the stolenmem and fbmem patches if they are required (I suspect not as they where not active in your current config.plist due to framebuffer-patch-enable not being set correctly).

The moral of the post is keep your code tidy and you'll spot errors much easier !!

Cheers
Jay
 
Last edited:
Joined
Dec 20, 2018
Messages
278
Motherboard
Gigabyte Z370 AORUS Gaming 7
CPU
i7-8700K OC 5GHz
Graphics
GTX 1080 Ti & UHD 630
Mac
iMac, MacBook Pro
Mobile Phone
iOS
@Mrgeque,

The device properties section in your config.plist is a complete mess ...
Why do you have so many unused and duplicated properties defined for the IGPU ?

Code:
            <key>PciRoot(0)/Pci(0x02,0)</key>
            <dict>
                <key># DVMT-prealloc</key>
                <data>
                MgALAAAJvwAAC/8OAAAMAAALAAAM7QAAAAsK
                </data>
                <key>## @0 LVDS-&gt;DP</key>
                <string>1</string>
                <key>## @1 HDMI</key>
                <string>0</string>
                <key>## @2 HDMI</key>
                <string>0</string>
                <key>## @3 HDMI</key>
                <string>0</string>
                <key>#1 0306-&gt;0105</key>
                <data>
                AFkbAAAAEAUAAK0AAwYADQ==
                </data>
                <key>#1 framebuffer-con1-alldata</key>
                <data>
                AQUKAAAIAACHAQAAAgQKAAAIAACHAQAA/wAAAAEAAAAg
                AAAA
                </data>
                <key>#1 framebuffer-con1-enable</key>
                <string>1</string>
                <key>#2 0204-&gt;0105</key>
                <data>
                AFkbAAAAEAUAAK0AAgQADQ==
                </data>
                <key>#2 framebuffer-con1-alldata</key>
                <string>01050A00 00080000 87010000 03060A00 00040000 87010000 FF000000 01000000 20000000 </string>
                <key>#2 framebuffer-con1-enable</key>
                <string>1</string>
                <key>#3 framebuffer-con1-alldata</key>
                <data>
                /wAAAAEAAAAgAAAA/wAAAAEAAAAgAAAA/wAAAAEAAAAg
                AAAA
                </data>
                <key>#3 framebuffer-con1-enable</key>
                <string>1</string>
                <key>#3 no external</key>
                <data>
                AFkbAAAAAAAAAAoAAA4AAAAAACBKAAMG
                </data>
                <key>#AAPL00,override-no-edid</key>
                <string>1</string>
                <key>#framebuffer-con0-enable</key>
                <string>1</string>
                <key>#framebuffer-con0-type</key>
                <data>
                AAQAAA==
                </data>
                <key>#framebuffer-con1-enable</key>
                <string>1</string>
                <key>#framebuffer-con1-flags</key>
                <data>
                hwEAAA==
                </data>
                <key>#framebuffer-con1-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>#framebuffer-con1-type</key>
                <data>
                AAgAAA==
                </data>
                <key>#framebuffer-con2-enable</key>
                <string>1</string>
                <key>#framebuffer-con2-flags</key>
                <data>
                hwEAAA==
                </data>
                <key>#framebuffer-con2-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>#framebuffer-con2-type</key>
                <data>
                AAgAAA==
                </data>
                <key>#framebuffer-con3-enable</key>
                <string>1</string>
                <key>#framebuffer-con3-flags</key>
                <data>
                hwEAAA==
                </data>
                <key>#framebuffer-con3-pipe</key>
                <data>
                EgAAAA==
                </data>
                <key>#framebuffer-con3-type</key>
                <data>
                AAgAAA==
                </data>
                <key>#hda-gfx</key>
                <data>
                AAsKDQ==
                </data>
                <key>AAPL,ig-platform-id</key>
                <data>
                AAAbWQ==
                </data>
                <key>device-id</key>
                <data>
                FlkAAA==
                </data>
                <key>framebuffer-fbmem</key>
                <data>
                AACQAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <string>1</string>
                <key>framebuffer-stolenmem</key>
                <data>
                AAAwAQ==
                </data>
                <key>framebuffer-unifiedmem</key>
                <data>
                AAAAgA==
                </data>
            </dict>

If we clean this up by removing all unused properties (those beginning #) we get :-

Code:
            <key>PciRoot(0)/Pci(0x02,0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                AAAbWQ==
                </data>
                <key>device-id</key>
                <data>
                FlkAAA==
                </data>
                <key>framebuffer-fbmem</key>
                <data>
                AACQAA==
                </data>
                <key>framebuffer-patch-enable</key>
                <string>1</string>
                <key>framebuffer-stolenmem</key>
                <data>
                AAAwAQ==
                </data>
                <key>framebuffer-unifiedmem</key>
                <data>
                AAAAgA==
                </data>
            </dict>

From this the we can now easily see that the issue is most likely due to :-

Code:
                <key>framebuffer-patch-enable</key>
                <string>1</string>

This is incorrect ... framebuffer-patch-enable should have a data value defined in hex, you have a string value defined in ASCII. The correct property should be :-

Code:
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>

So the final device properties section for the IGPU should look like this :-

Code:
            <key>PciRoot(0)/Pci(0x02,0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                AAAbWQ==
                </data>
                <key>device-id</key>
                <data>
                FlkAAA==
                </data>
                <key>framebuffer-fbmem</key>
                <data>
                AACQAA==
                </data>    
               <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-stolenmem</key>
                <data>
                AAAwAQ==
                </data>
                <key>framebuffer-unifiedmem</key>
                <data>
                AAAAgA==
                </data>
            </dict>

However as framebuffer-patch-enable was not set correctly none of the other patches (stolenmem & fbmem) would be working so you may get strange results ... since those patches where not enabled I recommend that you start with just the 2048MB VRAM patch so try this first :-

Code:
            <key>PciRoot(0)/Pci(0x02,0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                AAAbWQ==
                </data>
                <key>device-id</key>
                <data>
                FlkAAA==
                </data>   
                <key>framebuffer-patch-enable</key>
                <data>
                AQAAAA==
                </data>
                <key>framebuffer-unifiedmem</key>
                <data>
                AAAAgA==
                </data>
            </dict>

Which in Clover Configurator would look like this :-

View attachment 399991

Once you have made the changes, reboot and check IGPU operation and that VRAM is 2048MB ....

You can then re-add the stolenmem and fbmem patches if they are required (I suspect not as they where not active in your current config.plist due to framebuffer-patch-enable not being set correctly).

The moral of the post is keep your code tidy and you'll spot errors much easier !!

Cheers
Jay
thank you @jaymonkey for your help and your time. unfortunately AFTER using the modified config.plist when Framebuffer patch is enabled I only can use HDMI, internal screen isn't recognized. I'm stumped at this point. is there something else I'm missing?
 
Top