积分 47 最后登录 2019-1-13 精华 0 阅读权限 10 主题 2 UID 281579 帖子 43 PB币 1678 威望 5 贡献 0 技术 4 活跃 104
UID 281579 帖子 43 PB币 1678 贡献 0 技术 4 活跃 104
每次看到AMD的用户拼命研究声卡和声卡仿冒(不论是AppleHDA还是LegacyHDA方式),我就想跳出来说
AMD主板请放弃声卡驱动仿冒 ,直接使用万能驱动!
原因如下:
HD Audio把驱动分为两层:总线驱动(Bus Driver)和功能驱动(Function Drivers),其中“总线驱动”由操作系统厂商开发,对于Windows来说就是微软开发提供,称之为通用音频结构(UAA)高清晰度音频类驱动程序(HD Audio Bus Driver)。“功能驱动”是实现特定功能的功能性驱动,包括音频控制面板软件一般由CODEC芯片厂商提供。
参考链接:
http://baike.baidu.com/link?url=kPIBVzbeXJdyz_vDsII_A-QzCWfQB_QQxVb_bSnarbXbYrVKwtXNqwrFbW6DzzdZ
据我分析,所有的驱动仿冒方式,必须满足两个方面:HDA总线驱动和白苹果相同,HDA codec和白苹果相近。codec就是Realtek 887 892 885等等。
AMD用户不能仿冒成功的原因,我认为是因为HDA总线驱动方面,因为白苹果从未有过AMD芯片组的主板,而总线驱动由操作系统厂商开发,言下之意,白苹果没使用过AMD芯片组,故不可能开发相应的驱动,故不可能仿冒成功HDA总线驱动。
实践:
我修改过DSDT,查询相关网址查询到Intel HDA 总线的VID PID,将其加入到DSDT相关字段,同时修改codec的layout,可在苹果音频里看到Intel HDA总线设备,但是接下去无论如何修改DSDT和AppleHDA都无法出现声音,这个时候使用voodooHDA也会无法出现声音。(此处用去几十个小时,泪目~~~~)
当我删除了DSDT里面冒充的VID PID以后,VoodooHDA可以出现声音。
分析:修改DSDT以后,系统认为HDA总线是Intel的,使用Intel HDA总线驱动来驱动它,当然驱动不了。
VoodooHDA也认为是Intel的,使用VoodooHDA内置的Intel HDA总线驱动它,当然驱动不了。
删除DSDT相关字段后,VoodooHDA使用内置的AMD HDA总线驱动它,可以发出声音了。
现阶段,我的黑苹果声音方面有点小问题,卡顿、破音,可以关闭BIOS内的C1E 和 cool n quiet改善,网上部分人反应没有效果,我也没什么特殊的方法。其它问题还有时钟变快的问题,也是没啥办法。
我的配置
cpu:AMD 945
主板:技嘉870UD3
声卡codec:realtek 892
显卡:华硕HD5750
引导方式:Clover
系统版本:10.9.1
展开阅读全文​