寥若繁星 发表于 2019-1-30 17:52

10.13.6,蓝宝石RX470 4G ,hdmi转vga花屏,要修改Framebuffer

蓝宝石RX470 4G,显卡ID是0x67DF1002,但是显示器是VGA接口,使用的HDMI转VGA接口,花屏,爬了几天帖子才知道修改帧缓冲区的ENC或者TXM就行了,几个看了小时https://bbs.pcbeta.com/viewthread-991835-1-1.html终于看懂了

结果使用AMDFramebufferUtility说找不到不到该显卡,于是

kextstat | grep ati得到
:   
93 2 0xffffff7f81565000 0x1f0000 0x1f0000 com.apple.kext.AMDSupport(1.6.8)7437A67E-1E39-3A88-B158-DE99F959A0B6 <86 85 12 11 7 5 4 1 1>
108 0 0xffffff7f81773000 0x68000 0x68000 com.apple。 kext.AMD9500Controller(1.6.8)6D8E467F-75AC-304C-8099-685F160F57C0 <93 86 85 12 11 5 4 3 1>
124 0 0xffffff7f840e4000 0x12000 0x12000 com.apple.kext.AMDRadeonX4000HWServices(1.6.8)57CD6989-C376-3DF2 -B953-B9A7A676A3CD <85 12 11 7 5 4 3 1>
126 0 0xffffff7f82581000 0x4ba000 0x4ba000 com.apple.kext.AMDRadeonX4000(1.6.8)3A5B2002-9BF9-36B4-BBC4-15B37FCEAD7B <125 114 85 12 7 5 4 3 1 >
127 0 0xffffff7f8327e000 0xe58000 0xe58000 com.apple.kext.AMDRadeonX4000HWLibs(1.0)586574A4-E4E0-3755-84B3-2799CF826860 <12 5 4 3 1>
128 0 0xffffff7f82c87000 0x29000 0x29000 com.apple.kext.AMDFramebuffer(1.6.8)9684DD2E- CC02-3A7D-B285-F201ABE99887 <93 85 12 11 7 5 4 3 1>

于是可以得出RX470 4G的驱动文件是AMD9500Controller.kext,然后到AMDFramebufferUtilityV3.0里找到了AMD9500Controller,第一个就是Orinoco(5) ,而且与显卡实际的接口类型是一致的,与下面得到的ROM内容也是一致的,这可以说明是免驱的
十六进制编辑器查看包内容里的AMD9500Controller,可以查找到AMDFramebufferUtility里的原始FB数据,说明AMDFramebufferUtility对于10.13.6的AMD9500Controller是适用的


FB数据:
PCI ID:1002:67DF
ATI Connectors Data:
Orinoco (5)
DP, DP, HDMI, HDMI, DDVI
000400000403000000010101000000001204060100000000
000400000403000000010201000000002205040300000000
000800000402000000010300000000001102010200000000
000800000402000000010400000000002103050400000000
040000000400000000010500000000000000030600000000




个人猜想,适用clover修改FB数据就是替换对应的hex值,由于我是要HDMI转VGA,所以只要更改HDMI接口数据,于是修改enc从0到5,一点用也没有。后来想了个简便的方法,只留HDMI的两行合并成一行。爬了好久帖子,说是只要更改enc,于是把两个HDMI的enc的值从0试到了7,依然花屏..
例如:
ATI连接器数据:000800000402000000010300000000001102010200000000000800000402000000010400000000002103050400000000
ATI连接器补丁:000800000402000000010300000000001100010200000000000800000402000000010400000000002100050400000000


按照<a href="https://bbs.pcbeta.com/forum.php?mod=viewthread&tid=1637874&highlight=%C7%E1%C7%E1%CB%C9%CB%C9%C7%FD%B6%AFAMD">【新手教程】轻轻松松驱动AMD显卡,适用于所有A卡的通用解决办法</a>
这篇文章设置了clover的「Kernel And Kext Patches」栏目,也勾选了「Graphics」里的“Inject ATI”,由于是免驱,所以不用fakeid以及「Graphics」里的FBname和vram。
求大神帮忙看看到底要怎么改〜附clover配置,也麻烦帮忙一起看看啥问题


参考文章:


<a href="https://bbs.pcbeta.com/viewthread-991835-1-1.html" target="_blank">从零开始完美玩转苹果ATI驱动+QE/CI+多屏,理论上所有A卡可行,以4860(RV790GT)为例</a><a href="https://bbs.pcbeta.com/viewthread-1635607-1-1.html" target="_blank">【进阶教程】深入探索AMD显卡Framebuffer结构</a>

网络_不安全 发表于 2020-8-11 00:32

你好,能否分享AMDFramebufferUtility 3.0 好像这个版本难找呢 我邮箱59546066@qq.com也可以发附件下载,谢谢了
页: [1]
查看完整版本: 10.13.6,蓝宝石RX470 4G ,hdmi转vga花屏,要修改Framebuffer