Jump to content

GA-EX58 and GA-X58A DSDT native power management modifications


d00d
 Share

1,771 posts in this topic

Recommended Posts

Providing you have 12 definitions for the CPU I think you should be ok.

Inject C+P states through chameleon or create your own SSDT either within the DSDT or as a separate SSDT.aml if chameleon isn't getting it right.

Will be interesting to hear how it goes as I'm considering doing the same.

 

CMOS reset is indeed fixed by patching AppleRTC but the patch is different from in Lion as there is no 32 bit anymore.

The new patch is:

sudo perl -pi -e 's|\x75\x30\x89\xd8|\xeb\x30\x89\xd8|' ~/Desktop/AppleRTC.kext/Contents/MacOS/AppleRTC

Link to comment
Share on other sites

JamesLittler,

 

I do indeed have 12 definitions for the CPU (all cores are recognized). Everything worked with original DSDT on first reboot (was expecting more issues than that).

 

Concerning the C+P states, I will modify my com.chameleon.boot.plist and give it a shot. I'm using a recent built of Chimera at the moment (I'm assuming that Chameleon and Chimera are both able to generate the C and P states). How do I test to see if everything works as it should? I remember fiddling with those in the past but I never noticed any difference. Any app I can use to check if C+P states are working? Anything I should look for in the logs?

 

For the CMOS reset, google pointed me to the right patch. Didn't have a chance to try it yet.

 

Concerning the upgrade: the 990x (or other 6-core i7 of this generation) are starting to get a little harder to get here. I got a good rebate on mine. I felt it was a good way to extend the life of my hackintosh (I'll pop in a new video card --currently running a GTX285-- soon and it should be good as new). Geekbench score went up by about 4000 compared to my 920 (no overclock). The 990x also seems to run much cooler than my 920 with the same heat sink (think I messed up the thermal paste application on my 920 as it was running hotter than it was supposed to). The highest temp I could reach (with the limited amount of testing I did) with all cores under full load on the 990x was 42 dec. C.... This looks quite promising to me!

 

Colddiver

Link to comment
Share on other sites

Anyone have a solution for this?

 

I can't update my machine to 10.8 with a 10.8 USB boot drive because the disks in the machine are a RAID.

 

After booting with the USB boot drive and selecting the drive to install on, the following is seen;

Some features of OS X Mountain Lion are not supported for the disk “mac05”.

Features such as FileVault and Recovery Mode won't be available if you install Mountain Lion on this disk. To learn more, click More Info.

To continue with the installation, click Continue.

 

Packages are copied to the RAID's `/OS X Install Data' directory.

 

It probably tries to write something to the EFI in order to reboot and do a final install, but it fails because there's no Apple EFI.

 

The /System/Library/Caches/com.apple.kext.caches/Startup/kernelcache is updated with 10.8 extensions, but this causes a hang during the RAID boot at `BootCacheControl : Unable to open /var/db/BootCache.playlist: 2 No such file or directory' because /System/Library/Extensions are still at 10.7.4.

 

Booting from the USB boot drive, or possibly booting the RAID with -s, and doing `touch /Volumes/mac05/System/Library/Extensions' rebuilds the kernelcache with 10.7.4 extensions and allows the machine to boot.

Link to comment
Share on other sites

Anyone have a solution for this?

 

I can't update my machine to 10.8 with a 10.8 USB boot drive because the disks in the machine are a RAID.

 

After booting with the USB boot drive and selecting the drive to install on, the following is seen;

Some features of OS X Mountain Lion are not supported for the disk “mac05”.

Features such as FileVault and Recovery Mode won't be available if you install Mountain Lion on this disk. To learn more, click More Info.

To continue with the installation, click Continue.

 

If you don't have a recovery partition on your hard drive, the installer attempts to create one. It does that by slightly shrinking the partition you're about to install OS X on, so it can create a small recovery partition. What the "some features are not supported" message really means is that the installer detected that you have a non-standard partition organization, and it's not willing to modify it in order to add a recovery partition. I'm not sure what the connection is with File Vault, but if you continue you should get an otherwise normal installation of 10.8. I don't think that message has anything to do with 10.8 not booting for you.

 

Packages are copied to the RAID's `/OS X Install Data' directory.

 

It probably tries to write something to the EFI in order to reboot and do a final install, but it fails because there's no Apple EFI.

 

The /System/Library/Caches/com.apple.kext.caches/Startup/kernelcache is updated with 10.8 extensions, but this causes a hang during the RAID boot at `BootCacheControl : Unable to open /var/db/BootCache.playlist: 2 No such file or directory' because /System/Library/Extensions are still at 10.7.4.

 

Booting from the USB boot drive, or possibly booting the RAID with -s, and doing `touch /Volumes/mac05/System/Library/Extensions' rebuilds the kernelcache with 10.7.4 extensions and allows the machine to boot.

 

Maybe you already know this, but booting from RAID is more complex than normal booting. Each RAID partition (even ones without OS X) has an adjacent 128MiB Apple_Boot partition associated with it, and the initial booting uses files on the boot partition. I believe the boot partition has enough of OS X to get RAID support loaded, so that the main partition can then be booted. I'm surprised the installer didn't just update everything correctly, but if that's new information for you, maybe it will help you figure it out.

Link to comment
Share on other sites

All right... I started doing my homework but there is a lot to learn about this power management stuff... Looks like the DSTD I am using has some definitions for C+P states. It also looks like it is missing some alias on CPU7, 8, 9 and A. All I have there is this:

 

 

Processor (CPU7, 0x0C, 0x00000410, 0x06)
       {
       }

 

Whereas for the others, I have this:

 

Processor (CPU6, 0x06, 0x00000410, 0x06)
       {
           Alias (^CPU0._CST, _CST)
           Alias (^CPU0._PCT, _PCT)
           Alias (^CPU0._PSS, _PSS)
           Alias (^CPU0._PPC, _PPC)
       }

 

I will be adding the alias and do some testing to see what happens.

 

I looked for information on ssdt files and found some stuff (only for Sandy Bridge CPUs though). I also attempted to gather some info about what is happening on my system by using tools like MSRDumper.kext (which didn't output any info on my p-states so I'm assuming it does not work with my config) and mark-i (which actually worked).

 

I also tried letting Chameleon generate the C+P states but that caused the booting process to fail (froze with ITEIT87x: found ITE IT8720F - nothing else came after that even after a long wait). I'm assuming that I can't have C+P states defined in my dsdt.aml while also asking Chameleon to generate them... Will have to do some additional testing to confirm this... I got the same boot failure when I attempted to use an ssdt.aml file (assuming again that C+P states can't be defined in both dsdt + ssdt).

 

Looks like I have much more to learn to optimize this build!

 

Colddiver

Link to comment
Share on other sites

Humm... My boot problem was caused by the patched AppleRTC.kext not making it into the boot cache (somehow, permissions got messed up when I patched it).

 

I added modified my com.chameleon.boot.plist to have the bootloader generate the P+C states. I tested with mark-i and I could see the CPU going from 12 to 21. I then tried a few minor overclocks but nothing I did appeared to have any real impact on Geekbench scores (then remained at around 13200). Somehow, I would have expected the Geekbench score to change in a noticeable manner when overclocking. I must be doing something wrong...

 

Colddiver

Link to comment
Share on other sites

If you don't have a recovery partition on your hard drive, the installer attempts to create one. It does that by slightly shrinking the partition you're about to install OS X on, so it can create a small recovery partition. What the "some features are not supported" message really means is that the installer detected that you have a non-standard partition organization, and it's not willing to modify it in order to add a recovery partition. I'm not sure what the connection is with File Vault, but if you continue you should get an otherwise normal installation of 10.8. I don't think that message has anything to do with 10.8 not booting for you.

 

 

 

Maybe you already know this, but booting from RAID is more complex than normal booting. Each RAID partition (even ones without OS X) has an adjacent 128MiB Apple_Boot partition associated with it, and the initial booting uses files on the boot partition. I believe the boot partition has enough of OS X to get RAID support loaded, so that the main partition can then be booted. I'm surprised the installer didn't just update everything correctly, but if that's new information for you, maybe it will help you figure it out.

Thanks, but even after breaking the RAID and restoring the OS to a non RAID volume, running the ML installer fails.

I've tried running it from a 10.8 USB boot drive too, but in all cases it copies files to a /OS\ X\ Install\ Data directory and reboots, but doesn't complete the install.

Booting into the 10.8 USB boot drive doesn't bring up an installer, it just gives a option box to reinstall the OS, restore from Time Machine, or run Disk Utility.

Selecting the reinstall just copies file to the directory I mentioned.

I'm assuming, like all previous major upgrades, that only Apple hardware can set the correct volume to reboot to.

Here's the contents of /OS\ X\ Install\ Data/com.apple.Boot.plist;

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">

<dict>

<key>Kernel Cache</key>

<string>/OS X Install Data/kernelcache</string>

<key>Kernel Flags</key>

<string>container-dmg=file:///OS%20X%20Install%20Data/InstallESD.dmg root-dmg=file:///BaseSystem.dmg</string>

</dict>

</plist>

 

Has anyone upgraded (not a fresh install) from 10.7.x to 10.8?

If so, was a successful reboot initiated by the installer to complete the install, or was it done in one shot?

Link to comment
Share on other sites

Thanks, but even after breaking the RAID and restoring the OS to a non RAID volume, running the ML installer fails.

I've tried running it from a 10.8 USB boot drive too, but in all cases it copies files to a /OS\ X\ Install\ Data directory and reboots, but doesn't complete the install.

I'm assuming, like all previous major upgrades, that only Apple hardware can set the correct volume to reboot to.

Here's the contents of /OS\ X\ Install\ Data/com.apple.Boot.plist;

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">

<dict>

<key>Kernel Cache</key>

<string>/OS X Install Data/kernelcache</string>

<key>Kernel Flags</key>

<string>container-dmg=file:///OS%20X%20Install%20Data/InstallESD.dmg root-dmg=file:///BaseSystem.dmg</string>

</dict>

</plist>

 

Has anyone upgraded (not a fresh install) from 10.7.x to 10.8?

If so, was a successful reboot initiated by the installer to complete the install, or was it done in one shot?

 

When you say "the installer", do you mean running the "Install OS X Mountain Lion" app, or running a regular installer as in OS X before Lion? I don't know how to get the Install app to work on a hackintosh. However, the app contains a disk image which can be used to make a regular, old-style install disc or USB stick. The disc image is InstallESD.dmg in ".../Install OS X Mountain Lion.app/Contents/SharedSupport". I wrote these note to myself for making a bootable USB stick:


Installer app has InstallESD.dmg in SharedSupport.
Mount ESD image- has BaseSystem.dmg at root.
USB installer volume starts with BaseSystem.dmg contents.
In System/Installation replace Packages alias with packages from ESD image.
Also, copy mach_kernel from ESD image to root.

Then of course you have to add a minimal set of kexts so OS X can boot on your machine. You can tell Chameleon to not use the kernel cache, and it will read all the extensions at boot time, so you won't have to rebuild the cache until Mountain Lion can do it.

Link to comment
Share on other sites

When you say "the installer", do you mean running the "Install OS X Mountain Lion" app, or running a regular installer as in OS X before Lion? I don't know how to get the Install app to work on a hackintosh. However, the app contains a disk image which can be used to make a regular, old-style install disc or USB stick. The disc image is InstallESD.dmg in ".../Install OS X Mountain Lion.app/Contents/SharedSupport". I wrote these note to myself for making a bootable USB stick:


Installer app has InstallESD.dmg in SharedSupport.
Mount ESD image- has BaseSystem.dmg at root.
USB installer volume starts with BaseSystem.dmg.
In System/Installation replace Packages alias with packages from ESD image.
Also, copy mach_kernel from ESD image to root.

Then of course you have to add a minimal set of kexts so OS X can boot on your machine. You can tell Chameleon to not use the kernel cache, and it will read all the extensions at boot time, so you won't have to rebuild the cache until Mountain Lion can do it.

Yes, I followed that procedure to create the USB boot drive.

However, the last two steps were not needed, as the Disk Utility restore process created a real populated Packages directory (not an alias) and put mach_kernel there as well.

I assumed those steps were from DP# instructions.

Link to comment
Share on other sites

Yes, I followed that procedure to create the USB boot drive.

However, the last two steps were not needed, as the Disk Utility restore process created a real populated Packages directory (not an alias) and put mach_kernel there as well.

I assumed those steps were from DP# instructions.

 

I think there must be some problem with how you created the USB boot drive. I hadn't tried for the Mountain Lion GM before, but I tried it tonight. I did have to replace the Packages alias with the Packages directory, and I also had to copy mach_kernel. I don't have time now to do a complete installation, but I did run the installer until it got to the screen that says "Select the disk where you want to install OS X". I'm pretty sure it would continue on to do a normal installation. What happened when you booted sounds like what happens when you boot from a recovery partition.

Link to comment
Share on other sites

I think there must be some problem with how you created the USB boot drive. I hadn't tried for the Mountain Lion GM before, but I tried it tonight. I did have to replace the Packages alias with the Packages directory, and I also had to copy mach_kernel. I don't have time now to do a complete installation, but I did run the installer until it got to the screen that says "Select the disk where you want to install OS X". I'm pretty sure it would continue on to do a normal installation. What happened when you booted sounds like what happens when you boot from a recovery partition.
Yes, of course.

 

I was following these instructions;

The all-in-one guide to Vanilla OS X Mountain Lion + Chameleon + DSDT for beginners.:

http://www.insanelymac.com/forum/index.php?showtopic=280756&st=0

 

Instead of doing 3 and restoring;

3. Mount BaseSystem.dmg by typing the following in terminal:

open /Volumes/Mac\ OS\ X\ Install\ ESD/BaseSystem.dmg

 

...I was mistakenly restoring the following instead;

2. Mount your Mountain Lion DMG. If using a copy downloaded from the app store: Navigate to Applications (which is where it will save your downloaded copy of ML by default) -> right click "Install OS X Mountain Lion" and click "Show Package Contents" -> Contents -> SharedSupport -> Double click "InstallESD.dmg"

 

My machine has been successfully upgraded with the USB boot drive, thanks!

Link to comment
Share on other sites

Vanilla version from ML GM with layout id66 (0x42) in DSDT

It defaults to headphones so make sure you select Line Out in Sys Prefs

Thanks, I updated post 1, item 14.

For some reason the codebox tags are no longer used here?

When I use codebox it adds a blank line between each line of code, and when I use the code tags it doesn't create a scrolling box of course.

 

James Litter -for 10.7.4 you could take the appleHDA.kext i posted above #1345 for 10.7.3 and just replace info.plist in /AppleHDA.kext/Contents/PlugIns/AppleHDAHardwareConfigDriver.kext/Contents/

and layout12.xml and Platforms.xml in /AppleHDA.kext/Contents/Resources/.

 

The kext uses layoutid 12.

 

Repair Permissions and delete caches in Terminal:

 

sudo chown -R root:wheel /System/Library/Extensions/AppleHDA.kext

sudo chmod -R 755 /System/Library/Extensions/AppleHDA.kext

sudo rm -rf /System/Library/Caches/com.apple.kext.caches/*

 

Reboot and enjoy Sound

Does this procedure still work in 10.8.0?
Link to comment
Share on other sites

Yes but you need an 885 helper kext and a patched AppleHDA.

Using layout id12 you get the following:

Internal speakers

Line in

Line in

 

Internal speakers are line-out.

 

It seems layoutid12 is no longer the best one to use for 885?

Link to comment
Share on other sites

My sound seems to be working over optical with a vanilla AppleHDA 2.3.0 plus ALC885_889a helper kext and DSDT with layout ID 12. Previously I've had to patch AppleHDA but seems to work with the vanilla kext in 10.8.0. Haven't tested analogue but I do have a Line Out listed under the outputs in the Sound pref pane.

Link to comment
Share on other sites

Thanks all, I'm going to change to layoutid 66 for ALC889 audio option A in my DSDT.

It looks like layoutid 12 will still work for ALC889 audio option E, but I personally don't have the time to test and adapt with each point release of the OS.

Link to comment
Share on other sites

Thanks all, I'm going to change to layoutid 66 for ALC889 audio option A in my DSDT.

It looks like layoutid 12 will still work for ALC889 audio option E, but I personally don't have the time to test and adapt with each point release of the OS.

My GA-EX58-UD5 isn't my primary computer anymore, I needed to get a laptop for business, so I haven't been paying much attention to sound.

I just checked, and with an unmodified 10.8 AppleHDA.kext, LegacyHDA.kext from http://www.insanelymac.com/forum/index.php?showtopic=196771&st=510 (14D), and a DSDT with layoutid 12 (hexidecimal 0x0C), I'm getting sound from the black out.

Link to comment
Share on other sites

1. For Mountain Lion you could use the following files to properly fix alc889a using layoutid 12

a. attached legacy889a.kext for injecting info.plist of AppleHardwareConfigDriver.kext install in E/E or S/L/E

b. layout12.xml.zlib and platforms.xml.zlib - these 2 files need to be replaced in /System/Library/Extensions/AppleHDA.kext/Contents/Resources

 

2. If you are using Lion you need to replace in teh saem folder the uncompressed Layout12.xml and Platforms.xml which are also attached

 

3. I attach Revogirls script for compressing and uncompressing the zlib files for users of other codecs. Usage of the zlib.pl script:

 

(copy the zlib.pl script into the folder where teh file you want to modify is and then cd to that folder (in terminal type cd and drag the folder into the terminal window and press Enter)

 

a. inflate (decompress) a file with (examples:

 

perl zlib.pl inflate layout12.xml.zlib > layout12.xml

 

b. deflate (compress) a file with:

 

perl zlib.pl deflate layout12.xml > layout12.xml.zlib

 

 

4. !!!! Nvidia Injection with dsdt or efi string in Mountain Lion needs a small correction. Ohterwise you will get a black screen. In your dsdt or info.plist search for NVDA, GeForce and replace it with NVDA, Parent

ALC889a_Files.zip

ALC889a_Files.zip

zlib.pl.zip

Link to comment
Share on other sites

I found one of the DSDT d00d provided is on layout 12, so, if you want to use more than 1 output jack you could get the file from the post below. the only modification to vanilla AppleHDA is the layout and platform xml

 

http://www.insanelym...dpost&p=1834555

  • Copy Platforms.xml.zlib and layout12.xml.zlib to /System/Library/Extensions/AppleHDA.kext/Contents/Resources/
  • Copy ALC885HDA.kext to /System/Library/Extensions
  • Edit DSDT as described in the readme this is not required because we already use layout 12
  • touch /System/Library/Extensions
  • reboot

I had tried this and it is working, the green audio jack is listed as internal speaker in System Preferences. This is good for dual boot as in Windows the green jack is the primary output.

Link to comment
Share on other sites

Just to add, the Graphics modifications in post 1 item 22 including setting the nvidia card fan speed on boot and sleep work fine for me in Mountain Lion.

I have now moved to setting my machine type to be MacPro5,1 and again the same DSDT works fine for me, cpu management speedstep etc.

 

Jon

Link to comment
Share on other sites

  • 1 month later...
 Share

×
×
  • Create New...