本帖最后由 冷凝器 于 2014-4-1 10:26 编辑
最近忽然想起我的声卡仿冒驱动后一直没有进行开启HDMI的实验。几天前就开始和neyc版主尝试了用dsdt驱动我的545V的显卡,结果只能驱动外屏,内屏黑,失败。主要我的dsdt比较奇葩,大家基本都是GFX0而我必须是VGA(而且我的dsdt中也有GFX,用IORegistryExplorer看如果显卡驱动起来就是GFX,没有驱动起来就是VGA),不知道怎么解决,还是用回了aty_init.kext。
既然不能dsdt驱动,就在aty_init.kext下想办法折腾HDMI吧。学习了PH版主关于开启HDMI的教程,但是里面有ATI5、6系列并没有4系列的ATI移动版显卡。死马当做活马医,硬着头皮上。
HDEF的dsdt修改按照PH版主教程搞定
HDAU放在GFX,不成功。放在VGA也不成功,惨了,难道真得不行?昨天晚上忽然想到是不是放得地方不对,于是打开dsdt又调整了一下,这次真得成功了。
最麻烦的事情还是在显卡部分,怎么调整dsdt都不会出来hda-gfx onboard-1,实在没有办法了,我忽然想到ATY_init.kext,是不是它的原因?拷贝ATY_init.kext到桌面,打开里面的info文件,在里面直接加上hda-gfx,选择string类型,后面写上onboard-1,保存。然后安装,修复权限,重建缓存。重启,内牛满面,成功了。
目前的问题是HDMI连接时,外屏无问题,内屏有背光但是没有反应,试试添加edid看看有没有效果吧!黑了一年多了,总觉得离完美还差1万块RMB。黑就黑个折腾的乐趣!
添加EDID的结果还是外接DP正常,但是内屏黑屏!又想到是不是因为外接电视是不是因为ATY_Init.kext不能识别高分屏导致的?于是又添加了识别高分屏的代码到ATY_Init.kext中,结果内屏还是照黑不误。
今天看 https://bbs.pcbeta.com/forum.php?mod=viewthread&tid=1355455的帖子,发现HD4000需要修改FB中LVDS输出,是不是我的ATI显卡的FB也不对呀!马上动手调整LVDS的FB,将LVDS的FB调整成了02 00 00 00 40 00 00 00 09 01 00 00 12 00 00 05,以前是02 00 00 00 40 00 00 00 09 01 00 00 12 04 00 05!结果一次性测试成功!结果:如果想要LVDS和DP双屏输出,内屏的enc应该必须是00
我修改后的FB
VGA 10 00 00 00 10 00 00 00 00 01 00 00 00 10 01 06LVDS 02 00 00 00 40 00 00 00 09 01 00 00 12 00 00 05 DP 00 04 00 00 04 03 00 00 00 01 00 00 10 01 02 01 DP 00 04 00 00 04 03 00 00 00 01 00 00 20 02 03 02
还有就是因为4系列显卡除了支持原生驱动外只有用ATY_Init.kext配合修改AMD4600Controller.kext的FB才算是比较完美的驱动,所以修改一下ATY_Init.kext是必须滴!附上我的ATY_init.kext以供借鉴!因为里面添加了我的EDID所以不要直接使用!
关于dsdt已经可以解决原生电源驱动、亮度调节、睡眠唤醒重置、电池驱动修改、DP/HDMI修改、声卡驱动修改
ATY_Init.kext.zip
(249.89 KB, 下载次数: 103)
dsdt.aml.zip
(22.38 KB, 下载次数: 36)
|