Contribute
Register

ML: Native Ivy Bridge CPU and GPU Power Management

Status
Not open for further replies.
What does Post #1 say?

I have read it again, and can't find anything referring to "generate C/P states"

unless you mean that all of this is left for experts and I should rather feck off, I don't know what you are hinting at, I am sorry.
 
Toleda I wonder if you can give me a hand? :) I have a gtx 650 oc and I am tryong to get AGPM working. The card works ok and by the instructions B86 is the entry on the plist for the smbios I am using, which is imac 13,1
The problem I have is that by replacing my card device id with one of the ones already present on that section of the plist the AGPM still doesn't work.
There is nothing wrong with my card and i don't get freezes but i do get entries on the system log like this 12/06/2013 15:21:19.435 PluginProcess[1309]: AVF error: AGPMGetManagedPortForAccelerator returned 0x4 for VP4

Is there any chance you can help me get this to work?

Thanks in advance

UPDATE: Ok, I managed to get AGPM to work and logcontrol reports it changing states just fine. :) really happy about that, I have an issue with the IvyBridge SSDT in console, I get this message kernel[0]: X86PlatformPlugin::setRingTable - No ring table found! can anyone help with this?
 
Thanks your help!:clap:
(Please, excuse my poor English..)

My G-State seems to work well in my console.

000001.png

But, in my HWMonitor, GPU's clock and temperature are no change..

00002.png

My AGPM's patch works fine?
Is it normal?

With1. ML 10.8.3, SMBios mac mini(6,1)/(6,2), iMac(13,2), MacPro(5,1)
With2. asus P8H77-v, ivy i5(3550), GTX560Ti
 
Thanks for that. I missed that it was noted in post 1. Sleep works great also without the darkwake entry in my boot args, something I had to use since I got this card. This build is getting more and more close to perfect. I keep unticking boot args and I have almost none left to untick apart from kernel, Lan and ssdt. Next on the menu is try the onboard, I have fixed the hd2500 with the help of another member here but since I replaced my graphics card I have not tried it yet.

Again, thanks to everyone involved and keep up the good work :)
 
Hi Toleda and all,

I'm working on a new rig and I got 10.8.4 working on a GA Z77X-UP5-TH (bios F11) with HD4000 only. So far I've made a DSDT clean install with the last MB (I can post the setting if needed) and everything is working like a charm: bt, dvd-rom, firewire, usb2, usb3, esata, audio (analog output ports), airplay, iMessage. Didn't try tb ports because I don't own any device. I have only 2 power states though.

But sleep is not working! :thumbdown: WOL is disabled in both bios and osx but the machine goes to sleep and wakes up immediately. Darkwave is =0 at the moment, but I tried various values without any success. :(

So I tried your way with a patched and compiled DSDT and SSDT; I used MaciASL as per suggestions and produced the DSDT and SSDT (the latter via script). I installed them in Extra, rebuild cache and permissions and reboot. I used Chamaleon Wizard to make the appropriate changes too.

From that moment the system doesn't boot anymore, even in safe mode. The only way is dsdt=null and -x ... :banghead:

What's wrong with my dsdt and ssdt?! why does the machine hangs that way?:eek::eek:
Any hint or help will be appreciated!:) thank you!
 

Attachments

  • ssdt.zip
    2.5 KB · Views: 101
  • acpi_dsdt.bin.zip
    14.9 KB · Views: 91
Thanks for this fantastic thread and, in particular, your patience, Toleda. Much appreciated.

After some fiddling I now got power management working as far as I think it's possible. In the hope that I can give something back to this discussion here are some gotchas that I ran into, plus the solutions. Most of the solutions can be found in or deduced from other messages in this thread, but maybe this summary helps someone.

- If you have a discrete graphics card and you want your graphics card to drive your primary/only screen then you cannot use the Mac mini system definitions. The reason is that you cannot turn on the internal graphics (Intel HD4000) in this case because if you turn it on, then it must be the the one that drives the primary display. And if you don't turn on internal graphics then OS X misbehaves with a Mac mini system definition (e.g. failing Youtube video playback in Safari/Firefox), most likely because real Mac minis only have internal graphics.

- If you want playback of Apple DRM video content in iTunes, then you probably have to have the HD4000 enabled. Video playback of content with Apple DRM definitely does not work in my setup where I have the HD4000 disabled.

- If you use the iMac13,1 or 13,2 definition then (as of OS X 10.8.4) you will only be able to get two P-States, 16 and whatever the max is. (In my case that's 42 because I have an i7 3770K that I overclocked to 4.2GHz by setting the multiplier to 42 in the BIOS. I also gave 4200 as an argument to PikeRAlpha's script with which I generated the SSDT.aml file.) Now, this is not ideal, but if you can't use a Mac mini for the reasons stated above (graphics card and one screen), then that's what I believe you have to settle for. By the way, going back to Sandy Bridge land doesn't help either, with iMac12,2, which is the Sandy Bridge iMac, it's the same problem: only two P-States.

- If you're on a Gigabyte board chances are you haven't got a DSDT. If you haven't got a DSDT the name for the discrete graphics card (on a Gigabyte board) is PEG0. Unfortunately, OS X expects it to be called GFX0. In this case you have two options: 1) Create a custom DSDT in which you rename the graphics card to GFX0. This is better but also more involved. 2) If you're lazy like me you can simply find the section for your board in the Info.plist in AppleGraphicPowerManagement.kext and clone the GFX0 section changing the key to PEG0. The downside is that you have to redo this if Apple updates the kext. If you don't know what I mean by "clone" look at my attached plist file; lines 757-766 are the cloned copy of lines 747-756. You can also see that this is in the section for Mac-FC02E91DDD3FA6A4, which happens to be the board ID for iMac13,2 (as per post #1 for example).

- If you have an NVidia 6xx desktop card, then you have a card that Apple doesn't put into their iMacs. They use the mobile cards in the iMacs. So when the Apple graphics power management (AGPM) tries to look up your card (by vendor and device id) it doesn't find it and complains with the "AGPM unknown platform" warning. To fix this, you have to modify the Info.plist in AppleGraphicPowerManagement.kext. (Now you see why I was okay with being lazy to fix the PEG0 issue here, you have to touch the file anyway.) Basically, you have to find a card that's similar to yours (post #499 in this thread helps). Then you clone the section for that card and change the device id to the one of your card. You can find the device id for your card in the System Information.app, the vendor id is always 10de for NVidia. See previous point about cloning sections. In the attached Info.plist you can see that in lines 1045-1122 I have cloned the definition for the key Vendor10deDevice11a3 with a new key Vendor10deDevice1189 for my GTX670, which has vendor 10de (NVidia) and device id 1189.

- After you edit the Info.plist file in the Content directory of AppleGraphicPowerManagement.kext (often just called AGPM here), make sure that you rebuild your kernal cache before you reboot. There are several tools for this but if you're comfortable in Terminal you can just do "touch /System/Library/Extensions/" and wait until you see the corresponding messages in system.log. If you forget to rebuild the cache, you can make changes and think they're not working when, in fact, the system isn't even using them yet because it hasn't rebuilt the cache.

Like I said, no new facts in this post, but maybe some clarifications. Good luck!
 

Attachments

  • Info.plist.zip
    4.5 KB · Views: 171
Status
Not open for further replies.
Back
Top