omni Posted February 13, 2014 Author Share Posted February 13, 2014 There are no changes to AICPM in any of the latest betas of 10.9.2 judging by the file size. Link to comment Share on other sites More sharing options...
Rampage Dev Posted February 14, 2014 Share Posted February 14, 2014 There are no changes to AICPM in any of the latest betas of 10.9.2 judging by the file size. Under the last 2 BETA's PM is no longer working under Chameleon but works fine under Clover. Thanks for the great work. Link to comment Share on other sites More sharing options...
Riley Freeman Posted February 14, 2014 Share Posted February 14, 2014 It's working fine here on 13C59 with Chameleon r2266. Link to comment Share on other sites More sharing options...
Rampage Dev Posted February 14, 2014 Share Posted February 14, 2014 It's working fine here on 13C59 with Chameleon r2266. Can you post your SSDT? Thanks. Link to comment Share on other sites More sharing options...
Riley Freeman Posted February 14, 2014 Share Posted February 14, 2014 Can you post your SSDT? Thanks. I'm not using a SSDT override here. It's just using the stock BIOS table. It may be down to my using a SB-E chip, or maybe the MacPro5,1 SMBIOS. The whole MP6,1/SSDT/X86PlatformPlugin routine was a dead end for me. Only omni's patched AICPUPM binary got PM working here. Link to comment Share on other sites More sharing options...
Rampage Dev Posted February 14, 2014 Share Posted February 14, 2014 I'm not using a SSDT override here. It's just using the stock BIOS table. It may be down to my using a SB-E chip, or maybe the MacPro5,1 SMBIOS. The whole MP6,1/SSDT/X86PlatformPlugin routine was a dead end for me. Only omni's patched AICPUPM binary got PM working here. Working well here but not sure what the difference Cham and Clover have ATM. What I think is going on is that my SSDT-2 is not loading properly under Cham but need to look into it more. Link to comment Share on other sites More sharing options...
Klonkrieger2 Posted February 14, 2014 Share Posted February 14, 2014 I just changed the chameleon source code: I let it write 0x407 to MSR 0xE2 Additionally I patched AICPUPM to not write anything into MSR 0xE2. (AICPM Patch) Since I have an unlocked BIOS this works. Also Power management is disabled in my BIOS options. But something is still writing 0x400 to MSR 0xE2. This of course prevents my CPU from going into C-States. Has anyone an idea, what is doing that??? 1 Link to comment Share on other sites More sharing options...
omni Posted February 14, 2014 Author Share Posted February 14, 2014 I'll take a look at the latest AICPM beta file then to see if there are any binary changes. The issue I have is that I can't even properly run 10.9.2 beta (except for Safe Mode) because my GTX Titan does not work with it. All I get is a white screen and occasionally a mouse pointer, and tons of weird errors in the system log. @Klonkrieger2 Problem is all of the above - you are changing Chameleon source code; writing 0x407 to MSR 0xE2; and patching AICPM to disable MSR 0xE2 writes. If you want to change your MSR 0xE2 at boot, try using my Chameleon module from the OP. But even with the module, AICPM will re-write the value of MSR 0xE2 and you should let it do that (you are not because you patched it not to write to MSR 0xE2). The solution might be elsewhere though. Have you tried debugging as per my OP, as you can check whether ACST is loaded or not? Link to comment Share on other sites More sharing options...
Rampage Dev Posted February 14, 2014 Share Posted February 14, 2014 I'll take a look at the latest AICPM beta file then to see if there are any binary changes. The issue I have is that I can't even properly run 10.9.2 beta (except for Safe Mode) because my GTX Titan does not work with it. All I get is a white screen and occasionally a mouse pointer, and tons of weird errors in the system log. @Klonkrieger2 Problem is all of the above - you are changing Chameleon source code; writing 0x407 to MSR 0xE2; and patching AICPM to disable MSR 0xE2 writes. If you want to change your MSR 0xE2 at boot, try using my Chameleon module from the OP. But even with the module, AICPM will re-write the value of MSR 0xE2 and you should let it do that (you are not because you patched it not to write to MSR 0xE2). The solution might be elsewhere though. Have you tried debugging as per my OP, as you can check whether ACST is loaded or not? Titian in my testing of 10.9.2 is working fine. Have you tried the retail drivers? Link to comment Share on other sites More sharing options...
stinga11 Posted February 14, 2014 Share Posted February 14, 2014 I a modify a Legacy_ACPI_SMC_PP.kext created by MasterChief for using mac pro 5,1 definition with the StepContextDict of the mac mini 5,2 for more Pstate and zero Popping Sound. https://mega.co.nz/#!f1wXQD6Y!7HL0erEtKBg8Aq41D3RfEPRtw2NDnuYJpAZYZoQikWY Link to comment Share on other sites More sharing options...
shilohhh Posted February 14, 2014 Share Posted February 14, 2014 @omni, I got AGPM working by adding an entry for MacPro6,1 and my cards to the plist. I also deleted the plugins in the AGPMcontrol kext that referenced the board ID for MP6,1. Don't know if this would help you and probably wouldn't if you're not using MP6,1. I know the Titan should work OOB GE=No but you might try injecting via DSDT, SSDT or string in org.chameleon to see if it helps. I still use a string for my 2 gtx cards and it give better performance. @Riley I do have everything working as 6,1 using omni,s patched AICPUPM but IPG doesn't show any states below 32. Howver, power draw is only 5w at idle so I'd say it's working good enough. Link to comment Share on other sites More sharing options...
omni Posted February 14, 2014 Author Share Posted February 14, 2014 Titian in my testing of 10.9.2 is working fine. Have you tried the retail drivers? I've tried beta Web drivers, Official ones, 10.9.1 and 10.9 ones, past OpenCL and OpenGL frameworks and combinations of all of this. Nada, white screen, sometimes a mouse pointer sometimes not, and lots of NVIDIA driver errors like kernel[0]: NVDA(Private): Channel exception! Exception type = 0x8 DMA Engine Error (FIFO Error 8) kernel[0]: 4443564e 00000278 3998c1fc b85f72e0 00000001 00000014 d3793533 46d3a4a6 kernel[0]: 4614f297 e71edccf 00088301 00000243 12f2460a 08180a43 18001000 28002000 @shilohhh Could you be more specific please, what entry did you add where? I tried setting proper entries in AGPM.kext and also without, that made no difference except that one would put my display to sleep and the other would just lead to that white screen. Otherwise GTX Titan works OOB in 10.9.1 for me, and I believe GE=No by default so I don't have that set anywhere... Link to comment Share on other sites More sharing options...
shilohhh Posted February 15, 2014 Share Posted February 15, 2014 @OmniYes default is GE=No. Find the MacPro5,1 entry and copy past a duplicate of the entire entry right below it. The change the 5,1 to 6,1. Then change the the first card name to the proper name for your titan. Then adjust the values below it achieve the power states at the load levels you want. You can find a good post here about doing this with a 570 but I forgot the users name. You can also find a good post about it on rampagedev site. This is what I have for my GTX 580 & 570 <key>MacPro6,1</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>45</integer> <integer>45</integer> <integer>85</integer> <integer>100</integer> </array> <key>Threshold_Low</key> <array> <integer>0</integer> <integer>65</integer> <integer>65</integer> <integer>87</integer> </array> </dict> <key>LogControl</key> <integer>0</integer> <key>control-id</key> <integer>18</integer> </dict> <key>Vendor10deDevice1086</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>45</integer> <integer>45</integer> <integer>85</integer> <integer>100</integer> </array> <key>Threshold_Low</key> <array> <integer>0</integer> <integer>65</integer> <integer>65</integer> <integer>87</integer> </array> </dict> <key>LogControl</key> <integer>0</integer> <key>control-id</key> <integer>18</integer> </dict> <key>default-control-id</key> <integer>18</integer> </dict> <key>Macmini3,1</key> I think the more important thing to try is deleting the plugins from the AGPMcontrol AppleGraphicsControl kext. I deleted: AppleMGPUPowerControl.kext, AppleGraphicsDevicePolicy.kext and AppleGraphicsDeviceControl.kext 1 Link to comment Share on other sites More sharing options...
omni Posted February 15, 2014 Author Share Posted February 15, 2014 Thanks for the suggestions guys. After so much grief, I managed to get it to work by replacing IOPCIFamily.kext and AppleACPIPlatform.kext (mysticalos suggested I increase my PCH/VTT voltage and after that did not help, I deducted that it must be a PCI issue - bravo EVGA, you are totally incompetent). The 10.9.2 booted and everything was as if I just did this the first time. But now with 10.9.2 being finally up I noticed that I lost my CPU PM, stuck at 12x, no C3 Residency only C2/C6, yet everything is initialized. Back to square one it seems...meh. Link to comment Share on other sites More sharing options...
Rampage Dev Posted February 15, 2014 Share Posted February 15, 2014 Thanks for the suggestions guys. After so much grief, I managed to get it to work by replacing IOPCIFamily.kext and AppleACPIPlatform.kext (mysticalos suggested I increase my PCH/VTT voltage and after that did not help, I deducted that it must be a PCI issue - bravo EVGA, you are totally incompetent). The 10.9.2 booted and everything was as if I just did this the first time. But now with 10.9.2 being finally up I noticed that I lost my CPU PM, stuck at 12x, no C3 Residency only C2/C6, yet everything is initialized. Back to square one it seems...meh. No! Not back to square one. It works when you are booting with Clover. PM me if you want to do some testing together. Link to comment Share on other sites More sharing options...
toleda Posted February 15, 2014 Share Posted February 15, 2014 change the the first card name to the proper name for your titan. Then adjust the values below it achieve the power states at the load levels you want. This is what I have for my GTX 580 & 570 Your example only applies to Fermi graphics, not applicable to Titan. Kepler uses AGPM/HeuristicID: 4. See AGPM/Info.plist/Machines/Mac-27ADBB7B4CEE8E61 for imac14,2/780M. 1 Link to comment Share on other sites More sharing options...
Klonkrieger2 Posted February 15, 2014 Share Posted February 15, 2014 Hey rampage, could you please share your clover config file with us? I also tested clover recently but didn't notice any relevant changes to PM, but I'm anything else than a clover expert! Link to comment Share on other sites More sharing options...
Rampage Dev Posted February 15, 2014 Share Posted February 15, 2014 Hey rampage, could you please share your clover config file with us? I also tested clover recently but didn't notice any relevant changes to PM, but I'm anything else than a clover expert! Its on the DMG. Link to comment Share on other sites More sharing options...
Klonkrieger2 Posted February 15, 2014 Share Posted February 15, 2014 ok thanks rampage. But again, I don't have any changes on PM with clover. I'm using the most recent clover build and 10.9.2 beta. CPU is ivy bridge EP xeon e5 2690 v2. No C-States according to AICPUPMI.kext. MSR 0xE2 is constantly at 0x401 Also Cores C000 and C001 don't reach C6 sate. Something seems to prevent it... Link to comment Share on other sites More sharing options...
Rampage Dev Posted February 15, 2014 Share Posted February 15, 2014 ok thanks rampage. But again, I don't have any changes on PM with clover. I'm using the most recent clover build and 10.9.2 beta. CPU is ivy bridge EP xeon e5 2690 v2. No C-States according to AICPUPMI.kext. MSR 0xE2 is constantly at 0x401 Also Cores C000 and C001 don't reach C6 sate. Something seems to prevent it... I am testing with a 3970X and 4930K. Link to comment Share on other sites More sharing options...
omni Posted February 15, 2014 Author Share Posted February 15, 2014 Your example only applies to Fermi graphics, not applicable to Titan. Kepler uses AGPM/HeuristicID: 4. See AGPM/Info.plist/Machines/Mac-27ADBB7B4CEE8E61 for imac14,2/780M. What about control-id's what should they be set at? I keep finding conflicting information about 16/17/18 values. Also, how do thresholds work in 10.9? I read RampageDev's post in his blog but I'm still not clear about Mavericks and Kepler specifically... Link to comment Share on other sites More sharing options...
Rampage Dev Posted February 15, 2014 Share Posted February 15, 2014 In your SSDT for Power Management add the following code under the first CPU and Power Management will return when booting using Chameleon Bootloader: Name (APLF, 0x04) Link to comment Share on other sites More sharing options...
omni Posted February 15, 2014 Author Share Posted February 15, 2014 ok thanks rampage. But again, I don't have any changes on PM with clover. I'm using the most recent clover build and 10.9.2 beta. CPU is ivy bridge EP xeon e5 2690 v2. No C-States according to AICPUPMI.kext. MSR 0xE2 is constantly at 0x401 Also Cores C000 and C001 don't reach C6 sate. Something seems to prevent it... Is your MSR 0xE2 unlocked? If it is, edit AppleIntelCPUPowerManagement binary with a hex editor, find offset 0x1171B and replace 0xE1 with 0xFF. Remember to delete your cache or rebuild it, then reboot and see what happens. AICPM by default ORs the last 3 bits of MSR 0xE2 so its value ends up 7, but before that it conditionally ANDs it with 0xE1FF7FF8 effectively erasing bits 25-28 which control C-state (un)demotions. It is bizarre why the value isn't 0x407 at least - still looking into it because for me sometimes it is and other times it's not. Link to comment Share on other sites More sharing options...
shilohhh Posted February 15, 2014 Share Posted February 15, 2014 @omni <key>Threshold_High</key> <array> <integer>45</integer> <integer>45</integer> <integer>85</integer> <integer>100</integer> </array> <key>Threshold_Low</key> <array> <integer>0</integer> <integer>65</integer> <integer>65</integer> <integer>87</integer> Its kind of ass backwards. In the above example threshold high dictates that when the card is 100% idle - 86% idle. it is in power state 3. When it reaches 85% idle it steps up to state 2. When it reaches 45% idle, it steps up to state 1 and then 0 because they have the same value (my cards max state is 1). Threshold low dictates that when the cards power draw drops to 65% of idle, it drops to 2 and at 87% idle, it drops to 3. Set log control from 0 to 1 to see your states change in console and tune it to the behavior you want for your card. As toleda mentioned you may want to tune my example for Kepler vs my firmis. Link to comment Share on other sites More sharing options...
Klonkrieger2 Posted February 15, 2014 Share Posted February 15, 2014 No my MSR is not locked. This test also was with the unpatched AICPUPM. Link to comment Share on other sites More sharing options...
Recommended Posts