maRRRco Posted April 1, 2015 Share Posted April 1, 2015 Ok, so, here the issue: I use MacBook Pro 5.1 smbios in my laptop with Yosemite and chameleon. My graphic card is a geforce g105m (9300gt). If I delete agpm.kext I can get a basic power management with all states working even if the transition is slow and the graphic is laggy. With agpm.kext I get the same behavior. So I tried to edit it. There are two voices for MacBook Pro 5,1: IGPU and GFX0, change them doesn't do nothing, but if I add my Vendor instead of IGPU something happens. I can change threshold values according to my preferences and the gpu follow them with smooth graphics response also in the max conservative state, but this work ... only if I don't use ac plug, so only with battery. When I connect the laptop to ac adapter the gpu only uses two states at high frequency, and the behaviour doesn't follow more agpm.kext. So, why this kext work only with battery and not with ac adapter ? <key>MacBookPro5,1</key> <dict> <key>Vendor10deDevice06ec</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>250</integer> <key>SensorOption</key> <integer>1</integer> <key>SensorSampleRate</key> <integer>4</integer> <key>TargetCount</key> <integer>1</integer> <key>Threshold_High</key> <array> <integer>40</integer> <integer>70</integer> <integer>80</integer> <integer>100</integer> </array> <key>Threshold_Low</key> <array> <integer>0</integer> <integer>50</integer> <integer>60</integer> <integer>90</integer> </array> </dict> <key>control-id</key> <integer>17</integer> </dict> <key>IGPU</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>1</integer> <key>IdleInterval</key> <integer>100</integer> <key>Threshold_High</key> <array> <integer>50</integer> <integer>75</integer> <integer>96</integer> <integer>100</integer> </array> <key>Threshold_High_v</key> <array> <integer>70</integer> <integer>85</integer> <integer>94</integer> <integer>100</integer> </array> <key>Threshold_Low</key> <array> <integer>0</integer> <integer>40</integer> <integer>55</integer> <integer>92</integer> </array> <key>Threshold_Low_v</key> <array> <integer>0</integer> <integer>50</integer> <integer>60</integer> <integer>92</integer> </array> </dict> <key>control-id</key> <integer>16</integer> </dict> <key>LogControl</key> <integer>0</integer> </dict> Link to comment Share on other sites More sharing options...
WaldMeister Posted April 1, 2015 Share Posted April 1, 2015 Hi, In the AGPM info.plist, you should replace IGPU instead of GFX0, leave GFX0 as is. Link to comment Share on other sites More sharing options...
maRRRco Posted April 2, 2015 Author Share Posted April 2, 2015 Hi, In the AGPM info.plist, you should replace IGPU instead of GFX0, leave GFX0 as is. That doesn't work. At login the kext is loaded by in console I can't see any states changing. There is only a basic power management probably made by bios or card itself. I have to inject my vendor instead of GFX0 and I can get agpm working, but only with the battery. Without battery the log show that gpu stucks at state 1, and sometimes enters state 0. The strange thing is that there is an event almost every second, showing agpm controller that set p state 1 Link to comment Share on other sites More sharing options...
wern apfel Posted April 15, 2015 Share Posted April 15, 2015 Change your dsdt device to GFX0 then edit the ACPI_SMC_PlatformPlugin.kext/Contents/Resources/MacBookPro5_1.plist <dict> <key>ControlIDArray</key> <array> <integer>16</integer> <integer>17</integer> <integer>18</integer> </array> <key>Description</key> <string>SMC_GPU_Range_Control_Loop</string> <key>GPUControlInfoDict</key> <dict> <key>CIA1</key> <array> <integer>1</integer> <integer>17</integer> <integer>16</integer> </array> <key>MacBookPro5,1</key> <string>CIA1</string> </dict> from 1 to 3, red number which means lowest state, use 3 instead of 1 or 2, i recommend 2 maybe 3 is a bit laggy, or whatever you want, happy testing Link to comment Share on other sites More sharing options...
Recommended Posts