Contribute
Register

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

@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?
 
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
 
@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

  • Screen Shot 2019-04-03 at 15.50.02.png
    Screen Shot 2019-04-03 at 15.50.02.png
    23.4 KB · Views: 239
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

  • SSDT-XCPM.aml.zip
    829 bytes · Views: 200
@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.
 
@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

  • debug_19395.zip
    3.1 MB · Views: 131
@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:
@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?
 
Finally!!! Thanks @jaymonkey for your help. I'm able to boot into the internal screen with 2048mb vram. no my question, although resolution is 3840x2160, the UI in system reports as UI looks LIKE 1920x1080. is that normal?
 
Last edited:
Finally!!! Thanks @jaymonkey for your help. I'm able to boot into the internal screen with 2048mb vram.


@Mrgeque,

No Problem ..... Glad it's working now ....

Now my question, although resolution is 3840x2160, the UI in system reports as UI looks LIKE 1920x1080. is that normal?


Yes thats completely normal .... By default MacOS scales HI-DPI screens to 1920x1080 to make the UI easer to read.
You can change the scaling size in System Prefs -> Displays :-

Screenshot 2019-04-17 at 13.15.05.png
I have 4K screen on my 15" HP Spectre X360 laptop, and this is by far the best setting to use, Apps such as photoshop .. etc will still treat the display as 4K though so you still have lots of pixels to play with.

If you want to set the MacOS UI size by resolution then Option (⌥) click on "Scaled" to toggle the UI resolution selection between scaled and supported screen resolutions.

Screenshot 2019-04-17 at 13.17.18.png
However 4K on an internal laptop screen is almost impossible to use unless you have superman's eye's :)

Cheers
Jay
 
Last edited:
Back
Top