Patching DSDT

DSDT/SSDT: Some popular DSDT patches

Here are some popular patches that can be applied on most systems:

Requirements:
– Extract and decompile OEM DSDT
– Fix all errors by MacIASL
– Add RehabMan Laptop patch Repo

To apply one patch, click patch button in MacIASL, select the corresponding patches on the left column then press Apply. You may need to use Compile button to check for errors.

Intel Graphics Patches [2.01] -> [2.07]

Inject ig-platform-id, dual-link, hda-gfx to Intel HD graphics devices in DSDT. After using the patch, you don’t need to use boot flag at boot anymore.

Basic brightness fix [2.09]

Add basic brightness device to system.

Advanced Brightness fix [2.10] -> [2.11]

These are brightness fixes for HD3000/HD4000/HD4400/HD4600, and use with RehabMan’s ACPIBacklight.kext. It fixes the uneven brightness problem of those Intel HD, enable smooth transition, fade effect when turn on/off display.

Before applying those fixes, you have to rename GFX0 device to IGPU.

Rename GFX0 to IGPU [2.12] -> [2.13]

Rename IntelHD device in DSDT from GFX0, VID to standard OS X name: IGPU. It will load AGPM (Apple Graphics Power Management) to enable power management and speedstep for those onboard graphics.

Note that those DSDT patches sometimes can rename wrong external graphics devices and create compile errors. If you have this problem, try to identify Intel HD device in DSDT and rename them manually. GFX0 or VID for Intel HD is usually direct child of PCI device, while external graphics devices is usually grandchild of PCI0.
For example:

USB (EHCI) Patches [3.1] -> [3.4]

Inject apple power information to USB 2.0 and USB 3.0 ports in DSDT, it will help OS X to manage power of those devices, and can fix sleep problems related to USB devices.

IRQ Fix [7.01]

Remove IRQ in some devices to prevent IRQ conflicting, which can cause some devices like FireWire, USB, Audio not working.

SMBUS [7.02]

Name smbus device to SMBUS, fix some warning message.

RTC FIx [7.03]

Reduce the length of RTC device, prevent OS X writing values to device. It can fix CMOS reset problem on sleep, shutdown, restart.

Shutdown Fix v2 [7.05]

Remove all original call statements when you shutdown, it can help some system to shutdown completely.

HPET Fix [7.06]

Ensure all functions in HPET devices to return value successfully, it can help some system which can’t load HPET properly in OS X.

OS Check Fix [7.07]

Some system limit the function of devices if the current booting OS X is old. The fix will make your system think OS X is Windows Vista, and enable some advanced funtions.

AC Adapter Fix [7.08]

Help loading AppleACPIACAdapter to manage AC.

Add MCHC [7.09]

Same as SMBUS patch

Fix _WAK Arg0 v2 [7.11]

Set Arg0 = 3 when calling _WAK function. It can help fixing unstable wake from sleep in OS X.

Fix PNOT/PPNT [7.13]

PNOT/PPNT functions can contains some CPU call in OEM SSDT. If those OEM SSDT tables are dropped by bootloader, it can make those PNOT/PPNT fail, and functions calling PNOT/PPNT fail too. The patch will clear the content of those PNOT/PPNT and help other function operate correctly.

Add IMEI [7.14]

Same as SMBUS patch

Audio Layout 12 [8.1]

Set layout id to Audio device to load patched AppleHDA. You can replace 12 number in the patch to your desired layout id before applying the patch.
For example, default is layout 12

 

If you want to use layout 28:

We will be happy to hear your thoughts

Leave a reply