Contribute
Register

[GUIDE] Injection of AMD Vega Power and Fan Control Properties

the new mac mini 8,1 does not configure the IGPU as headless even when used in conjunction with a Thunderbolt eGPU. It is a totally active GPU shows up in system report, it is an option to change to use that GPU instead of the eGPU in games and programs. When setup headless the IGPU almost totally disappears from the system visually.


@scottkendall,

Thanks for your post and the information, the mention of iMac Mini in the note is referring to the old models that had both IGPU and Nvidia GPU's ... I'll up date the note to make that a bit clearer.

With regards to the new iMac Mini 8,X SMBIOS .. what you state makes sense as those systems are not available with a built in dGPU, however despite this Apple have included two headless PlatformID's for Coffee lake desktop systems, these ID's are only available in MacOS Mojave.
  • 0x3E920003
  • 0x3E910003
Code:
ID: 3E920003, STOLEN: 0 bytes, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x00001000
TOTAL STOLEN: 1 MB, TOTAL CURSOR: 0 bytes, MAX STOLEN: 1 MB, MAX OVERALL: 1 MB
GPU Name: Intel UHD Graphics 630
Model Name(s):
Camelia: Disabled
Mobile: 0, PipeCount: 0, PortCount: 0, FBMemoryCount: 0

ID: 3E910003, STOLEN: 0 bytes, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x00001000
TOTAL STOLEN: 1 MB, TOTAL CURSOR: 0 bytes, MAX STOLEN: 1 MB, MAX OVERALL: 1 MB
GPU Name: Intel UHD Graphics 630
Model Name(s):
Camelia: Disabled
Mobile: 0, PipeCount: 0, PortCount: 0, FBMemoryCount: 0


As you can see from the above PlatformID dumps both 0x3E920003 and 0x3E910003 are completely headless (0 port count), i don't have a Coffee Lake system to test them with myself but I've helped others with Coffee Lake Systems to configure their systems as headless with these ID's and they have confirmed that they work.

Right now it seems that UHD 630 IGPU does not work well solo on a Hackingtosh, so best to use alongside dGPU and configure as headless.

Cheers
Jay
 
Last edited:
@scottkendall,

Thanks for your post and the information, the mention of iMac Mini in the note is referring to the old models that had both IGPU and Nvidia GPU's ... I'll up date the note to make that a bit clearer.

Cool I figured it did not include the 2018 Mini, DPCI manager shows it as 0x3E9B0007 3 ports I am guessing each TB3 controller and the HDMI 2.0.
 
@jaymonkey Regarding the custom cards, my statement was mostly about controlling fan speed, as they also have the fans controlled by the on board BIOS, while stock cards have their cooling controlled by the OS, so the custom cards may be susceptible to partly or completely ignore the fan curve.

The SoftPowerPlayTable should still work for undervolting/overclocking the cards however.
 
Cool I figured it did not include the 2018 Mini, DPCI manager shows it as 0x3E9B0007 3 ports I am guessing each TB3 controller and the HDMI 2.0.


@scottkendall,

Yes, the PlatformID 0x3E9B0007 that your using is not headless :-

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
Model Name(s):
Camelia: 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


As previously stated, since you have Vega dGPU you should consider using 0x3E920003 or 0x3E910003, both of which are headless PlatformID's.

Code:
ID: 3E920003, STOLEN: 0 bytes, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x00001000
TOTAL STOLEN: 1 MB, TOTAL CURSOR: 0 bytes, MAX STOLEN: 1 MB, MAX OVERALL: 1 MB
GPU Name: Intel UHD Graphics 630
Model Name(s):
Camelia: Disabled
Mobile: 0, PipeCount: 0, PortCount: 0, FBMemoryCount: 0

ID: 3E910003, STOLEN: 0 bytes, FBMEM: 0 bytes, VRAM: 1536 MB, Flags: 0x00001000
TOTAL STOLEN: 1 MB, TOTAL CURSOR: 0 bytes, MAX STOLEN: 1 MB, MAX OVERALL: 1 MB
GPU Name: Intel UHD Graphics 630
Model Name(s):
Camelia: Disabled
Mobile: 0, PipeCount: 0, PortCount: 0, FBMemoryCount: 0


Cheers
Jay
 
Regarding the custom cards, my statement was mostly about controlling fan speed, as they also have the fans controlled by the on board BIOS, while stock cards have their cooling controlled by the OS, so the custom cards may be susceptible to partly or completely ignore the fan curve.

The SoftPowerPlayTable should still work for undervolting/overclocking the cards however.


@cnrd,

Thanks for your post, that is how I perceived the difference between Custom OEM and Stock (Reference Design) Vega's and was how I originally worded the note in the guide, but a few people did not agree with it, criticising it as too much of a sweeping statement so i changed the wording a bit.

I'll have a think and see if i can re-word it again, I think the main problem is identifying those cards that follow the Reference Design and those that don't so maybe the best thing to do is to explain the difference along the lines of your post.

Thanks for the feedback.

Cheers
Jay

Update: I changed the wording in the guide as follows :-

Note: Some 3rd party OEM Vega cards such as Asus & Gigabyte O/C Gaming cards have a custom on-board fan controller and VBIOS that deviates from the AMD reference/stock design, as such they are unable to use a SoftPowerPlayTable to control the fan as it's controlled directly by the VBIOS (Vega cards that follow the AMD Reference/Stock design allow the fan to be controlled by the OS/Driver), as such this fix or the use of the VGTab kext will not work to control the fan, however you can still use the method to modify other parameters such as the GPU core and memory clock rates and voltages.
 
Last edited:
@scottkendall,

Yes, the PlatformID 0x3E9B0007 that your using is not headless :-


As previously stated, since you have Vega dGPU you should consider using 0x3E920003 or 0x3E910003, both of which are headless PlatformID's.

I think you are miss understanding me, I am not trying to configure my 2018 Mac mini it is perfectly fine the way apple did it. However, in your first post you make a statement:

"headless PlatformID which is how genuine iMac's and Mini Mac's with dual GPU's are configured."

This I not the case with the 2018 Mac mini when configured with a eGPU the iGPU is not configured headless. As I said in my first post I am not sure that this even matters, I just thought that you might like to know that!
 
I think you are miss understanding me, I am not trying to configure my 2018 Mac mini it is perfectly fine the way apple did it. However, in your first post you make a statement:

"headless PlatformID which is how genuine iMac's and Mini Mac's with dual GPU's are configured."

This I not the case with the 2018 Mac mini when configured with a eGPU the iGPU is not configured headless. As I said in my first post I am not sure that this even matters, I just thought that you might like to know that!


@scottkendall,

Ahhh Ok .. yes I did miss understand, I thought you where referring to hackingtosh system using a Mini Mac 8,X SMBIOS with an internal dGPU as per the specs in your signature.

I'll update the note in the guide to reflect that i'm referring to internal dGPU's on the internal PCIe bus.

Cheers
Jay

Update: I changed the wording in the guide as follows: -

Note: If you are not using WhatEverGreen then its unlikely you will suffer from this conflict and can just use the VGTab Kext as is, however if you have a desktop class CPU with IGPU and an internal PCIe dGPU then you should consider using WhatEverGreen to configure the IGPU with a headless PlatformID which is how genuine iMac's and Mini Mac's with dual GPU's are configured (does not apply to eGPU's). If you are un-familiar with headless PlatformID's then see the Lilu and Plug-in's guide for more information which has a dedicated section on the subject.
 
Last edited:
@scottkendall,

Ahhh Ok .. yes I did miss understand, I thought you where referring to hackingtosh system using a Mini Mac 8,X SMBIOS with an internal dGPU as per the specs in your signature.

I'll update the note in the guide to reflect that i'm referring to internal dGPU's on the internal PCIe bus.

Cheers
Jay

Yes sorry I should have been clear I do have a hack also, and it is close to the one in the sig. However the dGPU should be a Vega56 since I swiped the 64 for the eGPU for the Mac mini. I saw this post and so I was reading threw it to make the change on the hack, but I noticed that you said the genuine Mac was configured headless on Mac mini. I assumed you meant the old Mac mini but figured I'd let you know the 8,1 Mac mini is not configured headless.
 
@gcc1,

The usual cause of that issue is that you are using one or more of the following Clover ACPI Renames/Fixes :-
  • Change/Rename GFX0 to IGPU
  • Change/Rename PEG0 to GFX0
  • Change/Rename HECI to IMEI
You should remove or disable them as detailed in the prerequisites section of the Lilu + Plug-in's guide. Clover uses a generic search/replace function over all the ACPI tables which can cause issues like you'r seeing. Where as WhatEverGreen implements all of the above using device specific ACPI renames so best to let WEG handle it all.

Try it and see if GFXUTIL can then find GFX0, thanks for the positive feedback, glad you got your fans tamed.

Cheers
Jay

Hi again Jay

gfxutil output error message persisted with all the above CloverACPI fixes/renames removed. Using ‘display’ instead of ‘GFX0’ fixed the problem. ATB.
 
Hi again Jay. gfxutil output error message persisted with all the above CloverACPI fixes/renames removed. Using ‘display’ instead of ‘GFX0’ fixed the problem. ATB.


@gcc1,

Fair enough ... i'll add an extra note to guide to try ‘display’ if GFX0 fails ....

Cheers
Jay
 
Last edited:
Back
Top