Win10论坛

Win10正式版系统下载主题平板

重定义Modern UI,打造完美Windows全新体验

Windows10下载|安装|新手宝典|必备软件

搜索
查看: 5043|回复: 75

[分享] 修改旧的Framebuffer,在10.12 Sierra PB1下驱动AMD显卡 [复制链接]

六价铬

UID
723618
帖子
7177
PB币
17703
贡献
0
技术
861
活跃
2532

十一周年 十周年 7周年庆典勋章 热心会员 远景技术达人 数码达人 我是大学生!

发表于 2016-7-13 17:24:09 |显示全部楼层
本帖最后由 ljg-pcbeta 于 2016-8-10 14:29 编辑

如果你的显卡在10.11 El Capitan下能够正常显示,那么它很有可能可以在10.12 Sierra下正常工作。

我们知道,在新的10.12 Sierra中,Framebuffer有了一定的变化,而且每一个接口定义从16字节增加到了24字节。

举个例子(AMD6000Controller.kext Pondweed):

10.11旧版:

02 00 00 00 00 01 00 00 09 01 01 00 10 00 05 05
00 04 00 00 04 03 00 00 00 01 02 00 11 02 01 01
00 04 00 00 04 03 00 00 00 01 03 00 21 03 02 02

10.12新版:

02 00 00 00 00 01 00 00 19 01 01 00 00 00 00 00 10 00 05 05 00 00 00 00
00 04 00 00 04 03 00 00 00 01 02 00 00 00 00 00 11 02 01 01 00 00 00 00
00 04 00 00 04 03 00 00 00 01 03 00 00 00 00 00 21 03 02 02 00 00 00 00

所以,只需要更新一下Framebuffer数据,就很有可能直接驱动显卡。

请注意,由于Framebuffer有一定的变化,ATI Connectors Data请一定使用最新提取的数据。其它之前的提取工具已不再适用。
提取工具及PB1提取结果请参考:http://bbs.pcbeta.com/viewthread-1699319-1-1.html

旧的ATI Connectors Patch:

02 00 00 00 40 00 00 00 09 01 00 00 | 10 01 00 02 |
00 08 00 00 04 02 00 00 00 71 00 00 | 11 02 01 01 |
10 00 00 00 10 00 00 00 00 01 00 00 | 00 10 02 03 |
                                   
新的ATI Connectors Patch,只需在旧的基础上添加两组零:

02 00 00 00 40 00 00 00 09 01 00 00 00 00 00 00 10 01 00 02 00 00 00 00
00 08 00 00 04 02 00 00 00 71 00 00 00 00 00 00 11 02 01 01 00 00 00 00
10 00 00 00 10 00 00 00 00 01 00 00 00 00 00 00 00 10 02 03 00 00 00 00

不知道新的Clover是否支持这种新格式的Framebuffer,建议填写在KextToPatch里

如果Clover没有效果,
建议手动修改二进制文件,查找和替换。(我反正是这么做的)

显卡驱动后,也是有半透明玻璃效果的;没有透明说明驱动还不完善。

额外提醒:

之前部分7系和6系卡出现黑屏的情况,在10.12 Sierra中也会出现,同样,解决的方法是修改AMDRadeonX4000.kext的Info.plist(或者用Injector也行,见36F)。

找到这一段

  1. <dict>
  2.         <key>CAIL_DisableDrmdmaPowerGating</key>
  3.         <integer>0</integer>
  4.         <key>CAIL_DisableDynamicGfxMGPowerGating</key>
  5.         <integer>1</integer>
  6.         <key>CAIL_DisableGfxCGPowerGating</key>
  7.         <integer>0</integer>
  8.         <key>CAIL_DisableGmcPowerGating</key>
  9.         <integer>1</integer>
  10.         <key>CAIL_DisableStaticGfxMGPowerGating</key>
  11.         <integer>1</integer>
  12.         <key>CAIL_DisableUVDPowerGating</key>
  13.         <integer>0</integer>
  14.         <key>CAIL_DisableVCEPowerGating</key>
  15.         <integer>0</integer>
  16. </dict>
复制代码


替换成

  1. <dict>
  2.         <key>CAIL_DisableDrmdmaPowerGating</key>
  3.         <integer>1</integer>
  4.         <key>CAIL_DisableDynamicGfxMGPowerGating</key>
  5.         <integer>1</integer>
  6.         <key>CAIL_DisableGfxCGPowerGating</key>
  7.         <integer>1</integer>
  8.         <key>CAIL_DisableGmcPowerGating</key>
  9.         <integer>1</integer>
  10.         <key>CAIL_DisableStaticGfxMGPowerGating</key>
  11.         <integer>1</integer>
  12.         <key>CAIL_DisableUVDPowerGating</key>
  13.         <integer>0</integer>
  14.         <key>CAIL_DisableVCEPowerGating</key>
  15.         <integer>1</integer>
  16. </dict>
复制代码


最后一句:修改完kext记得修复权限。



附件: 你需要登录才可以下载或查看附件。没有帐号?注册
4

查看全部评分

Rank: 2Rank: 2

UID
2845111
帖子
131
PB币
106
贡献
0
技术
0
活跃
273
发表于 2016-7-13 17:31:12 |显示全部楼层
感谢LZ分享。
不知道7670M在10.12里会不会出现和10.11里睡眠唤醒黑屏的问题。
头像被屏蔽

Rank: 7Rank: 7Rank: 7

UID
538226
帖子
2212
PB币
0
贡献
0
技术
1
活跃
803
发表于 2016-7-13 18:04:55 来自手机 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

伸手党请勿打扰

Rank: 5Rank: 5Rank: 5

UID
4564943
帖子
1125
PB币
1206
贡献
0
技术
301
活跃
1655
发表于 2016-7-13 18:11:47 |显示全部楼层
KextToPatch没用的 我试了 后来也是直接改二进制文件

六价铬

UID
723618
帖子
7177
PB币
17703
贡献
0
技术
861
活跃
2532

十一周年 十周年 7周年庆典勋章 热心会员 远景技术达人 数码达人 我是大学生!

发表于 2016-7-13 18:13:24 来自手机 |显示全部楼层
jincan11 发表于 2016-7-13 17:31
感谢LZ分享。
不知道7670M在10.12里会不会出现和10.11里睡眠唤醒黑屏的问题。

我的7670m睡眠唤醒直接重启了→_→

六价铬

UID
723618
帖子
7177
PB币
17703
贡献
0
技术
861
活跃
2532

十一周年 十周年 7周年庆典勋章 热心会员 远景技术达人 数码达人 我是大学生!

发表于 2016-7-13 18:13:59 来自手机 |显示全部楼层
shanhe 发表于 2016-7-13 18:04
不知道睡眠唤醒能不能解决

现在估计也解决不了,不好说以后能不能解决←_←

Rank: 5Rank: 5Rank: 5

UID
3940419
帖子
557
PB币
26
贡献
0
技术
0
活跃
1088
发表于 2016-7-13 18:17:48 来自手机 |显示全部楼层
为什么要修改AMDradonx4000.kext呢?10.11以及之前的版本是不用的。

Vanilla.

UID
4568967
帖子
13990
PB币
4109
贡献
0
技术
94
活跃
2830

巡察使 十一周年

发表于 2016-7-13 18:18:17 |显示全部楼层
全盘修复权限 不太可能了... 10.12貌似 /usr/libexec/repair_packages 已经没了...

六价铬

UID
723618
帖子
7177
PB币
17703
贡献
0
技术
861
活跃
2532

十一周年 十周年 7周年庆典勋章 热心会员 远景技术达人 数码达人 我是大学生!

发表于 2016-7-13 18:21:08 |显示全部楼层
口袋妖怪heart 发表于 2016-7-13 18:18
全盘修复权限 不太可能了... 10.12貌似 /usr/libexec/repair_packages 已经没了...

快开发一个修复SLE权限的工具

Vanilla.

UID
4568967
帖子
13990
PB币
4109
贡献
0
技术
94
活跃
2830

巡察使 十一周年

发表于 2016-7-13 18:23:49 |显示全部楼层
ljg-pcbeta 发表于 2016-7-13 18:21
快开发一个修复SLE权限的工具

大致可以
  1. sudo chmod -R 755 /System/Library/Extensions
复制代码
and
  1. sudo chown -R 0:0 /System/Library/Extensions
复制代码
吧。

info这些档案没可执行权限(644)也ok 不过懒得再改 不会有影响。
1

查看全部评分

Vanilla.

UID
4568967
帖子
13990
PB币
4109
贡献
0
技术
94
活跃
2830

巡察使 十一周年

发表于 2016-7-13 18:26:02 |显示全部楼层
btw 那个kext前几天我做过injector貌似...

六价铬

UID
723618
帖子
7177
PB币
17703
贡献
0
技术
861
活跃
2532

十一周年 十周年 7周年庆典勋章 热心会员 远景技术达人 数码达人 我是大学生!

发表于 2016-7-13 18:26:21 |显示全部楼层
口袋妖怪heart 发表于 2016-7-13 18:23
大致可以and吧。

info这些档案没可执行权限(644)也ok 不过懒得再改 不会有影响。

得写个递归全部遍历下吧

六价铬

UID
723618
帖子
7177
PB币
17703
贡献
0
技术
861
活跃
2532

十一周年 十周年 7周年庆典勋章 热心会员 远景技术达人 数码达人 我是大学生!

发表于 2016-7-13 18:27:06 |显示全部楼层
liuqiqi1121 发表于 2016-7-13 18:17
为什么要修改AMDradonx4000.kext呢?10.11以及之前的版本是不用的。

你不用改不代表我不用改嘛我的不改就黑屏

Vanilla.

UID
4568967
帖子
13990
PB币
4109
贡献
0
技术
94
活跃
2830

巡察使 十一周年

发表于 2016-7-13 18:27:42 |显示全部楼层
ljg-pcbeta 发表于 2016-7-13 18:26
得写个递归全部遍历下吧

愿意的话可以 不过多增权限倒也无所谓 因为并不会调用多出的 x 。

六价铬

UID
723618
帖子
7177
PB币
17703
贡献
0
技术
861
活跃
2532

十一周年 十周年 7周年庆典勋章 热心会员 远景技术达人 数码达人 我是大学生!

发表于 2016-7-13 18:29:03 |显示全部楼层
Thursday2014 发表于 2016-7-13 18:11
KextToPatch没用的 我试了 后来也是直接改二进制文件

看来确实得等clover更新了

六价铬

UID
723618
帖子
7177
PB币
17703
贡献
0
技术
861
活跃
2532

十一周年 十周年 7周年庆典勋章 热心会员 远景技术达人 数码达人 我是大学生!

发表于 2016-7-13 18:32:27 |显示全部楼层
口袋妖怪heart 发表于 2016-7-13 18:26
btw 那个kext前几天我做过injector貌似...

你做的那个不是inject别的ID么……如果我没记错的话

Rank: 7Rank: 7Rank: 7

UID
2429192
帖子
3373
PB币
1590
贡献
0
技术
48
活跃
1786
发表于 2016-7-13 18:33:06 来自手机 |显示全部楼层
290用四叶草补丁是黑屏的,8000驱动没问题,但是注入40000就黑屏了

Vanilla.

UID
4568967
帖子
13990
PB币
4109
贡献
0
技术
94
活跃
2830

巡察使 十一周年

发表于 2016-7-13 18:34:44 |显示全部楼层
ljg-pcbeta 发表于 2016-7-13 18:32
你做的那个不是inject别的ID么……如果我没记错的话

那你可以改啊 自己提取原版kext制作 binary什么的全删掉 只留bundle和info即可 如果你要改info的话 只要injector中定义的版本比原版kext高即可 还怕的话加上大点的ProbeScore

六价铬

UID
723618
帖子
7177
PB币
17703
贡献
0
技术
861
活跃
2532

十一周年 十周年 7周年庆典勋章 热心会员 远景技术达人 数码达人 我是大学生!

发表于 2016-7-13 18:35:04 |显示全部楼层
lingdong63585 发表于 2016-7-13 18:33
290用四叶草补丁是黑屏的,8000驱动没问题,但是注入40000就黑屏了

建议最近一段时间不要在10.12下用clover的patch感觉很坑

Vanilla.

UID
4568967
帖子
13990
PB币
4109
贡献
0
技术
94
活跃
2830

巡察使 十一周年

发表于 2016-7-13 18:37:33 |显示全部楼层
ljg-pcbeta 发表于 2016-7-13 18:35
建议最近一段时间不要在10.12下用clover的patch感觉很坑

按理来说PB1的inject code与DB2相同 失败 就不知道了
回顶部
Copyright (C) 2005-2020 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛 | 电脑硬件 | 安卓软件