联想Y550,10.8.4完美驱动,可睡眠,可显示电源,CPU,GPU自动降频
本帖最后由 sm1314 于 2013-6-14 22:52 编辑机型Y550,10.8.4完美驱动。原生电源管理,可睡眠,可显示电源,CPU,GPU可自动降频。itunes,imessage,facetime等都能正常工作。能够啃到较为完美的黑苹果,和论坛的各种大牛的经验分享是分不开的。所以我也把自己的成果分享出来,帮助更多的机油~~我对整个黑苹果的运作原理了解的不是很深,如果有错误还请包涵~~
1. 硬件配置
主板:型号KIWB1芯片组英特尔 4 Series - ICH9M 笔记本芯片组
内存:DDR3 1067MHz 2GB
CPU:Intel 酷睿2双核 P8700 (淘宝买的,原来是T6600)
显卡:GT130M声卡:ALC272
有线网卡:BCM5784M
无线网卡:AR9287 (淘宝买的,25块包邮)
硬盘:西数320G,5400转
2. ML10.8.4安装过程
安装过程我就不详细说了,是按照绝情奶牛的那个帖子一步步来做的: 传送门
注意安装的时候要把安装盘中S/L/E里面的集显驱动KEXT全部删除,即除了两个AppleIntelCPU*,将所有AppleIntel*的KEXT删除,否则安装进不去。安装前要确保org.chameleon.Boot.plis中有:
<key>GraphicsEnabler</key><string>Yes</string>安装的过程中要不断晃动鼠标,不然10分钟左右会白屏死机。安装完之后要把安装盘中的EXTRA文件夹拷贝到系统根目录下。
安装完之后会发现,显卡自动驱动,无电池显示,无声音,有线无线网卡都没有驱动。
3. 各种功能的实现
3.1 显卡和CPU的自动降频
CPU变频图:
可以从图中看到CPU支持11个倍频。
GPU变频只是靠感觉来的,刚装上系统后风扇转得很猛,总以为是CPU不能降频,不过拆了后盖一摸才发现是显卡在大量发热。经过以下步骤处理之后,只开10来个Safari没有flash的标签页,风扇几乎是不转的,转的话也是转1~2分钟之后就听不到了,温度很低。
CPU和GPU变频的具体处理方法是:由于130M显卡只是9600M的一个马甲,而Macbook Pro 5,1 恰好使用的CPU是P8700,而GPU是9600M,我们只要利用fakesmc.kext和SMbios将笔记本伪装成Macbook Pro 5,1,便可使用到原生的变频。
SMbios可以使用Chameleon Wizard改动,下载:
同时fakesmc也要做相应的改动,改动方法见:传送门
改好之后用Kext Utility修复权限,重建缓存等,就不说了,还要记得删除掉/Extra下面的NullCPUPowerManagement.kext,使其能够加载两个原生的CPU电源管理驱动。如下图所示。
需要注意的是,用上述方法实现CPU和GPU变频的过程中,我在DSDT中没有添加相关的代码。如果在DSDT添加了CPU部分或者GPU部分的代码,我是不能够启动的。
3.2 ALC272声卡驱动
DSDT+KEXT替换,
KEXT下载:
DSDT修改的具体方法是在Device(PCI0)中添加红色的代码:
Device(PCI0)
{
Device (HDEF)
{
Name (_ADR, 0x001B0000)
Name (_PRW, Package (0x02)
{
0x05,
0x04
})
OperationRegion (HDAR, PCI_Config, 0x4C, 0x10)
Field (HDAR, WordAcc, NoLock, Preserve)
{
DCKA, 1,
Offset (0x01),
DCKM, 1,
, 6,
DCKS, 1,
Offset (0x08),
, 15,
PMES, 1
}
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x12)
{
"AAPL,slot-name",
Buffer (0x09)
{
"Built-In"
},
"codec-id",
Buffer (0x04)
{
0x72, 0x02, 0xEC, 0x10
},
"built-in",
Buffer (One)
{
0x00
},
"layout-id",
Buffer (0x04)
{
0x10, 0x01, 0x00, 0x00
},
"name",
Buffer (0x0F)
{
"Realtek ALC272"
},
"model",
Buffer (0x0F)
{
"Realtek ALC272"
},
"device_type",
Buffer (0x06)
{
"sound"
},
"hda-gfx",
Buffer (0x0A)
{
"onboard-1"
},
"PinConfigurations",
Buffer (Zero) {}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
Device(MIR)
{
略。。。。
}
略。。。。
}
需要注意的是确保启动时变色龙加载Extra文件夹,新版默认是不加载的。不加载的话修改org.chameleon.Boot.plist,增加: <key>Kernel Flags</key> <string>-f</string>就可以了。
如图,声卡内建,麦克风可用。
3.3 有线网卡驱动
解决方法:修改DSDT配合KEXT驱动。
DSDT修改:在Device(PCI0)中添加红色代码
Device(PCI0)
{
略。。。
Device (RP06)
{
Name (_ADR, 0x001C0005)
OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
{
Offset (0x12),
, 13,
LASX, 1,
Offset (0x1A),
ABPX, 1,
, 2,
PDCX, 1,
, 2,
PDSX, 1,
Offset (0x1B),
LSCX, 1,
Offset (0x20),
Offset (0x22),
PSPX, 1,
Offset (0x9C),
, 30,
HPSX, 1,
PMSX, 1
}
Device (PXSX)
{
Name (_ADR, Zero)
Name (_SUN, 0x05)
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x06)
{
"device_type",
Buffer (0x14)
{
"Ethernet Controller"
},
"model",
Buffer (0x34)
{
"Broadcom BCM5784M PCI-E Gigabit Ethernet Controller"
},
"built-in",
Buffer (One)
{
0x00
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
Name (_PRW, Package (0x02)
{
0x09,
0x04
})
}
Name (_PRW, Package (0x02)
{
0x09,
0x04
})
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR05)
}
Return (PR05)
}
}
略。。。。
}
KEXT驱动下载:, 放到/E或/S/L/E下面,修复权限。
重启之后就可以了。
如图:
3.4无线网卡驱动
解决方法:手工换AR9287,我买的AR9287貌似是半高的,然后Y550的AG5100是全高的,只能手工焊了两根引线接地,不过效果还不错。换无线网卡要刷主板白名单,不然主板点不亮。
然后是修改DSDT。添加红色部分代码,如下:
Device(PCI0)
{
略。。。
Device (RP04)
{
Name (_ADR, 0x001C0003)
OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
{
Offset (0x12),
, 13,
LASX, 1,
Offset (0x1A),
ABPX, 1,
, 2,
PDCX, 1,
, 2,
PDSX, 1,
Offset (0x1B),
LSCX, 1,
Offset (0x20),
Offset (0x22),
PSPX, 1,
Offset (0x9C),
, 30,
HPSX, 1,
PMSX, 1
}
Device (PXSX)
{
Name (_ADR, Zero)
Name (_PRW, Package (0x02)
{
0x0B,
0x05
})
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x0C)
{
"AAPL,slot-name",
Buffer (0x08)
{
"AirPort"
},
"device-id",
Unicode ("*"),
"device_type",
Buffer (0x08)
{
"AirPort"
},
"model",
Buffer (0x34)
{
"Atheros AR9287 Wireless Network Adapter"
},
"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)
}
}
Name (_PRW, Package (0x02)
{
0x09,
0x04
})
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR07)
}
Return (PR07)
}
}
略。。。
}
如图,相比于直接用Ar9287的驱动KEXT+修改id的方法,这种方法的好处是对加密网络支持的非常好,不会中途掉线。
3.5 鼠标、键盘、触控板、读卡器、蓝牙
蓝牙原生驱动,鼠标、键盘、触控板、读卡器都是用以下两个KEXT驱动的,不需要改DSDT。触控板能够实现两点触控。
KEXT下载:
如图:
3.6 电源管理以及电池驱动
除了3.1所说的两个CPU电源管理驱动,还需要修改DSDT来成功加载AppleLPC.KEXT实现原生电源管理。这里有个教程,我就不写了:传送门
如果完成了教程中描述的内容,并且主板支持的话,就能开启原生电源管理了。不过在10.8.4中电池信息还获取不到,因为从Lion以后,苹果修改了AppleACPIPlatform.kext对DSDT电池信息的读取方式,一次只能读8字节什么的。因此解决方法有两个,一是搜一个雪豹系统的AppleACPIPlatform.kext,替换掉原系统的。二是修改DSDT的电池部分,具体方法可以搜索论坛,关键词用“DSDT 电池驱动”,多爬几楼就可以了。
我用的是第一种方法,原因有两个。一是Y550DSDT中电池表的修改太麻烦了,而且我也没有搜到有Y550成功修改好的DSDT。第二个原因是有部分机油反应,修改DSDT后,电池信息容易出现错乱。比如拔掉电源线,使用电池到60%以下会出现已连接到电源的图标,比较蛋疼。
替换好AppleACPIPlatform.kext后,还要增加一个AppleACPIBatteryManager.kext获取电池信息。
这两个文件打包下载:
修复权限,重建缓存后,重启就可以看到了:
3.7 睡眠和唤醒
想要实现睡眠和唤醒的首要条件是加载原生电源管理,以及USB内建。Y550USB内建教程:传送门,按照这个教程修改DSDT后便可以实现睡眠和唤醒。如果你实现了原生电源管理和USB内建,声卡仿冒,就不会发生唤醒后鼠标不能用、没有声音等乱七八糟的问题。
3.8 其他优化
3.8.1 启动速度加速
变色龙增加use kernel cache 一项,开启前菊花转40转,开启后菊花转20转左右。
3.8.2 防主板重置
下载这个KEXT: 放到/E下。
3.8.3 双系统时间补丁
自己搜索
4 还需要解决的问题
4.1 开机扁苹果
开机时扁苹果,把变色龙分辨率设为1366*768也没有用。
4.2 亮度调节小太阳
虽然可以用上下键+Fn调节亮度,但是不显示小太阳,还是挺不爽的。
希望能够帮到爱折腾的机油们~~ 也希望大牛帮我解决下上面的两个问题~~
补充内容 (2013-6-23 17:13):
cpu变频可以勾变色龙的CPU选项,GPU变频通过设置机型MBP6,2,并该AGPM中的相关代码,添加显卡id 10de 0652 感謝分享!!學習再學習 哈哈,终于有人回复了。 添加
<key>Graphics Mode</key>
<string>1280x720x32</string>
开机完美苹果显示 xiexiefenx mark
牛x
请教如何让cpu和gpu变频呢??可以指导一下吗??你写的太抽象了!! 感谢楼主 sm1314 发表于 2013-6-16 17:27 static/image/common/back.gif
哈哈,终于有人回复了。
lz 关于降频的这个问题还是没弄太懂!!可不可以
请教一下 很完美了,我都不能进安装,,,,学习学习!顶贴! 感觉黑苹果用处不大 玩不懂就放弃了 感谢楼主 啥时候出Y400的黑苹果方案啊 CPU的图貌似是无限网卡的。
不对,那就是无线网卡的图{:9_617:} 已经装好了,但是传送门的奶牛的那个IOS,是错误的,装了半天装不上去,后来换了一个好了 10.8.3也类似操作的吧,,, Chameleon Chameleon 谢谢分享,一直解决不了电池问题,看看有没有效果 需要修改权限 ?