10.8GM的AppleHDA修改历程分享
本帖最后由 dlhxr 于 2013-5-2 22:00 编辑嗯,终于把10.8GM的AppleHDA改得可用了,我是联想Y530的本子,ALC888s的声卡,有5个喇叭。。。
嗯,之前花了很大的功夫把10.7.4的AppleHDA改得可用了,具体的ConfigData,layout,pathmap修改请参见我在lion区发的帖子,https://bbs.pcbeta.com/viewthread-1041498-1-1.html,本文是基于声卡的layout和pathmap、configdata都修改好了的基础上进一步修改10.8的AppleHDA的过程。
嗯,10.8的声卡驱动修改最困难的是哪一步呢?就是他喵的layoutID不能自定义了……于是乎大家都开始了盲试……
嗯,我是随着一定思路盲试的,改了3次就好用了~下面就是我的盲试过程。给大家盲试提供一定的思路~(过程所使用的文件和软件请到文中最后下载)
首先,我的smbios.plist用的是MacBookPro6,1的(之前改显卡驱动方便),然后我用之前收集的ioregs.zip中的MacBookPro6,1的ioreg文件(用IORegistryExplorer打开)查找了HDEF项,看到layout-id是<"G">,如图。
然后利用Unicode编码,反查Unicode"G"是十六进制0x47(到wikipedia找到Unicode字符列表词条就能查到),换成十进制就是71,这个就是我们的layoutID。然后就开始了修改的过程。
1.改AppleHDA.kext/Contents/PlugIns/AppleHDAHardwareConfigDriver.kext/Contents/Info.plist中的layoutID为71(默认这里的configdata已经按10.7.4的过程改好)
2.改layout888.xml中的layout-id为71,同时重命名为layout71.xml。(可以用10.8自带的layout71.xml.zlib重新修改)
3.搞好Platforms.xml。
4.用zlib.pl将layout71.xml和Platforms.xml压缩成zlib格式,放回AppleHDA.kext/Contents/Resources目录,同时可以删除其他的layoutXX.xml.zlib(这个无所谓)。
用法:CD到zlib.pl目录
(解压) perl zlib.pl inflate layoutXX.xml.zlib > layoutXX.xml
(压缩)perl zlib.pl deflate layoutXX.xml > layoutXX.xml.zlib5.同样的binary patch,使用以下命令(假设待修改的AppleHDA.kext放在桌面),或者用HexEdit把8419D411改成8808EC10。
sudo perl -pi -e 's|\\x84\x19\xd4\x11|\x88\x08\xec\x10|g' ~/Desktop/AppleHDA.kext/Contents/MacOS/AppleHDA6.DSDT的修改,和10.7.4的一样,只不过layout-id这一项改成了
"layout-id",
Buffer (0x04)
{
0x47, 0x00, 0x00, 0x00 //这里要与之前的layoutID相同,本处是71,然后转为16进制47编译好保存,再打开这一块变成了Unicode("G")就对了。
7.将改好的AppleHDA.kext用kext Utility装好,dsdt替换一下,重启,发现不好用。。。。。。。。。
8.我没有灰心,然后接着尝试,首先把机型改成了MacBookPro5,4,同样的方法查到了它的layout-id是<"L">,同样查到了L对应的十六进制是0x4C,换成十进制是76,然后进行以上同样的过程,在applehda.kext和dsdt.aml中改layoutid,然后替换好,修复权限重启,有声音啦!!!!
9.长时间不用突然出声爆音的问题还有,不过用antipop解决,此外貌似这个改好的音质比10.7.4的要好一些~接近voodoohda了~
10.上面所需要的文件和软件下载:
http://115.com/file/anlubgn2#
ioregs.zip
11.经测试,我把机型改回了MacBookPro6,1,结果声卡依然可用,所以初步推断layoutID与机型不挂钩。现在怀疑layoutID是否需要和AppleHDA那个二进制文件中的对应。就像我把8419D411改成8808EC10,不知是不是这个和layoutID=76对应~12.上传我做好的AppleHDA和对应的dsdt文件(仅适用于联想Y530,可供大家参考)~
10.8的applehda和dsdt对应,10.7的applehda还用的是layout888,所以dsdt还得略有修改。
谢谢楼主,看来又有得折腾了 請問我改好後 在電腦上聲音輸出及錄音接正常
但是經過Skype後 對方聲音不清楚 一直有
嗡嗡及斷斷續續
主板:P8Z77-V
cpu:i7 3770 IvyBridge
要如何改? dave2929 发表于 2012-7-15 15:30 static/image/common/back.gif
請問我改好後 在電腦上聲音輸出及錄音接正常
但是經過Skype後 對方聲音不清楚 一直有
嗡嗡及斷斷續續
这个难度略大。。。我也不太懂怎么改…… 相对10.7基础上修改的声卡驱动有什么优势没有?{:5_594:}
我的本折腾得快不行了
绝情奶牛 发表于 2012-7-15 15:35 static/image/common/back.gif
相对10.7基础上修改的声卡驱动有什么优势没有?
我的本折腾得快不行了
目前没发现有什么区别,个人感觉音质好了点,也可能是心理作用~(我用10.7的applehda,高音太尖,比我修改的一个旧版voodoohda差远了,不过貌似10.8的这个还行)
P.S.我硬盘也差不多那个数了…… 感谢,我去折腾我的alc888 先,谢谢楼主! dlhxr 发表于 2012-7-15 15:40 static/image/common/back.gif
目前没发现有什么区别,个人感觉音质好了点,也可能是心理作用~(我用10.7的applehda,高音太尖,比我修改 ...
同感,10.7的AppleHDA低音不足,高音过尖{:5_591:} fox0491 发表于 2012-7-15 15:49 static/image/common/back.gif
感谢,我去折腾我的alc888 先,谢谢楼主!
哈哈,这回我比你先改好了~当时改10.7.4是因为你的一个回复,要不然我就一直用voodoohda了。。。~ 本帖最后由 fox0491 于 2012-7-15 00:36 编辑
dlhxr 发表于 2012-7-14 23:57 static/image/common/back.gif
哈哈,这回我比你先改好了~当时改10.7.4是因为你的一个回复,要不然我就一直用voodoohda了。。。~你这个layout ID是71 还是76 啊?? 谢谢楼主! fox0491 发表于 2012-7-15 16:02 static/image/common/back.gif
你这个layout ID是71 还是76 啊??
76
71不好用。。。 899悲剧路过。。 dlhxr 发表于 2012-7-15 00:46 static/image/common/back.gif
76
71不好用。。。
71 还是76 都不行!! fox0491 发表于 2012-7-15 17:15 static/image/common/back.gif
71 还是76 都不行!!
我的是76可以了,你看一眼dsdt是否改好,applehda的二进制文件是否按照我的那个替换好了。要是还不好用,那就试试别的吧…… dlhxr 发表于 2012-7-15 01:17 static/image/common/back.gif
我的是76可以了,你看一眼dsdt是否改好,applehda的二进制文件是否按照我的那个替换好了。要是还不好用, ...
唉,不管它了,比较难搞这个!!用回去1075 声卡算了!! fox0491 发表于 2012-7-15 17:22 static/image/common/back.gif
唉,不管它了,比较难搞这个!!用回去1075 声卡算了!!
看来我弄好是RP问题。。。
没有高手弄明白如何选择layoutid,真麻烦~ 麻烦把你的codec传一下 我之前也用过联想Y装黑苹果,最后因为网线无解放弃了,声卡驱动也是弄了很久,能发声,但是音量很小,应该是没有正常驱动。楼主是达人啊 楼主强人啊~~~
我的ALC272到现在还没声