一周前开始折腾黑果,2010年的老机器了,先说一下主要配置:
主板:技嘉 X58A-UD7 v1.0 F8m
内存:OCZ 2GB * 3
CPU:Intel i7-930
显卡:蓝宝石HD5850 1GB
话说现在安装黑苹果真的容易太多了。同样一台机器,几年前第一次折腾的时候完全是两眼一抹黑,怎么都搞不定。而这次重回江湖,基本上顺顺利利,不到一周时间,连系统带驱动啥的全部OK,其中最麻烦的,大约就是声卡驱动。废话不说了,简单分享一下我的方法,互相交流。
大家都知道,黑苹果声卡驱动的方法大致有两种,万能声卡方式和仿冒声卡方式。
万能声卡方式驱动最简单,去https://sourceforge.net/projects/voodoohda/files/?source=navbar下载 VoodooHDA-2.8.8.pkg.zip,运行其中的 VoodooHDA-2.8.8.pkg,重启就搞定了。可以用,但小问题不少,有底噪,音量小,音色似乎也不行。想解决的话,论坛教程虽多,估计也比较麻烦。我没有继续尝试。
重点想说的是仿冒声卡方式。这方面论坛的教程也不少,我一一拜读,受益匪浅。例如:
一步一步教你搞定仿冒声卡:https://github.com/Mirone/AppleHDAPatcher 下载 AppleHDAPatcher 软件。它是一个用来生成 AppleHDA.kext 仿冒驱动的工具软件,还自带了各种台式机、笔记本声卡的补丁。解压并运行 AppleHDAPatcher.app。从 Patches 目录中找到自己的声卡型号子目录,如 ALC889,把整个 ALC889目录拖到 app 的窗口中,然后它就自动生成一个打好补丁的压缩文件放到桌面上,解压后即可得到打完补丁的 AppleHDA.kext 文件。用 Kext Utility 或 Kext Wizard 把这个 AppleHDA.kext 安装到 S/L/E 目录中。用 DSDT 编辑工具(如 MaciASL) 修改你的 dsdt.aml,修改 Device (HDEF) 部分,如下:
Device (HDEF)
{
Name (_ADR, 0x001B0000)
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x08)
{
"codec-id",
Buffer (0x04)
{
0x89, 0x08, 0xEC, 0x10
},
"layout-id",
Buffer (0x04)
{
0x09, 0x00, 0x00, 0x00
},
"device-type",
Buffer (0x12)
{
"Realtek ALC889"
},
"PinConfigurations",
Buffer (One)
{
0x00
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
注意里面比较关键的两项参数,前一项即声卡 codec-id 的倒序排列,如以上为 ALC889 的 codec-id,十六进制 10 ec 08 89,按字节反序填写。第二项为 layout-id,按补丁中的 readme 文件说明,有 5、7、9 三种可选,默认为 7,如下:
. Layout_ID 5 = 3 ports supported (Pink, Green, Blue) . Layout_ID 7 = 5/6 ports supported (Grey, Black, Laranja, Pink, Green, Blue) . Layout_ID 9 = 5/6 ports supported (Grey, Black, Laranja, Pink, Green, Blue, CodecAddress: 2)
我的主板正好与第三种吻合,于是在 DSDT 中将 layout-id 设为 9。
然后,重启,在系统报告可以看到声卡的信息了。系统偏好设置中可以看到两个线路输出。可是,无论选哪一个都没有声音。
因为我的要求比较简单,所以,在前面做的 configdata 中选择用来接音箱的那个端口的数据,用它替换补丁文件中 hdaconfig9.txt 文件中的 ConfigData 参数的值,即:
ConfigData = <21471c62 21471d40 21471e01 21471f01>;
然后重做以上第 3、4 两步。重启。
Done!
我的目的已经实现了。当然,远远不够完美。至于各位,如果还需要配置 Mic、多声道,请继续参照其他教程修改 configdata 或 AppleHDA.kext 文件。
补充内容 (2016-4-7 22:40):
网络问题,中间一段话没发,事后无法编辑。好在不太影响阅读。主要涉及到codec-id和configdata两项数据的获取。codec-id可在windows设备管理中查看,configdata只需一组立体声声道。具体请参阅紫米的帖子。 |