本帖最后由 lin350565559 于 2015-8-27 22:39 编辑
今天又从新安装了一次10.11 报着试一试的心态 看看能否驱动显卡 结果居然成功了
特来分享大家 希望和我一样的显卡 按着我的方法可以成功 废话不多说
此教材非本人原创是复制andyandy 再进行修改
2015-8-26 21:51 上传
下载附件 (37.04 KB)
备份好后我们第一步要先修改FB
第一步修改FB: 复制S/L/E下AMD7000Controller.kext到桌面。 在windows下用GPU-Z另存显卡的VBIOS,名称aaa.rom(或者直接以你的ID命名), 在MAC下将aaa.rom和redsock_bios_decoder复制到桌面,打开终端输入
- cd ~/desktop/
- ./redsock_bios_decoder < aaa.rom > redsock.txt
得到redsock.txt,接口数据如下: 21P0400.S03: C40304 Pitcairn PRO A1 GDDR5 64Mx32 2GB Subsystem Vendor ID: 174b Subsystem ID: e221 Object Header Structure Size: 355 Connector Object Table Offset: 48 Router Object Table Offset: 0 Encoder Object Table Offset: fd Display Path Table Offset: 12 Connector Object Id [19] which is[DISPLAY_PORT] encoderobj id [0x21] which is [INTERNAL_UNIPHY2 (osx txmit 0x12[duallink 0x2] enc 0x4)] linkb: false Connector Object Id [12] which is[HDMI_TYPE_A] encoderobj id [0x21] which is [INTERNAL_UNIPHY2 (osx txmit 0x22[duallink 0x2] enc 0x5)] linkb: true Connector Object Id [4] which is [DVI_D] encoderobj id [0x20] which is [INTERNAL_UNIPHY1 (osx txmit 0x11[duallink 0x1] enc 0x2)] linkb: false Connector Object Id [2] which is [DVI_I] encoderobj id [0x1e] which is [INTERNAL_UNIPHY (osx txmit 0x10[duallink 0x0] enc 0x0)] linkb: false Connector Object Id [2] which is [DVI_I] encoderobj id [0x15] which is [INTERNAL_KLDSCP_DAC1 (osx txmit 0x00 enc 0x10?)]linkb: false 然后复制redsock_bios_decoder到桌面,终端输入
- ./radeon_bios_decode< aaa.rom > connector.txt
得到connector.txt,接口数据如下: ATOM BIOS Rom: SubsystemVendorID:0x174b SubsystemID: 0xe221 IOBaseAddress:0x0000 Filename:221P0400.S03 BIOSBootup Message: C40304 Pitcairn PRO A1 GDDR5 64Mx32 2GB PCI ID: 1002:6819 Connector at index 0 Type[@offset 45370]: DisplayPort (10) Encoder[@offset 45374]: INTERNAL_UNIPHY2 (0x21) i2cid[@offset 45480]: 0x90, OSX senseid: 0x1 Connector at index 1 Type[@offset 45380]: HDMI-A (11) Encoder[@offset 45384]: INTERNAL_UNIPHY2 (0x21) i2cid[@offset 45507]: 0x92, OSX senseid: 0x3 Connector at index 2 Type[@offset 45390]: DVI-D (3) Encoder[@offset 45394]: INTERNAL_UNIPHY1 (0x20) i2cid[@offset 45534]: 0x94, OSX senseid: 0x5 Connector at index 3 Type[@offset 45400]: DVI-I (2) Encoder[@offset 45404]: INTERNAL_UNIPHY (0x1e) i2cid[@offset 45571]: 0x95, OSX senseid: 0x6 Connector at index 4 Type[@offset45410]: DVI-I (2) Encoder[@offset 45414]: INTERNAL_KLDSCP_DAC1 (0x15) i2cid[@offset 45571]: 0x95, OSX senseid: 0x6 得出: 接口 txmit enc senseid DP 12 04 01 HDMI 22 05 03 DVI-D 11 02 05 DVI-I 10 00 06 DVI-I 00 10 06
查到Aji的原始值: 00040000040300000001010112040501 00040000040300000001020122050402 04000000140200000001030000000306 00080000040200000001040011020104 接口类型 接口标志位 显示特性 对齐字符 txmt encd 显示顺序 senseID |00 04 00 00 | 04 03 00 00 | 00 01 | 01 01 | 12 | 04 | 05 | 01
接口类型: 0200 LVDS 0400 DVI-I 1000 VGA 8000 S-Video 0002 DVI 0004 Displayport 0008 HDMI
于是得出 00040000040300000001010112040401 DP 00040000040300000001020112040301 DP 04000000140200000001030011020205 DVI-D 00080000040200000001040022050103 HDMI (01为优先显示) 显卡本身是DP、HDMI、DVI-D、DVI-I四个接口,为什么修改为两个相同的DP接口而不是两个DVI呢?解释是原始值前部分不能更改,只能修改后面对应部份,这个是试验过很多次又重启过很多次得出的结论,Aji原始值是两个DP接口,所以改为一样的数值就可以正常显示了,理论上HD7850虽然有四接口但只能三屏输出。 用HexEdit打开桌面的ATI7000Controller.kext/Contents/MacOS/AMD7000Controller 查找原版排成一行: 00040000040300000001010112040501000400000403000000010201220504020400000014020000000103000000030600080000040200000001040011020104 替换成修改好的一行然后保存: 00040000040300000001010112040401000400000403000000010201120403010400000014020000000103001102020500080000040200000001040022050103 将桌面修改好的ATI7000Controller.kext替换到S/L/E关修复权限。 至此FB修改完成。 此教材非本人原创是复制andyandy [url=https://bbs.pcbeta.com/viewthread-1487383-1-1.html]https://bbs.pcbeta.com/viewthread-1487383-1-1.html 再进行稍微修改
第二步 我们要修改AMDRadeonX4000目录下的 info文件 (不要问我怎么打开 那我也是醉了)
打开后我们查找 AMDTongaGraphicsAccelerator
win下ctrl+f mac下 command+f
找到之后 我们往下看 我们会看到
<key>CAIL_DisableDrmdmaPowerGating</key>
<integer>1</integer>
<key>CAIL_DisableDynamicGfxMGPowerGating</key>
<integer>1</integer>
<key>CAIL_DisableGfxCGPowerGating</key>
<integer>1</integer>
<key>CAIL_DisableGmcPowerGating</key>
<integer>1</integer>
<key>CAIL_DisableStaticGfxMGPowerGating</key>
<integer>1</integer>
<key>CAIL_DisableUVDPowerGating</key>
<integer>0</integer>
<key>CAIL_DisableVCEPowerGating</key>
<integer>1</integer>
</dict>
我这个是已经修改好到 你们只要把数值改成于我一样就可以了
然后保存 修改好两个文件之后 我们把文件复制到s/l/e 目录下然后再修复权限 从起看看效果吧
这里附上我修改过的 驱动 与 修改FB的工具
只测试过10.11 按原理上说10.10应该也支持
|