camoguy Posted July 26, 2011 Share Posted July 26, 2011 I'd like to find the optimal power saving settings on my GTX 560 Ti. I'd like to hear some other peoples feedback and testing on their optimal settings in AppleGraphicsPowerManagment Once I got my card recognized in Lion, it still didn't perform well. It was being throttled to a maximum power saving state. I started by opening /S/L/E/AppleGraphicsPowerManagement.kext/Contents/Info.plist Then located my Mac identifier which was MacPro4,1... It's burried inside IOKitPersonalities > AGPM > MacPro4,1 I copied one of the entries labeled Vendor10deDevice05e2, and pasted it as a child of MacPro4,1 (or in other words a sibling of Vendor10deDevice05e2) Ive also found that the iMac12,1 has a good scheme that will work. If you add the SensorOption 1, then your video card's power saving function will work, it will switched from all the different modes. If you leave it out, then you will be running in power state zero, which is least amount of power savings, but better performance for scrolling/launchpad. Then we renamed the entry to match my graphics card device id "Vendor10deDevice1200" <-GTX 560Ti update: (I've found you can replace VendorXXXXDeviceXXXX with GFX0 or GFX3 or whatever your motherboard enumerates your primary video card as) GFX0 is the default for iMacs, but it won't work on my motherboard because it's enumerated as GFX3. Settings I've enabled log control so it will print to the log each time my graphics card changes it's power state. I also have a kilowatt power meter which also shows me that it's actually working. From another forum, as suggested, I increased the IdleInterval to 500, so it doesn't switch unnecessarily and frequently. Edit: I've switched back to 100 to continue further study. I removed the sensorsamplerate entry, and it's been fine without it so far. Then we have to adjust the Threshold_High and Threshold_Lows. I don't want to go into explaining all this on this post so I'll include a couple links where it's all been talked about before. Those numbers basically tell the operating system when to switch power saving states. Those numbers represent what I believe to be GPU % IDLE. So 100 meaning the GPU is completely idle and not being used. 0 = GPU has no idling and is working 100%. http://www.insanelymac.com/forum/index.php...t&p=1667641 http://www.tonymacx86.com/viewtopic.php?f=15&t=20367 My settings are not finalized yet, but they are working. I'm still testing and I'd like to get some feedback about what others are doing / testing. Side note, It seems that in windows 7 and xp, the video driver takes it's cue to switch into higher gear from directx or the software. This is my theory of course, I would like to find out. Thanks Camoguy Link to comment Share on other sites More sharing options...
whitegerry Posted July 28, 2011 Share Posted July 28, 2011 How to enable log control? edit:I know how to enable it now Link to comment Share on other sites More sharing options...
camoguy Posted September 15, 2011 Author Share Posted September 15, 2011 1 Link to comment Share on other sites More sharing options...
thiago.net Posted September 15, 2011 Share Posted September 15, 2011 IT also have a GTX 560ti But I'm not getting optimal performance. Its post your files? Link to comment Share on other sites More sharing options...
camoguy Posted September 15, 2011 Author Share Posted September 15, 2011 IT also have a GTX 560ti But I'm not getting optimal performance. Its post your files? You can get optimal performance, but for me to help you get it right, I'll need you to do a few things. 1. get your GFX number, GFX0 or GFX2 GFX3 etc Do this in terminal (that's a lowercase L): ioreg -l|grep attached-gpu Should say something like: "attached-gpu-control-path" = "IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/PEG3@3/IOPCI2PCIBridge/GFX3@0/NVDA,Display-A@0/NVDA/AGPM" That is mine, what I'm looking for is the GFX number, mine is GFX3 for my primary video card and display. 2. Your model identifier as found in /Extra/smbios.plist under <key>SMproductname</key> example: MacPro4,1 iMac12,1 3. Then make a backup of /S/L/E/AppleGraphicsPowerManagement.kext We'll refer to this as AGPM from hereon 4. Open AGPM by right click and show package contents. Go inside Contents folder, and edit Info.plist with PlistEdit pro. 5. Locate IOKitPersonalities and expand > Expand AGPM > Locate your Mac model identifier here as found in step 2. 6. Empty the contents of this entry 7. Locate iMac12,1, expand, copy GFX0 and LogControl inside your (2) Mac model identifier entry so now it should be basically a duplicate of iMac12,1 but under your own mac id. 8. Go back to your mac id entry which should now have GFX0 and LogControl inside it, and rename GFX0 to whatever we found it was in step 1. GFX? 9. Expand GFX? > Expand Heuristics > Right click IdleInterval > New Sibling 10. Name it SensorOption, Class Number, Value 1 11. Change LogControl to 1 if you wish 12. Save 13. Run kext utility for Lion 14. Reboot Here's what mine looks like as a reference. Info.plist for AGPM Here I've setup the MacPro4,1 model to work with the GTX 560 Ti as GFX3 and mac model identifier MacPro4,1. Link to comment Share on other sites More sharing options...
saltdos Posted September 16, 2011 Share Posted September 16, 2011 Just as a quick verification (and for those who do this in the future): X:~ x$ ioreg -l|grep attached-gpu | | | | | "attached-gpu-control-path" = "IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/P0P1@1/IOPCI2PCIBridge/GFX@0/NVDA,Display-A@0/NVDA/AGPM" There's no number displayed, so I would assume its GFX0? Or just GFX? Lastly, where is the LogControl file found? Link to comment Share on other sites More sharing options...
thiago.net Posted September 16, 2011 Share Posted September 16, 2011 Camoguy, I used the command "ioreg -l|grep attached-gpu", but I do not return anything! I used your Info.plist in my AGPM and changed my SMBIOS to MacPro4,1, but my Lauchpad continued to lag. Use in iMac10, 1, remove AGPM, but to have a great performance have to put at rest and wake up! I do not know what to do... Link to comment Share on other sites More sharing options...
scorcho Posted September 16, 2011 Share Posted September 16, 2011 for nvidia cards using iMac12,1 or 12,2 you don't need to include the PEG or GFX string (on my hack it's showing as PEG, not GFX). simply include Vendor10deDevice#### key and it'll recognize your card. also, here are my Threshold_High and Threshold_Low settings that i've settled on for my card. Cinebench scores have increased by 12 FPS using these settings, and the interface is buttery smooth. i've set the lowest p-state to 999, which effectively disables it, hence the performance increase both in 3D games and in Finder. since these cards relatively cool, you shouldn't have an issues with heat. <key>Heuristic</key> <dict> <key>ID</key> <integer>0</integer> <key>IdleInterval</key> <integer>500</integer> <key>SensorOption</key> <integer>1</integer> <key>TargetCount</key> <integer>5</integer> <key>Threshold_High</key> <array> <integer>25</integer> <integer>97</integer> <integer>100</integer> <integer>999</integer> </array> <key>Threshold_Low</key> <array> <integer>0</integer> <integer>20</integer> <integer>95</integer> <integer>999</integer> </array> </dict> hope this helps! Link to comment Share on other sites More sharing options...
thiago.net Posted September 16, 2011 Share Posted September 16, 2011 scorcho, I made this change you indicated and changed my SMBIOS to MacPro4,1. But for me to have maximum performance, no lag in Lauchpad, I have to add a widget with the effect of water! I ran the command with SMBIOS MacPro4,1 Mac-Pro-de-Thiago:~ Thiago$ ioreg -l|grep attached-gpu | | | | | "attached-gpu-control-path" = "IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/pci-bridge@3/IOPCI2PCIBridge/display@0/NVDA,Display-A@0/NVDA/AGPM" Link to comment Share on other sites More sharing options...
camoguy Posted September 16, 2011 Author Share Posted September 16, 2011 Just as a quick verification (and for those who do this in the future): There's no number displayed, so I would assume its GFX0? Or just GFX? Lastly, where is the LogControl file found? In your case I would go with GFX. That's an oddball, very interesting. scorcho, I made this change you indicated and changed my SMBIOS to MacPro4,1.But for me to have maximum performance, no lag in Lauchpad, I have to add a widget with the effect of water! I ran the command with SMBIOS MacPro4,1 Mac-Pro-de-Thiago:~ Thiago$ ioreg -l|grep attached-gpu | | | | | "attached-gpu-control-path" = "IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/pci-bridge@3/IOPCI2PCIBridge/display@0/NVDA,Display-A@0/NVDA/AGPM" Just curious, have you by chance tried updating your DSDT from tonymac's database? http://www.tonymacx86.com/dsdt.php Also, I'm not suggesting you change your mac model identifier to mine, I just want to show you mine as an example. I think there is a language barrier. English is my second language also. You see what that widget does is like the old fermi freeze problem was about. It keeps the video card busy so it doesn't invoke power saving state 3. Once it goes to that third state, it reduces it's clock frequency down to 50 i believe which isn't enough power to keep things smooth. for nvidia cards using iMac12,1 or 12,2 you don't need to include the PEG or GFX string (on my hack it's showing as PEG, not GFX). simply include Vendor10deDevice#### key and it'll recognize your card. also, here are my Threshold_High and Threshold_Low settings that i've settled on for my card. Cinebench scores have increased by 12 FPS using these settings, and the interface is buttery smooth. i've set the lowest p-state to 999, which effectively disables it, hence the performance increase both in 3D games and in Finder. since these cards relatively cool, you shouldn't have an issues with heat. I'm experimenting with the possibilities of using GFX0 or such to replace the Vendorid. Vendorid seems to work, but this also worked for me, so I'm asking others to try it and give me some feedback. Take a screenshot of that setup in Plistedit, which install method you use? [url="http://www.insanelymac.com/forum/topic/279450-why-insanelymac-does-not-support-tonymacx86/"]#####[/url] xpc efi [url="http://www.insanelymac.com/forum/topic/279450-why-insanelymac-does-not-support-tonymacx86/"]#####[/url], vanilla Link to comment Share on other sites More sharing options...
thiago.net Posted September 17, 2011 Share Posted September 17, 2011 camoguy, excuse my mistakes. I am using Google Translator. My main language is Portuguese. I took a picture of the Info.plist who asked: Posted my AGMP, NVDAGF100Hal, SMBIOS, org.chameleon.Boot.plist: http://cl.ly/3l081H0h0e1W2O3a2W3Q My installation method and my boot is Chameleon. My DSDT is updated. Gtx 560 Ti Vendor: NVIDIA (0x10de) Device ID: 0x1200 Revision ID: 0x00A1 ROM Revision: 70.24.11.00.01 Link to comment Share on other sites More sharing options...
camoguy Posted September 17, 2011 Author Share Posted September 17, 2011 camoguy, excuse my mistakes. I am using Google Translator. My main language is Portuguese.I took a picture of the Info.plist who asked: Posted my AGMP, NVDAGF100Hal, SMBIOS, org.chameleon.Boot.plist: http://cl.ly/3l081H0h0e1W2O3a2W3Q My installation method and my boot is Chameleon. My DSDT is updated. Gtx 560 Ti Vendor: NVIDIA (0x10de) Device ID: 0x1200 Revision ID: 0x00A1 ROM Revision: 70.24.11.00.01 Smbios looks fine, GF100Hal is okay, I don't use that many arguments with my gtx 560ti to get booted. All I have is graphicsenabler=y You have, the blank graphics mode fix, -v npci=0x2000, pciroot 1, and use kernel cache. I haven't ever seen that last one. Whats that for? If you would remove those "fixes" from chameleon, what happens to your system? I've made a few mods to the applegpm info.plist. Here you go. Info.plist.zip Once you modify a kernel extension file remember to: sudo chown -R 0:0 /System/Library/Extensions sudo chmod -R 755 /System/Library/Extensions sudo kextcache -v 1 -a i386 -a x86_64 -m /System/Library/Caches/com.apple.kext.caches/Startup/Extensions.mkext /System/Library/Extensions Good luck Link to comment Share on other sites More sharing options...
dysfunction Posted September 18, 2011 Share Posted September 18, 2011 Edit delete this one, too much edits Link to comment Share on other sites More sharing options...
dysfunction Posted September 19, 2011 Share Posted September 19, 2011 Get nothing from ioreg but: Denniss-iMac:~ dennis$ ioreg -l|grep attached-gpu | | | | | "attached-gpu-control-path" = "IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/P$ Great thread, i really thought everything was working ok, seems the graphic card is not doing its work though. My system identifier is: iMac12,2. I tried to put in "Vendor10deDevice1200" with the strings you have attached as a screenshot in iMac12,2. rebuilded caches etc. and rebooted. Think it's working now! 4951 frames in GL view 4.0, openGL 2.0... is that ok? The fans does'nt spin up at all, they do that when im running windows, guess i might overheat at some point? The now shows nothing at all, when i type: ioreg -l|grep attached-gpu, not even the: ioreg -l|grep attached-gpu | | | | | "attached-gpu-control-path" = "IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/P$ If i look in my console it says: 9/19/11 2:18:04.221 AM PluginProcess: AVF error: AGPMGetPowerState: returned err= 0x10000003 (vp4) and: 9/19/11 2:18:01.932 AM PluginProcess: AVF error: AGPMGetManagedPortForAccelerator returned 0x4 for VP4 What does it mean? Quicktime is still stuttering a bit when i go from window mode to full screen, anyone else who have the same problem? Thank you again for a great thread! Link to comment Share on other sites More sharing options...
camoguy Posted September 19, 2011 Author Share Posted September 19, 2011 Get nothing from ioreg but: Denniss-iMac:~ dennis$ ioreg -l|grep attached-gpu | | | | | "attached-gpu-control-path" = "IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/P$ Great thread, i really thought everything was working ok, seems the graphic card is not doing its work though. My system identifier is: iMac12,2. I tried to put in "Vendor10deDevice1200" with the strings you have attached as a screenshot in iMac12,2. rebuilded caches etc. and rebooted. Think it's working now! 4951 frames in GL view 4.0, openGL 2.0... is that ok? The fans does'nt spin up at all, they do that when im running windows, guess i might overheat at some point? The now shows nothing at all, when i type: ioreg -l|grep attached-gpu, not even the: ioreg -l|grep attached-gpu | | | | | "attached-gpu-control-path" = "IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/P$ If i look in my console it says: 9/19/11 2:18:04.221 AM PluginProcess: AVF error: AGPMGetPowerState: returned err= 0x10000003 (vp4) and: 9/19/11 2:18:01.932 AM PluginProcess: AVF error: AGPMGetManagedPortForAccelerator returned 0x4 for VP4 What does it mean? Quicktime is still stuttering a bit when i go from window mode to full screen, anyone else who have the same problem? Thank you again for a great thread! Fascinating, okay first off, in your signature, add your system spec details etc, so we have an understanding of what kind of platform youre on. It seems to me like you're not seeing the entire output of ioreg, try increasing the window size. Other than that, you could try ioregistryexplorer. Navigate around there till you find the entry for your pci2pcibridge that your video adapter is plugged into. Might provide some insight. Those screenshots in the first post are kinda old, since then I've adjusted for more optimized settings. Try these for threshold values in heuristics. Should eliminate some of the stuttering transitions, it will keep the video card in power state 2 for the most part. Which is still reasonably good power savings, about a 15 watt difference on my machine. High 0: 25 1: 40 2: 60 3: 100 Low 0: 0 1: 75 2: 90 3: 98 You'll want to enable logcontrol for debugging, to see if you're actually switching to different power saving states on the video adapter. Double check your plist, see if you have control id 17, SensorOption 1, Targetcount 5. Perhaps attach your plist zipped up to the forums so I can take a look or screenshot. What score you get from running the opengl test in cinebench? http://www.maxon.net/downloads/cinebench.html That might get the fan spinning... Thanks for the acknowledgment! Link to comment Share on other sites More sharing options...
dysfunction Posted September 19, 2011 Share Posted September 19, 2011 Hi again Got my g-state working: 9/19/11 8:41:49.000 AM kernel: AGPM: GPU = display G-state set to 0 from 3, ControlID = 17 9/19/11 8:41:55.000 AM kernel: AGPM: GPU = display G-state set to 1 from 0, ControlID = 17 9/19/11 8:42:00.000 AM kernel: AGPM: GPU = display G-state set to 2 from 1, ControlID = 17 9/19/11 8:42:05.000 AM kernel: AGPM: GPU = display G-state set to 3 from 2, ControlID = 17 The stuttering while playing quicktime videos in full screen fixed (kinda), i'm running dual screen so it's like dragging the background on the second screen under the video which cause the stuttering. It's ok when i just run on a single screen. The fans are still not running at 100%, i will try to find a 3d game or something. Still cant find my device ID, tried to look at ioregistry but im not able to find it there (dont know where to look). Do i need to install: Nvidia plugin and Nvidia fermi OpenCL enabler from [url="http://www.insanelymac.com/forum/topic/279450-why-insanelymac-does-not-support-tonymacx86/"]#####[/url] Lion edition? cinebench openGL: 37,92 FPS 4951 frames in GL view 4.0, openGL 2.0 Attached: DSDT.aml, info.plist, NVDAGF100Hal.kext, org.chameleon.boot.plist, smbios.plist send.zip Link to comment Share on other sites More sharing options...
camoguy Posted September 19, 2011 Author Share Posted September 19, 2011 All looks good to to me, but I would possibly remove some of the boot.plist settings like arch=x86_64 pmVersion=23 and UseKernelCache. As far as I know, my system doesn't need those two settings, and it still achieves the same result. Unless you know you need it then I wouldn't bother. Always backup before you do though.Those cinebench results are great, that's above average id say. Link to comment Share on other sites More sharing options...
dysfunction Posted September 19, 2011 Share Posted September 19, 2011 All looks good to to me, but I would possibly remove some of the boot.plist settings like arch=x86_64 pmVersion=23 and UseKernelCache. As far as I know, my system doesn't need those two settings, and it still achieves the same result. Unless you know you need it then I wouldn't bother. Always backup before you do though.Those cinebench results are great, that's above average id say. Looked in system report found this: GeForce GTX 560 Ti: Chipset Model: GeForce GTX 560 Ti Type: GPU Bus: PCIe Slot: Slot-1 PCIe Lane Width: x16 VRAM (Total): 1024 MB Vendor: NVIDIA (0x10de) Device ID: 0x1200 Revision ID: 0x00a1 ROM Revision: 70.24.11.00.G0 Dont know why i cant see it when typing the terminal command... it's weird Do you have the nvidia fermu opencl enabler and the fakesmc nvidia plugin? Link to comment Share on other sites More sharing options...
dysfunction Posted September 19, 2011 Share Posted September 19, 2011 9/19/11 8:33:04.613 AM PluginProcess: AVF error: AVAHDGPURendererVP2VP3BoostVP3: AGPMSetBoost code = 0 returned 0xe00002c2 (ig) What's this? Link to comment Share on other sites More sharing options...
dysfunction Posted September 19, 2011 Share Posted September 19, 2011 carmoguy, have ypu had any problems with the Fermi freeze? Mine freezes every now and then for up to 20 seconds. See Link Link to comment Share on other sites More sharing options...
camoguy Posted September 19, 2011 Author Share Posted September 19, 2011 carmoguy, have ypu had any problems with the Fermi freeze? Mine freezes every now and then for up to 20 seconds. See Link Hi, no, not having any freezing problems. And no I don't have to use nvidia smc and I haven't enabled opencl yet, don't see any reason to at the moment, rather keep as much as I can vanilla. No idea what that pluginprocess error is about. Only thing on my mind would be to try switching your machine to MacPro, or remove the BoostPstate BoostTime from the plist, those aren't required. Link to comment Share on other sites More sharing options...
luisfdoc1 Posted September 20, 2011 Share Posted September 20, 2011 Using these Thresholds: High 0: 25 1: 40 2: 60 3: 100 Low 0: 0 1: 75 2: 90 3: 98 And I am getting only 17 fps in Cinebench, Camoguy what are your current thresholds that give you 35fps? Link to comment Share on other sites More sharing options...
dysfunction Posted September 20, 2011 Share Posted September 20, 2011 Using these Thresholds: High 0: 25 1: 40 2: 60 3: 100 Low 0: 0 1: 75 2: 90 3: 98 And I am getting only 17 fps in Cinebench, Camoguy what are your current thresholds that give you 35fps? Got the same threshold as you, getting: 36,85 FPS. Funny thing is that i can't see my log any more (had to reinstall a couple of hours ago), logging is enables but the states doesn't show up. Can you see your APGM states in console? What mac identifier are you using? apple menu/about this mac/system report/... hardware model name Link to comment Share on other sites More sharing options...
luisfdoc1 Posted September 21, 2011 Share Posted September 21, 2011 Well I am getting ONLY 17 fps, and before doing this process I was getting like 8 fps... (I get 50 fps in Windows 7). I should be getting like 30 something... Mine is MacPro4,1 Are you getting 36??? that is excellent... I wonder why I have so much difference in FPS... I have not turned the LOG on, I will be doing that... Got the same threshold as you, getting: 36,85 FPS. Funny thing is that i can't see my log any more (had to reinstall a couple of hours ago), logging is enables but the states doesn't show up. Can you see your APGM states in console? What mac identifier are you using? apple menu/about this mac/system report/... hardware model name Link to comment Share on other sites More sharing options...
camoguy Posted September 21, 2011 Author Share Posted September 21, 2011 Using these Thresholds: High 0: 25 1: 40 2: 60 3: 100 Low 0: 0 1: 75 2: 90 3: 98 And I am getting only 17 fps in Cinebench, Camoguy what are your current thresholds that give you 35fps? Check your console, make sure you're in g state zero. Those are my thresholds too. Well I am getting ONLY 17 fps, and before doing this process I was getting like 8 fps... (I get 50 fps in Windows 7). I should be getting like 30 something...Mine is MacPro4,1 Are you getting 36??? that is excellent... I wonder why I have so much difference in FPS... I have not turned the LOG on, I will be doing that... There's a couple things in /S/L/E/AppleGraphicsPowerManagement/Contents/Info.plist to check 1. vendor10dedevice1200 or GFX(number) entry mismatch 2.mac identifier mismatch also plausible 3. control id should be 17, at least it's 17 for my gtx 560ti as macpro41. Might try 18... 4. sensoroption 1, must be there also in heuristics 5.rebuild caches, after each change, and reboot 6.thresholds could be incorrect post your kext if you can't get it Link to comment Share on other sites More sharing options...
Recommended Posts