本帖最后由 骑乐无穷 于 2015-6-20 19:28 编辑
Thinkpad T530黑苹果不完美教程
一直想把这次thinkpad黑苹果的过程好好写写,可是由于一些不完美,始终在查找解决方法。找了好久,各种尝试无果。只能放弃。无奈只能把这个黑苹果过程写下,提供大家参考并且希望一些问题得到大家的解答。 我的机子配置是CPU:i7-3520M。双显卡:集成显卡HD4000和独显NVS5400M。主板是QM77。
推荐新手安装Yosemite参照版主大人@stevechen962464的教程:安装教程。
个人经验,最好在进入系统后再提取dsdt,这样我感觉更加能够符合苹果。如果有不同意见,欢迎扔砖。
提取出dsdt,那就要开始对dsdt进行修改,添加功能。使其更加像苹果。参考帖子DSDT常见修改教程,DSDT常见错误手工修改。不管更新中。,最主要是这个帖子小黑T410完美DSDT的研讨,不再为睡眠唤醒死机而发愁!,还有@skykingf提供的dsdt,修改电池显示和独显参照了他的dsdt。
安装时出现的问题及一些解决办法
1,硬盘未内建,橙色图标。dsdt里搜索Device (SAT1)和Device (SAT2),添加以下
Device (SAT1)
{
Name (_ADR,0x001F0002)
Name (_S3D,0x03)
Name (RID,Zero)
Method (_DSM,4, NotSerialized)
{
Store (Package (0x02)
{
"device-id",
Buffer (0x04)
{
0x81,0x26, 0x00, 0x00
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
Device (SAT2)
{
Name (_ADR,0x001F0005)
Name (_S3D,0x03)
Name (RID,Zero)
Method (_DSM,4, NotSerialized)
{
Store (Package (0x02)
{
"device-id",
Buffer (0x04)
{
0x81,0x26, 0x00, 0x00
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
} 2,CPU风扇速度显示,参照帖子T410终于搞定风扇转速显示,但是无果。但是得知HSPD是系统风扇KEY,最后发现,原来此key在Device (EC)里也出现了,应该拆分的,所以将它拆分得到 HSP0, 8,
HSP1, 8 参照帖子修改方法,在Device(EC)上添加以下 Device (SMCD)
{
Name (_HID, "MONITOR")
Method (FAN0, 0, NotSerialized)
{
Store (B1B2 (^^EC.HSP0, ^^EC.HSP1), Local0)
Return (Local0)
}
Method (TCPU, 0, NotSerialized)
{
Store (^^EC.TMP0, Local0)
Return (Local0)
}
} 重启CPU风扇速度显示成功
GPU的显示,论坛中有用NVClockX.kext显示成功的。但是我找遍论坛下载这个测试都是“抱歉,该附件无法读取”,哪个景友手中有的?麻烦提供测试一下。谢谢。
3,无线网卡无解,本来想刷bios免白名单的的,找遍全网也没有成功的。不过淘宝有高手提供刷T530的bios的无线白名单。哪个景友已经刷成功,可以提供下方法吗?无线的暂时无解只能驱动有线的。有线内建,在Device (IGBE)添加以下 Device (IGBE)
{
Name (_ADR,0x00190000)
Name (_S3D,0x03)
Name (RID,Zero)
Name (_PRW,Package (0x02)
{
0x0D,
0x04
})
Method (_DSM,4, NotSerialized)
{
Store (Package (0x06)
{
"built-in",
Buffer (One)
{
0x01
},
"device_type",
Buffer (0x09)
{
"ethernet"
},
"name",
Buffer (0x16)
{
"Intel 82579LM Gigabit"
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
} 如果你的本子也Thinkpad T系列的,可以参考,并且修改name,显示为你的网卡型号。 4,参考帖子正确修改DSDT仿冒原生LPC id并成功引导原生AppleLPC.kext,加载AppleLPC完善睡眠唤醒(DSDT+添加主板LPC的ID)图文教程。使用原生电源管理,加载LPC驱动,可以在Device (LPC)下添加 ethod (_DSM, 4, NotSerialized)
{
Store (Package (0x02)
{
"device-id",
Buffer (0x04)
{
0x55,0x1E, 0x00, 0x00
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
} ID修改为你主板ID,0x55, 0x1E只适合我QM77主板。
5,CPU变频,在config里boot添加-xcpm。之前只能用集显的Yosemite,我是不用添加-xpcm就可以完美变频并且加载了X86PlatformPlugin的。但是用上独显后,同样的SMBIOS,只能加载ACPI_SMC_PlatformPlugin,无法加载X86PlatformPlugin。用了此参数,AppleIntelCPUPowerManagement不能加载,但是变频正常。如果不用,只能变频两档,AppleIntelCPUPowerManagement是则是正常加载的。一个比较奇怪的问题就是,我用的是MacBookPro9,1的设置,在ACPI_SMC_PlatformPlugin的Resources没有这个机型的plist,在X86PlatformPlugin里就有。参考帖子IVY平台用MacBookPro9,X机型描述降频只有最低最高两档的进来!用你自己喜欢的机型!,出现五国。无奈只能退而求次,添加-xcpm。
6,论坛中电池dsdt修改方法还有@skykingf提供的dsdt。修改成功。但是!但是想不明白,电池不能百分之百的显示,只显示96%。这个是什么问题?求助。
剩下的独显已驱动,显存1GM。有图真相
独显能够驱动实在意外,之前曾经也安装过Yosemite,只能驱动集显,后来折腾的心发作,看见OS X El Capitan出了测试版本就又开始了折腾。对config进行了重新的设定,本着试试看能不能把独显驱动了就在bios里屏蔽了集显,并注入英伟达显卡。安装很顺利。惊奇发现在10.10里独显一直无法驱动,在10.11里竟然驱动了。见10.11安装反馈。由此得出一条个人经验,clover已经足够强大,可以在第一次黑果时,可以把config设置得足够简单,只要能先进入系统就可以,剩下的再慢慢研究。如果想驱动独显则注入独显,并屏蔽集显。如果只想要集显就关闭独显,并注入集显。
声卡用论坛里的仿冒声卡:声卡仿冒集合
USB采用GenericUSBXHCI.kext.zip,主板是7系列的,但是安照https://bbs.pcbeta.com/viewthread-1586664-1-1.html贴中方法,并不能原生使用USB3.0。错误太多,修改不过来(懒癌发作)。
正好淘宝了Express转USB3.0扩展卡,按照网上的各种方法驱动无果,无奈。最后在clover>kext文件下加入GenericUSBXHCI.kext.zip。意外出现驱动成功。有图真相
USB2.0、3.0、硬盘都接连成功了。所以就放弃了原生3.0的修改。但是还是有一个毛病就是,扩展卡是两个口的USB3.0。但是只能用一个,不知道是卡问题还是驱动问题?
变频不完美求教:不加-xcpm只有两档变频。附启动-v图,求教啊!
附上我的EFI文件链接: http://pan.baidu.com/s/1c0vueAG 密码: ff2t 2015年6月20号更新 之前的变频问题,又爬文,最后还是加了-xcpm,为了让X86PlatformPlugin加载,在dsdt中添加 - Scope (_PR)
- {
- Processor (CPU0, 0x01, 0x00000410, 0x06)
- {
- Method (_DSM, 4, NotSerialized)
- {
- Store ("Writing plugin-type to Registry!", Debug)
- Store (Package (0x02)
- {
- "plugin-type",
- One
- }, Local0)
- DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
- Return (Local0)
- }
- }
- Processor (CPU1, 0x02, 0x00000410, 0x06) {}
- Processor (CPU2, 0x03, 0x00000410, 0x06) {}
- Processor (CPU3, 0x04, 0x00000410, 0x06) {}
- Processor (CPU4, 0x05, 0x00000410, 0x06) {}
- Processor (CPU5, 0x06, 0x00000410, 0x06) {}
- Processor (CPU6, 0x07, 0x00000410, 0x06) {}
- Processor (CPU7, 0x08, 0x00000410, 0x06) {}
- }
复制代码并且在ssdt中将method(_DSM)删去。
虽然加载了X86PlatformPlugin,变频也正常了。但是启动日志中出现几个问题: 15/6/20 下午7:15:05.000 kernel[0]: X86PlatformPlugin::configResourceHandler - Failed to set ring table! 15/6/20 下午7:15:05.000 kernel[0]: XCPM: P-state table mismatch (error:0x12) 15/6/20 下午7:15:05.000 kernel[0]: X86PlatformShim::sendPStates - pmCPUControl (SETPSTATETABLE) returned 0x12
15/6/20 下午7:15:05.000 kernel[0]: X86PlatformShim::start - Failed to send PStates
15/6/20 下午7:15:05.000 kernel[0]: X86PlatformShim::start - Failed to send stepper
这个应该是P-states还是没有转送成功吧?
在boot中设置darkwake=1,电池显示正常为100%。
现在还有一个就是睡眠后启动还是无声。那个大神能解答一二?
|