Jump to content

(SOLVED) No more GPU power management after a wake from sleep (GTX 580)


  • Please log in to reply
21 replies to this topic

#1
The Real Deal

The Real Deal

    InsanelyMac Legend

  • Donators
  • 869 posts
  • Gender:Not Telling
Hello,
I've got a GTX 580 working quite well on my setup, with only Chameleon GE=Yes. Setup is defined as iMac 12,2

AGPM (vanilla) is loaded, QE/CI, resolutions, and more important : 3 GStates (50 MHz, 405 MHz and 772 MHz) ; so the card goes in idle and full throttle perfectly.

But when i put the computer in sleep, followed by a wake up, the card stay in full throttle, it lost the power management.

Any idea or lead would be appreciated :)

#2
eep357

eep357

    Triple Platinum

  • Supervisors
  • 2,527 posts
  • Gender:Male
  • Location:Dark Side of The Wall
  • Interests:things and stuff
Which mobo? Does mobo have a repost vbios on wake/resume option in bios that u can enable/disable?

#3
The Real Deal

The Real Deal

    InsanelyMac Legend

  • Donators
  • 869 posts
  • Gender:Not Telling
Maximus V Formula. AFAIK, i haven't seen this.

#4
eep357

eep357

    Triple Platinum

  • Supervisors
  • 2,527 posts
  • Gender:Male
  • Location:Dark Side of The Wall
  • Interests:things and stuff
that bios doesn't have it, but you have a "Graphics Configuration" and a "NB PCIe Configuration" section, you can try changing some of the settings there, such as toggling them between "Auto" and manually choosing your configuration, don't know if it will work, but worth a try.

#5
The Real Deal

The Real Deal

    InsanelyMac Legend

  • Donators
  • 869 posts
  • Gender:Not Telling
I take all advices :)

There is a "GPU Dimm" section but there is literally nothing to switch from there, and the other related to the NB, is about the PCI-E and iGPU ; choose between them and the rest for the iGPU (VRAM, etc,.)


EDIT : just found this in the system.log


Aug 9 21:25:37 iMac-de-Nicolas.local WebProcess[193]: AVF error: AVAHDGPURendererVP2VP3BoostVP3: AGPMSetBoost code = 0 returned 0xe00002c2 (ig)
Aug 9 21:33:55 iMac-de-Nicolas kernel[0]: [AGPM Controller] unknownPlatform


Could it be related ?

#6
Rampage Dev

Rampage Dev

    InsanelyMac Deity

  • Local Moderators
  • 1,958 posts
  • Gender:Male
What sleep mode are you using? I have not had any issues with my GTX 580 using S1 and S3.

#7
The Real Deal

The Real Deal

    InsanelyMac Legend

  • Donators
  • 869 posts
  • Gender:Not Telling
S3 and internal PLL overvoltage disabled :)

Your AGPM.kext is vanilla ? Definition of your rig, Mac Pro maybe ?

#8
Rampage Dev

Rampage Dev

    InsanelyMac Deity

  • Local Moderators
  • 1,958 posts
  • Gender:Male
I use Mac Pro 5,1

This is my guide on how to patch AGPM.kext (I go into a lot more detail then most guides):

http://rampagedev.wo...raphic-cards-2/

#9
The Real Deal

The Real Deal

    InsanelyMac Legend

  • Donators
  • 869 posts
  • Gender:Not Telling
I'd like to stick to iMac because of the 2600K.

In the AGPM plist, iMac 12,1 have some threshold but 12,2 no (different code for the PM ?)... I don't know maybe if i inject the correct device id in the right place ?




<key>iMac12,1</key>
<dict>
<key>GFX0</key>
<dict>
<key>BoostPState</key>
<array>
<integer>0</integer>
<integer>1</integer>
<integer>2</integer>
<integer>3</integer>
</array>
<key>BoostTime</key>
<array>
<integer>3</integer>
<integer>3</integer>
<integer>3</integer>
<integer>3</integer>
</array>
<key>Heuristic</key>
<dict>
<key>ID</key>
<integer>0</integer>
<key>IdleInterval</key>
<integer>100</integer>
<key>TargetCount</key>
<integer>5</integer>
<key>Threshold_High</key>
<array>
<integer>80</integer>
<integer>80</integer>
<integer>80</integer>
<integer>100</integer>
</array>
<key>Threshold_Low</key>
<array>
<integer>0</integer>
<integer>90</integer>
<integer>90</integer>
<integer>90</integer>
</array>
</dict>
<key>control-id</key>
<integer>17</integer>
</dict>
<key>LogControl</key>
<integer>0</integer>
</dict>
<key>iMac12,2</key>
<dict>
<key>Vendor1002Device6720</key>
<dict>
<key>QSC</key>
<dict>
<key>Enabled</key>
<integer>1</integer>
<key>Mode</key>
<integer>1</integer>
<key>hwPState</key>
<array>
<integer>0</integer>
<integer>0</integer>
<integer>0</integer>
<integer>1</integer>
<integer>1</integer>
<integer>1</integer>
<integer>1</integer>
<integer>1</integer>
<integer>2</integer>
</array>
<key>qscOnTime</key>
<array>
<integer>0</integer>
<integer>960</integer>
<integer>2400</integer>
<integer>0</integer>
<integer>2560</integer>
<integer>5280</integer>
<integer>8000</integer>
<integer>10560</integer>
<integer>0</integer>
</array>
</dict>
<key>control-id</key>
<integer>17</integer>
<key>max-power-state</key>
<integer>8</integer>
</dict>
<key>Vendor1002Device6722</key>
<dict>
<key>QSC</key>
<dict>
<key>Enabled</key>
<integer>1</integer>
<key>Mode</key>
<integer>1</integer>
<key>hwPState</key>
<array>
<integer>0</integer>
<integer>0</integer>
<integer>0</integer>
<integer>1</integer>
<integer>1</integer>
<integer>1</integer>
<integer>1</integer>
<integer>1</integer>
<integer>2</integer>
</array>
<key>qscOnTime</key>
<array>
<integer>0</integer>
<integer>960</integer>
<integer>2400</integer>
<integer>0</integer>
<integer>2560</integer>
<integer>5280</integer>
<integer>8000</integer>
<integer>10560</integer>
<integer>0</integer>
</array>
</dict>
<key>control-id</key>
<integer>17</integer>
<key>max-power-state</key>
<integer>8</integer>
</dict>
<key>Vendor1002Device6740</key>
<dict>
<key>control-id</key>
<integer>17</integer>
<key>max-power-state</key>
<integer>2</integer>
</dict>
</dict>


#10
ugokind

ugokind

    InsanelyMac Deity

  • Donators
  • 1,712 posts
  • Gender:Male
  • Location:10100
  • Interests:Apicoltura
    Mac
    Linux
    Homebrew
    Australia
    Spremermilcervello
I've a good agpm patched for my 460mgtx and i see in the log a full qualified name (and not unknown device)
But after a wake i have the same problem.
Usb devices are up..but everything is strange.and if i change video injection in boot or dsdt the video after a wake is frozen in small coloured blurred boxes

#11
The Real Deal

The Real Deal

    InsanelyMac Legend

  • Donators
  • 869 posts
  • Gender:Not Telling
Interesting, so even with no AGPM console errors, you've got the card in full throttle after a wake ?

I can live with the log errors because there is a graphic power management. The card works great with only GE=Yes :


The 3 states are :

- idle : 50 MHz @ 0.963v
- intermediate : 405 MHz @ 0.963v
- full : 772 MHz @ 1.038v

no freeze, lag or artefact at all, just PM lost after wake from sleep. Maybe as eep357 has pointed, it is related to the vBIOS resume/wake.

#12
Rampage Dev

Rampage Dev

    InsanelyMac Deity

  • Local Moderators
  • 1,958 posts
  • Gender:Male
You don't have the proper edit. The GTX 570 and 580 only have 3 power states not 4 as yours shows:


<key>Threshold_High</key>
<array>
<integer>80</integer>
<integer>80</integer>
<integer>80</integer>
<integer>100</integer>
</array>
<key>Threshold_Low</key>
<array>
<integer>0</integer>
<integer>90</integer>
<integer>90</integer>
<integer>90</integer>
</array>

#13
The Real Deal

The Real Deal

    InsanelyMac Legend

  • Donators
  • 869 posts
  • Gender:Not Telling
Hi, thanks,

50 / 405 / 772 : 3, no ? :unsure:

As long as it works i'm fine with it. Just the wake after sleep ; or it could be related ?



Posted Image

#14
Rampage Dev

Rampage Dev

    InsanelyMac Deity

  • Local Moderators
  • 1,958 posts
  • Gender:Male
It could be related. Use the values from my guide since they are for a GTX 570 and 580.

#15
The Real Deal

The Real Deal

    InsanelyMac Legend

  • Donators
  • 869 posts
  • Gender:Not Telling
There is not threshold entry in the iMac 12,2 part ; could it be added along the correct device entry too (10de 1080) ? I have copied/pasted the plist before :)

#16
Rampage Dev

Rampage Dev

    InsanelyMac Deity

  • Local Moderators
  • 1,958 posts
  • Gender:Male
<key>iMac12,1</key>
<dict>
<key>GFX0</key>
<dict>
<key>BoostPState</key>
<array>
<integer>0</integer>
<integer>1</integer>
<integer>2</integer>
<integer>3</integer>
</array>
<key>BoostTime</key>
<array>
<integer>3</integer>
<integer>3</integer>
<integer>3</integer>
<integer>3</integer>
</array>
<key>Heuristic</key>
<dict>
<key>ID</key>
<integer>0</integer>
<key>IdleInterval</key>
<integer>100</integer>
<key>TargetCount</key>
<integer>5</integer>
<key>Threshold_High</key>
<array>
<integer>80</integer>
<integer>80</integer>
<integer>80</integer>
<integer>100</integer>
</array>
<key>Threshold_Low</key>
<array>
<integer>0</integer>
<integer>90</integer>
<integer>90</integer>
<integer>90</integer>
</array>

</dict>

What app are you using to monitor?

#17
The Real Deal

The Real Deal

    InsanelyMac Legend

  • Donators
  • 869 posts
  • Gender:Not Telling
HWMonitor :)

#18
The Real Deal

The Real Deal

    InsanelyMac Legend

  • Donators
  • 869 posts
  • Gender:Not Telling
I made a test with the iMac12,1 section (renamed as 12,2), and change the genuine 12,2 with an other name.

No effects ; the PM management with the threshold is the same as the vanilla plist (50/405/772). And still stucked in full throttle after a wake from sleep.

#19
Rampage Dev

Rampage Dev

    InsanelyMac Deity

  • Local Moderators
  • 1,958 posts
  • Gender:Male
Try changing to Mac Pro 5,1 or would you like to inject your GPU into your DSDT? If do post your DSDT and IOreg.

#20
The Real Deal

The Real Deal

    InsanelyMac Legend

  • Donators
  • 869 posts
  • Gender:Not Telling
Ok, i think i have definitely solved this issue by modifying the AGPM plist.

Here is my entry for the iMac 12,2 section (basically added something close to the MacPro inside)




<key>iMac12,2</key>
<dict>
<key>Vendor10deDevice1080</key>
<dict>
<key>Heuristic</key>
<dict>
<key>ID</key>
<integer>0</integer>
<key>IdleInterval</key>
<integer>250</integer>
<key>SensorOption</key>
<integer>1</integer>
<key>SensorSampleRate</key>
<integer>4</integer>
<key>TargetCount</key>
<integer>5</integer>
<key>Threshold_High</key>
<array>
<integer>88</integer>
<integer>88</integer>
<integer>88</integer>
<integer>100</integer>
</array>
<key>Threshold_Low</key>
<array>
<integer>0</integer>
<integer>95</integer>
<integer>95</integer>
<integer>95</integer>
</array>
</dict>
<key>LogControl</key>
<integer>0</integer>
<key>control-id</key>
<integer>18</integer>
</dict>
</dict>


New log in the console :


23:25:11 kernel: [AGPM Controller] build GPUDict by Vendor10deDevice1080




This way i keep an iMac 12,2 definition (best for 2600K), and i have a fully functional PM for the GTX 580, even this time after a wake from sleep. The card finally runs as it should be. :sorcerer:





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy