Jump to content

nVidia GTX 780 AGPM patch in Yosemite 10.10


edeseven
 Share

19 posts in this topic

Recommended Posts

Just to share some findings, I have been trying to sort out my GTX 780 power management.
 
I've got the card running OOB using native Apple drivers, and it works well with nVidia web drivers too. I'm currently using nvidia web driver 343.01.01f01. My card is GK110, with device id 1004.
 
I have seen from other forum post saying that GPU power management depends on SMBios.plist used, and whether your DSDT table says IGPU or GFX0. For example, I have used MacBookPro11,2 SMBios.plist to get extra p-states for my CPU, but then AGPM Controller will say unknown device in the log as MacbookPro is using IGPU for matching instead of GFX0.
 
So I changed my SMBios.plist back to iMac14,2 and I got AGPM kext loaded but no power management was matched properly to my GFX0. I changed the Info.plist in AppleGraphicsPowerManagement.kext to match my device id. I have chosen Vendor10deDevice119d which I think is GTX 780M and changed it to my device id - Vendor10deDevice1004.
 
On reboot I can see that AGPM controller is loaded properly - kernel[0]: [AGPM Controller] build GPUDict by Vendor10deDevice1004
 
I then run some benchmark test which showed massive difference, without the patch the Cinebench R15 OpenGL test only managed to get around 60fps, and with the patch it runs at 105 fps.

 

post-149255-0-47382400-1413933925_thumb.png
 
HW monitor also showed GPU core increased from 324Mhz to 1 GHz, and GPU memory from 648 Mhz to 6 GHz.
 
I did try to patch the Info.plist using clover but I didn't work, I'm not sure whether it is because of the OSBundleRequired issue or my patch is not done properly. If anyone can advise it would be very helpful.

 

<dict>

<key>Comment</key>

<string>Nvidia ID AGPM</string>

<key>Find</key>

<string>Vendor10deDevice119e</string>

<key>InfoPlistPatch</key>

<true/>

<key>Name</key>

<string>AppleGraphicsPowerManagement</string>

<key>Replace</key>

<string>Vendor10deDevice1004</string>

</dict>

 
Happy days!!  :thumbsup_anim:
 
  • Like 1
Link to comment
Share on other sites

Have you tried with legacyagpm.kext?

 

Mine Gtx780 is doing only 72 fps in Cinebench. I have noticed that clocks go to 700 mhz when Cinebench is running while during other benchmark clocks show full speed. Strange :/

Link to comment
Share on other sites

 

Just to share some findings, I have been trying to sort out my GTX 780 power management.

...

 

 

Thank you very much for this cool tip. I fixed my GTX 750  :thumbsup_anim:

Link to comment
Share on other sites

My GTX 780 (EVGA SuperClocked rev. A1 chip) have at least two P-States : 324 to 1123 reported in HWMonitor ; despite AGPM unknown bla in console. AGPM kext is loaded though.

 

I need to do a Cinebench ; will report ASAP.

 

 

(iMac14,1 + Web Drivers + 10.9.5)

 

 

 

PS :

 

119d is 775M

 

119e is 780M

 

https://pci-ids.ucw.cz/read/PC/10de/119e

 

 

 

 

EDIT :

 

OK, so i made a run of Cinebench : 90 FPS ; the card have a lot of P-States but does not fully boost (Kepler boost). In Luxmark the card hit the kepler boost for all the duration of the run.

 

 

 

 

 

UPDATED :

 

 

clean method

 

 

 

 

 

Here is what i have done for my GTX 780 ; update proof method :

 

 

Rig set as iMac14,2 with matching (SMBios) Mac-xxxxxxxxx number in AGPM ; in the related section of AGPM, i picked 10de 119e (GTX 780M) to inject via Clover.

 

 

Then in config plist :

<key>FixDisplay_0100</key>
<true/>
<key>NewWay_80000000</key>
<true/>
<key>NVidia</key>
<string>0x119e10de</string>

(FakeID)

 

 

 

 

Leads to :

03/11/2014 17:44:34,000 kernel[0]: [AGPM Controller] build GPUDict by Vendor10deDevice119e

post-497804-0-13243800-1415034450_thumb.png

  • Like 3
Link to comment
Share on other sites

Thanks @The Real Deal

 

I did your FakeID method in clover - can confirm that this works!! I did not use the FixDisplay and NewWay fix in clover, do we really need to use these as well?

 

However will this faked injection method change anything else? I mean in terms on the nvidia drivers etc?

 

And do you know how can we check the p-states for our graphic cards?

Link to comment
Share on other sites

np,

 

 

 

 

 

  • FixDisplay_0100
    This is a very functional patch for video devices. Recommended even if you don't want to inject properties to the device. When this bit is set other settings like FakeID will be applied as well. Old way: this patch will affect all video cards, included embedded Intel GFX.
    New way: Intel will be patched separately.

 

 

 

 

 

 

For the power management, beyond HWMonitor, you can check in ioreg ;)

Link to comment
Share on other sites

  • 1 month later...

My GTX 780 (EVGA SuperClocked rev. A1 chip) have at least two P-States : 324 to 1123 reported in HWMonitor ; despite AGPM unknown bla in console. AGPM kext is loaded though.

 

I need to do a Cinebench ; will report ASAP.

 

 

(iMac14,1 + Web Drivers + 10.9.5)

 

 

 

PS :

 

119d is 775M

 

119e is 780M

 

https://pci-ids.ucw.cz/read/PC/10de/119e

 

 

 

 

EDIT :

 

OK, so i made a run of Cinebench : 90 FPS ; the card have a lot of P-States but does not fully boost (Kepler boost). In Luxmark the card hit the kepler boost for all the duration of the run.

 

 

 

 

 

UPDATED :

 

 

clean method

 

 

 

 

 

Here is what i have done for my GTX 780 ; update proof method :

 

 

Rig set as iMac14,2 with matching (SMBios) Mac-xxxxxxxxx number in AGPM ; in the related section of AGPM, i picked 10de 119e (GTX 780M) to inject via Clover.

 

 

Then in config plist :

<key>FixDisplay_0100</key>
<true/>
<key>NewWay_80000000</key>
<true/>
<key>NVidia</key>
<string>0x119e10de</string>

(FakeID)

 

 

 

 

Leads to :

03/11/2014 17:44:34,000 kernel[0]: [AGPM Controller] build GPUDict by Vendor10deDevice119e

 

Hi Real Deal, I have the same problem but I'm new to clover: running 10.10.1 with clover on a Z77x-UD5H with 2 x 670 GTX's and i'm getting kernel panic after a deep sleep.

 

can you explain how to do the above in simpler terms please

 

Thanks in advance 

Link to comment
Share on other sites

Looks good!!

 

I don't think my kepler boost is working properly too, but I'm not sure what's the best way to figure this out

 

Are you still using fakeid injection to get AGPM working?

 

 

 

Yep still fake ID

NVIDIA GeForce GTX 780 Ti :

  Jeu de composants :	NVIDIA GeForce GTX 780 Ti
  Type :	Processeur graphique (GPU)
  Bus :	PCIe
  Logement :	PCI Slot 0
  Longueur de la voie PCIe :	x8
  VRAM (totale) :	3071 Mo
  Fournisseur :	NVIDIA (0x10de)
  Identifiant du périphérique :	0x119e
  Identifiant de révision :	0x00a1
  Révision de la ROM :	VBIOS 80.80.34.00.80
  Moniteurs :

Hi Real Deal, I have the same problem but I'm new to clover: running 10.10.1 with clover on a Z77x-UD5H with 2 x 670 GTX's and i'm getting kernel panic after a deep sleep.

 

can you explain how to do the above in simpler terms please

 

Thanks in advance 

 

 

Which problem? 6xx is not same architecture as Kepler :) 

Link to comment
Share on other sites

  • 4 weeks later...

Any idea how I would apply this fix to a GTX 760? From what I can tell, there is nothing in the vanilla AGPM.kext that applies to the GTX 760.

 

I ask because I want to get rid of this message in my kernel.log:

AGPM controller: unknown platform

I think this message is related to an issue I'm having with wake from sleep, based on this thread.

 

I had a look at this PCI devices database, but none of the device IDs associated with the GTX 760 show up in AGPM.kext.

 

There is also the issue that my system identifier isn't in AGPM.kext at all--I'm using Macmini6,2, and would rather not give it up. But I guess it wouldn't be hard to add that in if I knew what else to put in for the video card.

 

Any help is gratefully accepted.

Link to comment
Share on other sites

Any idea how I would apply this fix to a GTX 760? From what I can tell, there is nothing in the vanilla AGPM.kext that applies to the GTX 760.

 

I ask because I want to get rid of this message in my kernel.log:

AGPM controller: unknown platform

I think this message is related to an issue I'm having with wake from sleep, based on this thread.

 

I had a look at this PCI devices database, but none of the device IDs associated with the GTX 760 show up in AGPM.kext.

 

There is also the issue that my system identifier isn't in AGPM.kext at all--I'm using Macmini6,2, and would rather not give it up. But I guess it wouldn't be hard to add that in if I knew what else to put in for the video card.

 

Any help is gratefully accepted.

Just try the values they are using. You just need to add your GPU's device ID instead. Are you sure your system identifier isn't in there? Some of them are identified by the board ID instead. You should be able to find Mac-F65AE981FFA204ED  in there.

Link to comment
Share on other sites

Any idea how I would apply this fix to a GTX 760? From what I can tell, there is nothing in the vanilla AGPM.kext that applies to the GTX 760.

 

I ask because I want to get rid of this message in my kernel.log:

AGPM controller: unknown platform

I think this message is related to an issue I'm having with wake from sleep, based on this thread.

 

I had a look at this PCI devices database, but none of the device IDs associated with the GTX 760 show up in AGPM.kext.

 

There is also the issue that my system identifier isn't in AGPM.kext at all--I'm using Macmini6,2, and would rather not give it up. But I guess it wouldn't be hard to add that in if I knew what else to put in for the video card.

 

Any help is gratefully accepted.

 

Try attached LegacyAGPM.kext. Inside there is plist file where you can change an id of your GTX 760 and id of your mac model. Than put it in S/L/E.

.......
<key>Machines</key>
<dict>
<key>iMac12,2</key> <---------- your mac model id here
<dict>
<key>Vendor10deDevice1004</key> <---------- your GTX 760 id here
<dict>.......

LegacyAGPM.kext.zip

Link to comment
Share on other sites

I created a new section in the AGPM.kext for Macmini6,2, and used the settings from Vendor10deDevice11a2. I changed the device ID to 1187 (going from the PCI devices database I linked in my last post) and was able to get native GPU power management running. So that's nice. I have that and I am using SSDTs generated by Piker Alpha's script and it resolved a nasty issue I would have in Safari that sent webpages into infinite reload cycles ("A problem occurred with this webpage so it was reloaded.)

 

Unfortunately that didn't fix my wake from sleep issue, but that's an issue for another thread. Right now I am on darkwake=10 and I have NeverHibernate enabled in Clover; we'll see if that fixes it for the long term.

 

Thanks to everyone who helped.

Link to comment
Share on other sites

  • 4 weeks later...

I've already installed the Nvidia driver and Cuda can I fix it to make more fps (now I have only 54 fps (Zotac 780 GTX))? What do I need to do? Thank you. Would you explain step by step.

Link to comment
Share on other sites

  • 4 months later...

Hi all,

 

I am currently running on an "old" 6 core i7 980 at stock speed (3.33 -> 3.46 turbo)

I usually use the "MacPro5,1" as scheme in my smbios, but I am getting quite a poor score in cinebench compared to yours...

Using this smbios, I see the 'AGPM' loaded (of course with 'Unknown platform' when unpatched).

 

I have tried to apply this method, but it seems that on my system, as soon as I inject an iMac14,2 in the smbios, the AGPM does not get loaded _at all_

Link to comment
Share on other sites

  • 1 year later...

Hi all,

 

I am currently running on an "old" 6 core i7 980 at stock speed (3.33 -> 3.46 turbo)

I usually use the "MacPro5,1" as scheme in my smbios, but I am getting quite a poor score in cinebench compared to yours...

Using this smbios, I see the 'AGPM' loaded (of course with 'Unknown platform' when unpatched).

 

I have tried to apply this method, but it seems that on my system, as soon as I inject an iMac14,2 in the smbios, the AGPM does not get loaded _at all_

Im in the same situation. Is there a solution for us from X58? (p6td Deluxe with Ermac DSDT)

Im using Macpro 5,1. 70fps in Cinebench

With Imac 14,2/12,2 i've got 40fps.

I've changed Apple AGPM to match Vendor10deDevice100a (GTX 780ti)

Also changed it in Smbios.

Console recognized the AGPM. (https://cl.ly/1Y111e08002X)

 

My older 7970 was faster!! PLease help.

Link to comment
Share on other sites

  • 3 weeks later...
 Share

×
×
  • Create New...