All kext files should be installed to System/Library/Extensions. On Lion, we no longer use Extra/Extension. Only DSDT, smbios.plist, org.chameleon.Boot and Chameleon theme should be in Extra folder.
Please do not mix files and fixes with other method you use.
Apple Graphic Power Management:
This is for 9600M GT. It will provide a better GPU power management. Animations should be smoother now. This is for 10.7.3.
AppleGraphicsPowerManagement.kext.zip 67.98K
219 downloads
DSDT Files:
The following file includes specific fix for 9600M GT and is the one I am using right now. If you have Geforce130M and then you have to apply the fix I've shared below instead of 9600M GT. The rest of the fixes in this DSDT should apply to all HDX users.
27_Sep_DSDT.aml.zip 13.32K
508 downloads
org.chameleon.Boot
This is the current content of org.chameleon.Boot
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com...yList-1.0.dtd">
<plist version="1.0">
<dict>
<key>DSDT</key>
<string>/Extra/dsdt.aml</string>
<key>Default Partition</key>
<string>hd(0,2)</string>
<key>EnableC2State</key>
<string>Yes</string>
<key>EnableC3State</key>
<string>Yes</string>
<key>EnableC4State</key>
<string>Yes</string>
<key>EthernetBuiltIn</key>
<string>Yes</string>
<key>GenerateCStates</key>
<string>Yes</string>
<key>GeneratePStates</key>
<string>Yes</string>
<key>Graphics Mode</key>
<string>1280x1024x32</string>
<key>Kernel</key>
<string>/mach_kernel</string>
<key>Kernel Flags</key>
<string>npci=0x2000</string>
<key>SMBIOS</key>
<string>/Extra/smbios.plist</string>
<key>SystemType</key>
<string>2</string>
<key>Theme</key>
<string>LoginToLion</string>
<key>Timeout</key>
<string>2</string>
<key>USBBusFix</key>
<string>Yes</string>
<key>UseKernelCache</key>
<string>Yes</string>
</dict>
</plist>
Mac Model - SMbios.plist
So far, MacBookPro5,5 seems to be the most compatible mac model I've tried. Change SMmaximalclock according to your CPU.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com...yList-1.0.dtd">
<plist version="1.0">
<dict>
<key>SMbiosdate</key>
<string>06/15/09</string>
<key>SMbiosvendor</key>
<string>Apple Computer, Inc.</string>
<key>SMbiosversion</key>
<string>MBP55.88Z.00AC.B03.0906151708</string>
<key>SMboardmanufacturer</key>
<string>Apple Computer, Inc.</string>
<key>SMboardproduct</key>
<string>Mac-F2268AC8</string>
<key>SMboardversion</key>
<string>Not Specified</string>
<key>SMexternalclock</key>
<string>266</string>
<key>SMfamily</key>
<string>MacBookPro</string>
<key>SMmanufacturer</key>
<string>Apple Inc.</string>
<key>SMmaximalclock</key>
<string>2261</string>
<key>SMmemmanufacturer</key>
<string>Apple Computer Inc.</string>
<key>SMmemspeed</key>
<string>800</string>
<key>SMmemtype</key>
<string>19</string>
<key>SMproductname</key>
<string>MacBookPro5,5</string>
<key>SMserial</key>
<string>W8923YDH66D</string>
<key>SMsystemversion</key>
<string>1.0</string>
</dict>
</plist>
FakeSMC
I use standard FakeSMC which doesn't have plugins support.
Fakesmc.kext.zip 32.62K
232 downloads
Graphic Card - 9600M GT
The following code goes right before Device (CRT). I've already shared a DSDT file with this code being applied to.
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x5A)
{
"@0,AAPL,boot-display",
Buffer (Zero) {},
"@0,backlight-control",
Buffer (0x04)
{
0x01, 0x00, 0x00, 0x00
},
"@0,pwm-info",
Buffer (0x14)
{
/* 0000 */ 0x01, 0x14, 0x00, 0x64, 0xA8, 0x61, 0x00, 0x00,
/* 0008 */ 0x1E, 0x02, 0x00, 0x00, 0x2C, 0x00, 0x00, 0x00,
/* 0010 */ 0x00, 0x04, 0x00, 0x00
},
"AAPL,backlight-control",
Buffer (0x04)
{
0x01, 0x00, 0x00, 0x00
},
"AAPL,aux-power-connected",
Buffer (0x04)
{
0x01, 0x00, 0x00, 0x00
},
"@0,built-in",
Buffer (Zero) {},
"@0,compatible",
Buffer (0x0B)
{
"NVDA,NVMac"
},
"@0,device_type",
Buffer (0x08)
{
"display"
},
"@0,connector-type",
Buffer (0x04)
{
0x02, 0x00, 0x00, 0x00
},
"@0,display-cfg",
Buffer (0x04)
{
0x03, 0x01, 0x03, 0x00
},
"@0,fboffset",
Buffer (0x04)
{
0x00, 0x00, 0x01, 0x00
},
"@0,name",
Buffer (0x0F)
{
"NVDA,Display-A"
},
"@0,use-backlight-blanking",
Buffer (Zero) {},
"@1,can-hot-plug",
Buffer (Zero) {},
"@1,compatible",
Buffer (0x0B)
{
"NVDA,NVMac"
},
"@1,device_type",
Buffer (0x08)
{
"display"
},
"@1,connector-type",
Buffer (0x04)
{
0x00, 0x08, 0x00, 0x00
},
"@1,display-cfg",
Buffer (0x04)
{
0xFF, 0xFF, 0x08, 0x01
},
"@1,name",
Buffer (0x0F)
{
"NVDA,Display-B"
},
"NVCAP",
Buffer (0x14)
{
/* 0000 */ 0x05, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
/* 0008 */ 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0B,
/* 0010 */ 0x00, 0x00, 0x00, 0x00
},
"NVPM",
Buffer (0x1C)
{
/* 0000 */ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0018 */ 0x00, 0x00, 0x00, 0x00
},
"NVDA,Features",
Buffer (0x04)
{
0xFF, 0x06, 0xB9, 0x00
},
"VRAM,totalsize",
Buffer (0x04)
{
0x00, 0x00, 0x00, 0x20
},
"device_type",
Buffer (0x0D)
{
"NVDA,GeForce"
},
"model",
Buffer (0x18)
{
"nVidia GeForce 9600M GT"
},
"rom-revision",
Buffer (0x26)
{
"nVidia GeForce 9600M GT OpenGL Engine"
},
"AAPL00,DataJustify",
Buffer (0x04)
{
0x01, 0x00, 0x00, 0x00
},
"AAPL00,Dither",
Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00
},
"AAPL00,DualLink",
Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00
},
"AAPL00,Inverter",
Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00
},
"AAPL00,InverterCurrent",
Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00
},
"AAPL00,InverterFrequency",
Buffer (0x04)
{
0x08, 0x52, 0x00, 0x00
},
"AAPL00,LinkFormat",
Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00
},
"AAPL00,LinkType",
Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00
},
"AAPL00,PixelFormat",
Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00
},
"AAPL00,T1",
Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00
},
"AAPL00,T2",
Buffer (0x04)
{
0x01, 0x00, 0x00, 0x00
},
"AAPL00,T3",
Buffer (0x04)
{
0xC8, 0x00, 0x00, 0x00
},
"AAPL00,T4",
Buffer (0x04)
{
0xC8, 0x00, 0x00, 0x00
},
"AAPL00,T5",
Buffer (0x04)
{
0x01, 0x00, 0x00, 0x00
},
"AAPL00,T6",
Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00
},
"AAPL00,T7",
Buffer (0x04)
{
0x90, 0x01, 0x00, 0x00
},
"AAPL00,blackscreen-preferences",
Buffer (0x04)
{
0x00, 0x00, 0x00, 0x08
},
"@0,EDID",
Buffer (0x80)
{
/* 0000 */ 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
/* 0008 */ 0x4C, 0xA3, 0x4D, 0x31, 0x00, 0x00, 0x00, 0x00,
/* 0010 */ 0x00, 0x12, 0x01, 0x03, 0x80, 0x23, 0x14, 0x78,
/* 0018 */ 0x0A, 0x87, 0xF5, 0x94, 0x57, 0x4F, 0x8C, 0x27,
/* 0020 */ 0x27, 0x50, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01,
/* 0028 */ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
/* 0030 */ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x1D, 0x36,
/* 0038 */ 0x80, 0xA0, 0x70, 0x38, 0x1E, 0x40, 0x30, 0x20,
/* 0040 */ 0x25, 0x00, 0x61, 0xC6, 0x10, 0x00, 0x00, 0x19,
/* 0048 */ 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00,
/* 0050 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x91, 0x02,
/* 0058 */ 0x64, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x53,
/* 0060 */ 0x41, 0x4D, 0x53, 0x55, 0x4E, 0x47, 0x0A, 0x20,
/* 0068 */ 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xFE,
/* 0070 */ 0x00, 0x31, 0x36, 0x30, 0x48, 0x54, 0x30, 0x33,
/* 0078 */ 0x2D, 0x30, 0x30, 0x31, 0x0A, 0x20, 0x00, 0x60
},
"reg",
Buffer (0x78)
{
/* 0000 */ 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x01, 0x02,
/* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0020 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
/* 0028 */ 0x14, 0x00, 0x01, 0x42, 0x00, 0x00, 0x00, 0x00,
/* 0030 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0038 */ 0x00, 0x00, 0x00, 0x10, 0x1C, 0x00, 0x01, 0x02,
/* 0040 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0048 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
/* 0050 */ 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
/* 0058 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0060 */ 0x80, 0x00, 0x00, 0x00, 0x30, 0x00, 0x01, 0x02,
/* 0068 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0070 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
If you have a GeForce 130M, then apply the following code. Credit goes to
hdx18.
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x32)
{
"@0,AAPL,boot-display",
Buffer (Zero) {},
"@0,backlight-control",
Buffer (0x04)
{
0x01, 0x00, 0x00, 0x00
},
"@0,pwm-info",
Buffer (0x14)
{
/* 0000 */ 0x01, 0x14, 0x00, 0x64, 0xA8, 0x61, 0x00, 0x00,
/* 0008 */ 0x08, 0x52, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
/* 0010 */ 0x00, 0x04, 0x00, 0x00
},
"AAPL,backlight-control",
Buffer (0x04)
{
0x01, 0x00, 0x00, 0x00
},
"AAPL,aux-power-connected",
Buffer (0x04)
{
0x01, 0x00, 0x00, 0x00
},
"@0,built-in",
Buffer (Zero) {},
"@0,compatible",
Buffer (0x0B)
{
"NVDA,NVMac"
},
"@0,device_type",
Buffer (0x08)
{
"display"
},
"@0,name",
Buffer (0x0F)
{
"NVDA,Display-A"
},
"@0,use-backlight-blanking",
Buffer (Zero) {},
"@1,can-hot-plug",
Buffer (Zero) {},
"@1,compatible",
Buffer (0x0B)
{
"NVDA,NVMac"
},
"@1,device_type",
Buffer (0x08)
{
"display"
},
"@1,name",
Buffer (0x0F)
{
"NVDA,Display-B"
},
"NVCAP",
Buffer (0x14)
{
/* 0000 */ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
/* 0008 */ 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A,
/* 0010 */ 0x00, 0x00, 0x00, 0x00
},
"NVPM",
Buffer (0x1C)
{
/* 0000 */ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0018 */ 0x00, 0x00, 0x00, 0x00
},
"VRAM,totalsize",
Buffer (0x04)
{
0x00, 0x00, 0x00, 0x40
},
"device_type",
Buffer (0x0D)
{
"NVDA,GeForce"
},
"model",
Buffer (0x17)
{
"nVidia GeForce GT 130M"
},
"rom-revision",
Buffer (0x26)
{
"nVidia GeForce GT 130M OpenGL Engine"
},
"AAPL,HasPanel",
Buffer (0x04)
{
0x01, 0x00, 0x00, 0x00
},
"AAPL01,DualLink",
Buffer (0x04)
{
0x01, 0x00, 0x00, 0x00
},
"@0,EDID",
Buffer (0x80)
{
/* 0000 */ 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
/* 0008 */ 0x4C, 0xA3, 0x4D, 0x31, 0x00, 0x00, 0x00, 0x00,
/* 0010 */ 0x00, 0x12, 0x01, 0x03, 0x80, 0x23, 0x14, 0x78,
/* 0018 */ 0x0A, 0x87, 0xF5, 0x94, 0x57, 0x4F, 0x8C, 0x27,
/* 0020 */ 0x27, 0x50, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01,
/* 0028 */ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
/* 0030 */ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x1D, 0x36,
/* 0038 */ 0x80, 0xA0, 0x70, 0x38, 0x1E, 0x40, 0x30, 0x20,
/* 0040 */ 0x25, 0x00, 0x61, 0xC6, 0x10, 0x00, 0x00, 0x19,
/* 0048 */ 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00,
/* 0050 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x91, 0x02,
/* 0058 */ 0x64, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x53,
/* 0060 */ 0x41, 0x4D, 0x53, 0x55, 0x4E, 0x47, 0x0A, 0x20,
/* 0068 */ 0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xFE,
/* 0070 */ 0x00, 0x31, 0x36, 0x30, 0x48, 0x54, 0x30, 0x33,
/* 0078 */ 0x2D, 0x30, 0x30, 0x31, 0x0A, 0x20, 0x00, 0x60
},
"AAPL,slot-name",
Buffer (0x0F)
{
"PCI Slot@1,0,0"
},
"reg",
Buffer (0x78)
{
/* 0000 */ 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x01, 0x02,
/* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0020 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
/* 0028 */ 0x14, 0x00, 0x01, 0x42, 0x00, 0x00, 0x00, 0x00,
/* 0030 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0038 */ 0x00, 0x00, 0x00, 0x10, 0x1C, 0x00, 0x01, 0x02,
/* 0040 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0048 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
/* 0050 */ 0x24, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
/* 0058 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0060 */ 0x80, 0x00, 0x00, 0x00, 0x30, 0x00, 0x01, 0x02,
/* 0068 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0070 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
Battery
You have to use the DSDT file I've shared and install the following driver. This is a recent version of the driver. Do not be confused with older versions. Credit goes to
gsly
AppleACPIBatteryManager.kext.zip 39.55K
348 downloads
Brightness
DSDT code is already applied to the DSDT file I shared.
Known issues: Kernel panics during plug/unplug.
GenericBrightness.kext.zip 21.54K
250 downloads
Audio
You have two options for audio: AppleHDA of 10.6.2 or VoodooHDA.
Do not mix the drivers.
1) AppleHDA
Known issues: No audio after sleep.
Solution: Use USB or Bluetooth headset or speakers. Or change sleep mode to hibernate only.
- Add the following device to DSDT file.
Device (HDEF)
{
Name (_ADR, 0x001B0000)
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x0C)
{
"layout-id",
Buffer (0x04)
{
0x0C, 0x00, 0x00, 0x00
},
"MaximumBootBeepVolume",
Buffer (One)
{
0x6B
},
"AFGLowPowerState",
Buffer (0x04)
{
0x03, 0x00, 0x00, 0x00
},
"CodecAddressMask",
Buffer (One)
{
0x01
},
"PinConfigurations",
Buffer (Zero) {},
"platformFamily",
Buffer (One)
{
0x00
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
- Download and install following driver. Future updates might override AppleHDA. to restore the audio, install the driver again.
AppleHDA.kext.zip 1.29MB
333 downloads
2) VoodooHDA
Known issues: Random kernel panics.
- You can see
this and the following post to install VoodooHDA. You can also get HDMI audio working with this method.
Keyboard and Trackpad
These are the best kext combination that I have found.
Known issues Multitouch gestures only works in x64 mode. However, as far as I can tell, installing these drivers to System/Library/Extensions disables multitouch gestures. It might be something to the with the new cache mechanism. This needs further testing.
VoodooPS2Controller.kext.zip 137.81K
318 downloads
AppleACPIPS2Nub.kext.zip 18.94K
276 downloads
During the installation, you will need bluetooth or usb mouse/keyboard. After the installation, open
Bluetooth Preference Pane > Advanced and uncheck :
Screen_Shot_2011_09_27_at_09.46.20.png 44.66K
211 downloads
Ethernet
Install Lnx2Mac's Realtek RTL81xx drivers. Download from his
website.
Wifi
I use "Hp Atheros 9280". This card doesn't require you to have a hacked bios. If you use a different wifi card, then you have to flash your bios with a hack one to remove wifi blacklist. Assuming you use the card I've mentioned, then add the following code under Device EXP1.
Device (ARPT)
{
Name (_ADR, Zero)
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x06)
{
"device-id",
Unicode ("*"),
"subsystem-id",
Buffer (0x04)
{
0x8F, 0x00, 0x00, 0x00
},
"subsystem-vendor-id",
Buffer (0x04)
{
0x6B, 0x10, 0x00, 0x00
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
Edited by JBraddock, 03 February 2012 - 01:26 AM.