Jump to content

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


22 posts in this topic

Recommended Posts

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 :)

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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 ?

Link to comment
Share on other sites

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>

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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>

Link to comment
Share on other sites

<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?

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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:

Link to comment
Share on other sites

 Share

×
×
  • Create New...