dimanche 21 février 2010

DSDT Patching : Native Brightness Control

To let OSX handle brightness (better energy efficiency) just add to dsdt this device:

Device (PNLF)
{
Name (_HID, EisaId ("APP0002"))
Name (_CID, "backlight")
Name (_UID, 0x0A)
Name (_STA, 0x0B)
}

Place it before Device (SLPB). After it sees your Display settings...



link

We can no longer use Fn+PgUp / Fn+PgDn to control brightness ... but we can use "Shades"

DSDT Patching : GMA950

For IntelGMA950 just add

Method (_DSM, 4, NotSerialized) /* GMA950 FIX */
{
Store (Package (0x18)
{
"AAPL,slot-name",
Buffer (0x09)
{
"Built in"
},

"AAPL,Haslid",
Buffer (0x04)
{
0x01, 0x00, 0x00, 0x00
},

"AAPL,aux-power-connected",
Buffer (0x04)
{
0x01, 0x00, 0x00, 0x00
},

"AAPL,backlight-control",
Buffer (0x04)
{
0x01, 0x00, 0x00, 0x00
},

"AAPL,BacklightRestore",
Buffer (0x04)
{
0x01, 0x00, 0x00, 0x00
},

"AAPL,HasPanel",
Buffer (0x04)
{
0x01, 0x00, 0x00, 0x00
},

"AAPL01,BacklightIntensity",
Unicode ("N"),
"device_type",
Buffer (0x08)
{
"display"
},

"model",
Buffer (0x07)
{
"GMA950"
},

"built-in",
Buffer (One)
{
0x00
},

"device-id",
Buffer (0x04)
{
0xA2, 0x27, 0x00, 0x00
},

"vendor-id",
Buffer (0x04)
{
0x86, 0x80, 0x00, 0x00
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
} /* END FIX */


in "Device (PCI0)" after :

Device (VID)
{
Name (_ADR, 0x00020000)


Like this :

DSDT Patching First Step

First you will need DSDTse

You just have to add the following code after

DefinitionBlock ("./dsdt.aml", "DSDT", 1, "LENOVO", "TP-7J ", 0x00001080)
{


Method (DTGP, 5, NotSerialized) // DTGP FIX to enable further fix
{
If (LEqual (Arg0, Buffer (0x10)
{
/* 0000 */ 0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44,
/* 0008 */ 0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
}))
{
If (LEqual (Arg1, One))
{
If (LEqual (Arg2, Zero))
{
Store (Buffer (One)
{
0x03
}, Arg4)
Return (One)
}

If (LEqual (Arg2, One))
{
Return (One)
}
}
}

Store (Buffer (One)
{
0x00
}, Arg4)
Return (Zero)
} // DTGP FIX END


Like this :



Now you can patch your DSDT !

How to : MacOSX 10.6.2


What you need:

- SnowLeo Retail DVD

- 8 Go USB Key

- 2,5 External HDD

- Mac/Hack under 10.5/10.6

- Download this file


  1. USB Key
  2. 10.6 Installation
  3. First Boot
  4. Polish
  5. Update 10.6.2



1) USB Dongle

- On MacOSX

- Format the USB Key (HTFS+)

- Restore SnowLeo Retail DVD on this key (with disk utility)

- Copy /MacPNT folder on this key

- Install "Chameleon 2 RC 3" ON THIS KEY (be careful this could damage your own HDD)

- Replace /Extra folder with the one from the package

- Copy the UUID of the key (disk utility)

- Modify this UUID in :

com.apple.Boot.plist

smbios.plist

PlatformUUID.kext/Contents/Info.plist

- Launch "ShowAllFiles" and select "Show"

- Replace:

OSInstall.mpkg dans /Volumes/"USB Key"/System/Installation/Packages

OSInstall dans /Volumes/"USB Key"/System/Library/PrivateFrameworks/Install.framework/Frameworks/OSInstall.framework/Versions/A/

- Launch once again "ShowAllFiles" and select "Hide"

- Launch "pfix" and select your USB Key




2) 10.6 Installation

- Boot on the USB Key

- Install SnowLeo on your HDD

- On reboot, Switch off your laptop

3) First Boot

- On MacOSX,

- Install "Chameleon 2 RC 3" ON THE SNOW DISK (be careful this could damage your own HDD)

- Replace /Extra with the one from the zip file

- Copy the UUID from the snow partition (disk utility)

- Modify the UUID of the 3 files:

com.apple.Boot.plist

smbios.plist

PlatformUUID.kext/Contents/Info.plist

- Launch "pfix" on the snow partition

- Reboot on this disk


4) Polish

- Add/Update the content of /E/E in /Extra/Extensions

- Delete "arch=i368 -v" from com.apple.Boot.plist

- Add/update the content of /S/L/E in /System/Library/Extensions

- Delete AppleHDA.kext from /System/Library/Extensions

- Launch "pfix"


5) Update 10.6.2

- Download the "Combo Update 10.6.2"

- Do not reboot after update

- Delete the content of the whole folder /Extra/Extensions, and place the content of /E/E

- Add the files of /S/L/E in /System/Library/Extensions

- Launch "pfix"

- Reboot