Contribute
Register

[SOLVED] Missing IGPU trace with Intel Power Gadget

jaymonkey

Moderator
Joined
Aug 27, 2011
Messages
4,079
Motherboard
GB Z490 Vision D
CPU
i9-10850K OC @ 5.2 GHz
Graphics
RX6800-XT+UHD630
Mac
  1. MacBook Air
  2. MacBook Pro
  3. Mac Pro
Mobile Phone
  1. iOS
Hi All,

Recently I noticed that on all my Hacks Intel Power Gadget (IPG) was no longer showing a trace for the IGPU:-
Screenshot 2019-07-17 at 16.58.48.png

This was odd as previously it worked fine. Initially thought that it was caused by the 10.14.5 update, so i booted to an earlier backup of MacOS and it too suffered the same issue of no IGPU trace in IGP.

I tried searching this and other forums for the problem but did not find any mention of the issue.

So i took a look at my config.plist(s) on all my hacks, and after comparing different versions i realised that a month or so ago I used Hackintool's export PCI list function to spoof most of my PCI devices (including the IGPU) so that they where named correctly and had the correct slot id when listed in System Information -> PCI.

After some experimentation I found that removing the "model" Device Property for the IGPU in my config.plist seemed to fix the issue of the missing IGPU trace :-
Screenshot 2019-07-17 at 16.39.32.png

In this example when I used Hackintool to export the PCI list it gave the IGPU on my laptop a name of :-

HD Graphics 620

With the IGPU "model" Device Property set in my config.plist to this, IPG would not show a trace for the IGPU ?

I use WhatEverGreen on all my hacks which will set the IGPU "model" Device Property automatically if none is defined in the config.plist, once I removed the "model" Device Property from my config.plist, on the next reboot WhatEverGreen automatically set it to :-

Intel HD Graphics 620

Which allowed IPG to show the IGPU activity trace just fine ....

After some more testing i found that you can actually set the string value of the "model" Device Property for the IGPU to anything you want, as long as it is prefixed with "Intel" IPG will show a trace for the IGPU, if the "Intel" prefix is missing then IPG will not show a trace for the IGPU ...

Here is an example of a custom IGPU "model" value on my Video Editing System (White Knight build in my sig)

Code:
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>
                CwASBA==
                </data>
                <key>AAPL,slot-name</key>
                <string>Internal</string>
                <key>device-id</key>
                <data>
                EgQAAA==
                </data>
                <key>device_type</key>
                <string>Display Controller</string>
                <key>hda-gfx</key>
                <string>onboard-2</string>
                <key>model</key>
                <string>Intel HD Graphics 4600 (Headless)</string>
            </dict>

As you can see below, IPG still shows a trace for the IGPU even though it has a custom value for "model" :-

Screenshot 2019-07-17 at 18.37.49.png


Note: The above screen shot is from my desktop system which is using the iMac15,1 SMBIOS and the IGPU configured as Headless. It is quite normal to see no throttling of the IGPU clock frequency when its configured as headless and will usually remain pegged at the max IGPU clock frequency (Real iMacs show the same behaviour).

I hope this quick article helps anyone else who is wondering what happened to the IGPU trace on Intel Power Gadget. I've alerted Headkaze the developer of Hackintool about this oddity, who has acknowledged the issue and will implement a fix in the next release.


Cheers
Jay
 
Last edited:
Thanks for this post which solves my concern.

However, I find that the istats only display iGPU's info when the model is exactly set to "UHD Graphic 630" (my CPU is 9900k).

When not set model or set a model starting with "Intel", the istats will display a blank block in the GPU info location.

Any comments? Thanks!
 
I find that the istats only display iGPU's info when the model is exactly set to "UHD Graphic 630" (my CPU is 9900k). When not set model or set a model starting with "Intel", the istats will display a blank block in the GPU info location.


@xiaodai,

Very strange ...

I found exactly the opposite ... IGPU needed to be prefixed with Intel in order to see a IGPU trace in Intel Power Gadget and for it to be included in iStat Menus, as you can see in the screen shot in Post #1 .. I have a custom IGPU name which shows up just fine in iStat menus.

I assume your using a headless IGPU PlatformID ?

Cheers
Jay
 
@xiaodai,

Very strange ...
I found exactly the opposite ... IGPU needed to be prefixed with Intel in order to see a IGPU trace in Intel Power Gadget and for it to be included in iStat Menus, as you can see in the screen shot in Post #1 .. I have a custom IGPU name which shows up just fine in iStat menus.

I assume your using a headless IGPU PlatformID ?

Cheers
Jay

I do not quite understand what headless means. I only have iGPU. So I guess in my case, I am using a headless igpu platformid?

QQ20190731-082559@2x.png
QQ20190731-082608@2x.png
QQ20190731-082634@2x.png


My situation is that, if model is set to "Intel xxxx" intel power gadget works but istats not. istat only works when the model is exactly set to "UHD Graphics 630".
 
I do not quite understand what headless means. I only have iGPU. So I guess in my case, I am using a headless igpu platformid?


@xiaodai,

Apple/MacOS uses a 'Headless' PlatformID when there is a CPU with a IGPU installed in the system but there are no displays physically attached to the IGPU. The displays are driven from a dGPU like in most iMacs and some Mac Mini's.

MacOS uses a 'Headless' IGPU as a sort of GPU coprocessor and works in tandem with the dGPU.

For More Info please read the 'Headless' section of Chapter 4 of this guide :-


I assumed your using a Headless PlatformID as you have a Nvidia GPU listed in your system profile.

My situation is that, if model is set to "Intel xxxx" intel power gadget works but istats not. istat only works when the model is exactly set to "UHD Graphics 630".


I Can't really comment as I don't see that issue myself, iStat Menus work fine on all my systems and all have the "Intel" prefix .... Since iStat Menus is a closed App we have no way of knowing whats going on, i guess you could report the issue to the iStat menus developers and see if they can shine a light on the issue.

As the Official Intel App (IPG) requires the "Intel" prefix then one would assume that the "Intel" prefix is a requirement.

Your User Profile states that you have a i7 6800K CPU so why are you using a CoffeeLake PlatformID and SMBIOS ?
This will almost certainly cause issues as your enabling CPU features in MacOS that your CPU does not have.

iMac 19,1 has a "Headless" Intel UHD 630 IGPU which may be why iStats is looking for one, but your 6800K CPU does not have UHD 630 Graphics !

A better match for your i7 6800K would be iMac 16,2 which shipped with a Broadwell i7 CPU, according to the official Intel ARK site the i7 6800K does not have Integrated Graphics !!


Cheers
Jay
 
Last edited:
@xiaodai,

Apple/MacOS uses a 'Headless' PlatformID when there is a CPU with a IGPU installed in the system but there are no displays physically attached to the IGPU. The displays are driven from a dGPU like in most iMacs and some Mac Mini's.

MacOS uses a 'Headless' IGPU as a sort of GPU coprocessor and works in tandem with the dGPU.

For More Info please read the 'Headless' section of Chapter 4 of this guide :-


I assumed your using a Headless PlatformID as you have a Nvidia GPU listed in your system profile.




I Can't really comment as I don't see that issue myself, iStat Menus work fine on all my systems and all have the "Intel" prefix .... Since iStat Menus is a closed App we have no way of knowing whats going on, i guess you could report the issue to the iStat menus developers and see if they can shine a light on the issue.

As the Official Intel App (IPG) requires the "Intel" prefix then one would assume that the "Intel" prefix is a requirement.

Your User Profile states that you have a i7 6800K CPU so why are you using a CoffeeLake PlatformID and SMBIOS ?
This will almost certainly cause issues as your enabling CPU features in MacOS that your CPU does not have.

iMac 19,1 has a "Headless" Intel UHD 630 IGPU which may be why iStats is looking for one, but your 6800K CPU does not have UHD 630 Graphics !

A better match for your i7 6800K would be iMac 16,2 which shipped with a Broadwell i7 CPU, according to the official Intel ARK site the i7 6800K does not have Integrated Graphics !!


Cheers
Jay

Sorry for confusing you.

I forget to update my profile since I just purchase a new one this Monday.

The discussion of mine based on this post is for 9900k and no dGPU.
 
Sorry for confusing you.
I forget to update my profile since I just purchase a new one this Monday.
The discussion of mine based on this post is for 9900k and no dGPU.


@xiaodai,

Ok that makes much more sense now ...
I dont have a i9 system so am unable to test or confirm the issue.
The official dump from the Apple drivers shows the Model Name for that PlatformID as being "Intel UHD Graphics 630" :-

Code:
ID: 3E9B0007, STOLEN: 57 MB, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x00801302
TOTAL STOLEN: 58 MB, TOTAL CURSOR: 1 MB (1572864 bytes), MAX STOLEN: 172 MB, MAX OVERALL: 173 MB (181940224 bytes)
GPU Name: Intel UHD Graphics 630 (0x3E9B8086)
Model Name(s): Macmini8,1
Camellia: Disabled
Mobile: 0, PipeCount: 3, PortCount: 3, FBMemoryCount: 3
[1] busID: 0x05, pipe: 9, type: 0x00000400, flags: 0x000003C7 - DP
[2] busID: 0x04, pipe: 10, type: 0x00000400, flags: 0x000003C7 - DP
[3] busID: 0x06, pipe: 8, type: 0x00000400, flags: 0x000003C7 - DP
01050900 00040000 C7030000
02040A00 00040000 C7030000
03060800 00040000 C7030000


This is just a guess but it could be that iStat Menus is getting a bit confused as your PlatformID and SMBIOS are miss-matched, you could try changing your SMBIOS to MacMini8,1 which is what that PlatformID is for.

The iMac 19,1 ships with a dGPU and the IGPU is configured as headless.

Thats about all i can think of ...

Cheers
Jay
 
Last edited:
@jaymonkey I am trying to test IGPU working or not and for this, I am making screen record but IGPU never been active. I removed headless leave to WEG to define it but still the same. GFX always show solid green line on GFX. I also open a picture in the Preview app to make markup but still the same it never been active. How can I test it?
 
Last edited:
GFX always show solid green line on GFX. I also open a picture in the Preview app to make markup but still the same it never been active.


@telepati,

That is correct, when a IGPU is used with iMac or MacMini SMBIOS it will always run at the max IGPU clock frequency. Normally the IGPU in a iMac is configured as headless and only used for compute functions so no need to regulate its power consumption as overall its very little compared to CPU power management.

As you can see on this screen grab from my Desktop Hack using SMBIOS iMac15,1 with HD4600 as headless :-

Screenshot 2019-11-20 at 18.49.03.png
You can see that the IGPU is pegged at 1.25Ghz ... which is to be expected.

MacOS will only use IGPU power management when using a Mobile SMBIOS such as MacBookPro or MacBookAir which helps to conserve battery power.

Cheers
Jay
 
@telepati,

That is correct, when a IGPU is used with iMac or MacMini SMBIOS it will always run at the max IGPU clock frequency. Normally the IGPU in a iMac is configured as headless and only used for compute functions so no need to regulate its power consumption as overall its very little compared to CPU power management.

As you can see on this screen grab from my Desktop Hack using SMBIOS iMac15,1 with HD4600 as headless :-

View attachment 436779
You can see that the IGPU is pegged at 1.25Ghz ... which is to be expected.

MacOS will only use IGPU power management when using a Mobile SMBIOS such as MacBookPro or MacBookAir which helps to conserve battery power.

Cheers
Jay
Edit: I got it now. Thank you.
 
Last edited:
Back
Top