Jump to content

AGPM Injector kext generator app!!


Pavo
146 posts in this topic

Recommended Posts

On 7/5/2019 at 2:26 AM, URBANsUNITED said:

So, means mine is ok too?

I am a bit lost, sorry...

Looking for possiblities why my system is under Catalina not waking up properly, but it does on Mojave.

 

Thanks URBANsUNITED

 

1084693269_Bildschirmfoto2019-07-05um07_25_43.png.1eefc0aed5266fc9978f0b7a2177f053.png

AGPM has nothing to do with Wake/Sleep

Link to comment
Share on other sites

34 minutes ago, innerd said:

I know that the injector needs a proper cpu with x86platformplugin loaded, but is it possible to inject that proprieties with a workaround? I really need to fix my Vega 64 power management

You might wanna look into https://github.com/acidanthera/WhateverGreen/blob/master/Manual/FAQ.Radeon.en.md, there are multiple ways to inject properties for the GPU. It seems you are wanting to change PowerPlay or "Wattsman" type settings, which is not Power Management is about.

How could I tune my GPU configuration?
ATI/AMD GPUs could be configured by aty_config, aty_properties parameters that one could find in AMDxxxxController.kext Info.plist files. Different framebuffers have overrides for these preferences for lower energy consumption, higher performance, or other reasons. Unfortunately in such combinations they often are unsuitable for different GPUs.
WhateverGreen allows to specify your own preferred parameters via GPU controller properties to achieve best GPU configuration. Use CFG, prefix for aty_config properties, PP, prefix for aty_properties, and CAIL, prefix for cail_properties from AMDRadeonXxxxx.kext Info.plist files. For example, to override CFG_FB_LIMIT value in aty_config you should use CFG,CFG_FB_LIMIT property.
Further details are available in SSDT sample to get the general idea.

 

Edited by Pavo
Link to comment
Share on other sites

Already changed those type of settings, with vgtab or PyVega. As I said in another topic I have a strange behavior with my vega64, the p-states probably don't work as they should, under load (like valley benchmark) i can see the core frequency around 500-1000 with fluctuant fps (Geekbench is even worse, the core can't raise over 100). It seems that the gpu doesn't receive the right instruction (just a guess) in those type of scenarios while for example in LuxMark the gpu can maximize correctly its core/memory frequency with more than decent results. Can it be a lack of power management? Any advises will be really appreciated

Edited by innerd
Link to comment
Share on other sites

  • 5 weeks later...

Just a little clarification since i've lost track of what happen with AGPM, specially on AMD, i always had nvidia card since 10.5 :)

 

On older sandy bridge which load ACPI_SMC_PlateformPlugin, there is no way to load x86PlateformPlugin so there is no way to activate AGPM (RX 580) ?

Link to comment
Share on other sites

  • 2 months later...
41 minutes ago, ianxpluto said:

Hi Pavo. Thank you for your app for us. I have a question, what's different between AGPMInjector and Whatevergreen boot arg agdpmod=ignore ?

AGPM = AppleGraphicPowerManagement. AGDP = AppleGraphicsDevicePolicy

  • Like 1
Link to comment
Share on other sites

Found a HUGE bug in the the app on version 2.7.7, if you generated a injector kext using this version please update to the latest (2.7.8) and re-generate your injector kext. 

  • Like 2
  • Thanks 1
Link to comment
Share on other sites

  • 3 weeks later...

@Pavo I downloaded the new version and try to create a new one but no Enable IGPU option? Did you remove this? 

 

I think this is a bug; No IGPU after; Also it shows vendor and device ID instead of GFX0

 

Before;

 

689840033_ScreenShot2019-11-18at23_06_43.thumb.png.63a3a6aa319d638eadd6b0c2461b456f.png

 

After

1880529793_ScreenShot2019-11-18at23_16_47.thumb.png.101298488922304ed71722003b5dd420.png

 

Edited by telepati
Link to comment
Share on other sites

2 hours ago, telepati said:

@Pavo I downloaded the new version and try to create a new one but no Enable IGPU option? Did you remove this? 

 

I think this is a bug; No IGPU after; Also it shows vendor and device ID instead of GFX0

 

Before;

 

689840033_ScreenShot2019-11-18at23_06_43.thumb.png.63a3a6aa319d638eadd6b0c2461b456f.png

 

After

1880529793_ScreenShot2019-11-18at23_16_47.thumb.png.101298488922304ed71722003b5dd420.png

 

Yes I removed IGPU option and working on adding them back again. Yes only the dGPU Vendor and Device IDs will be used now for dGPUs.

  • Thanks 1
Link to comment
Share on other sites

  • 1 month later...

Thanks for this Pavo!

Is it possible to add the GTX Titan Black?

Vendor: 10de

Device id: 100c

 

I added a pull request in github.

 

I generated the kext by using the 'GTX Titan' and then I manually edited the device id into the kext, everthing seems ok.

I'm running catalina inside kvm/qemu.

agpm.thumb.png.b8d393b73e3e83af4b5acf9071316b98.png

 

 

Edited by ghost8282
Link to comment
Share on other sites

2 hours ago, ghost8282 said:

Thanks for this Pavo!

Is it possible to add the GTX Titan Black?

Vendor: 10de

Device id: 100c

 

I added a pull request in github.

 

I generated the kext by using the 'GTX Titan' and then I manually edited the device id into the kext, everthing seems ok.

I'm running catalina inside kvm/qemu.

agpm.thumb.png.b8d393b73e3e83af4b5acf9071316b98.png

 

 

I'm not 100% shure but according to toleda, heuristic id for Nvidia gpu should be 4, not ffffffff

Screen Shot 2018-03-06 at 6.23.03 PM.png

  • Like 1
Link to comment
Share on other sites

3 hours ago, Paksman said:

I'm not 100% shure but according to toleda, heuristic id for Nvidia gpu should be 4, not ffffffff

Not sure 100% me too :)

The generated kext for 'Titan' with the Pavo app 2.8.8 has -1 (0xffffffff).

However I found an older kext and the toleda's post with a value of 4 for nvidia.

I switched yesterday from 4 to -1 and I didn't notice any change in the behaviour.

 

Moreover, I saw around different templates for the AGPM injector kext, with additional entries, such as Threshold_High and Threshold_Low..Also for the structure: Pavo's app generates the VendorXXXXDevice1234 tree, other templates, such as that of toleda have also the GFX0 tree...but maybe things are changed, so there's some confusion in my mind, maybe someone can explain it a bit.

 

Thanks

Edited by ghost8282
Link to comment
Share on other sites

I'm having a hard time getting this to work.  My setup is:

  • Catalina 10.15.2
  • SMBIOS set as iMac19,1
  • MSI Vega56 dGPU
  • UHD630 iGPU (i7-9700k CPU)

The generated kext has the following Info.plist:

1744377779_ScreenShot2020-01-06at10_42_36PM.thumb.png.854d5057c815664fafc80e0f161feae1.png

 

But in IORegistry Explorer, I see this:

1496323410_ScreenShot2020-01-06at10_41_46PM.thumb.png.6feb881fe1525755019f6b6d198bb557.png

 

It seems like the injector is just not doing what it is supposed to.

 

I did notice the following in my Console log:


 

Quote

2020-01-06 22:13:28.794386-0600  localhost kernel[0]: (AppleGraphicsPowerManagement) <AppleGraphicsPowerManagement`AGPMLogString(AGPMLogLevel, AGPMLogModule, char const*, unsigned int, char const*, char const*, ...)> [AGPM][WARN ][CONTROLLER  ][createAGPMClass         ] GPU = GFX0 unknownPlatform (no matching vendor_id+device_id or GPU name); don't create AGPM class

 

I don't know if it could be related or not.

 

Thanks in advanced!

Link to comment
Share on other sites

26 minutes ago, cclark170 said:

I'm having a hard time getting this to work.  My setup is:

  • Catalina 10.15.2
  • SMBIOS set as iMac19,1
  • MSI Vega56 dGPU
  • UHD630 iGPU (i7-9700k CPU)

The generated kext has the following Info.plist:

1744377779_ScreenShot2020-01-06at10_42_36PM.thumb.png.854d5057c815664fafc80e0f161feae1.png

 

But in IORegistry Explorer, I see this:

1496323410_ScreenShot2020-01-06at10_41_46PM.thumb.png.6feb881fe1525755019f6b6d198bb557.png

 

It seems like the injector is just not doing what it is supposed to.

 

I did notice the following in my Console log:


 

 

I don't know if it could be related or not.

 

Thanks in advanced!

The log error has nothing to do with my kext injector, because it doesn't match against GPU device name, it matches against the Vendor and Device-ID. I dunno why its not working for you unless whatever boot loader you are using isn't injecting kext correctly. It is working fine for multiple other users right now.

Link to comment
Share on other sites

×
×
  • Create New...