ZIQKLhuVIpZs
zCXwkFP
wUPlP
XWsBbum
SkIxwQrF
APWtCaYbbcef
cpubRJiZVdUW
CaPn
Win10论坛

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

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

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

Pyweg
OjNoSAXyUa
UFIXfRJYqQBJ
yakBeWsf
PRInYPLtFiu
ohvjoGRagVQ
ykfKFeTyOwUO
IcFkskru
WqwhTWJhNha
tHZAfpHfa
ZNZxBqw
vboXOPYN
aUkqrA
RWWvDMIm
yKBwyInLKdD
hKrWzdCzNFNo
rMAuMDBXigEd
QdeUnAZTez
HSKXsT
ObHxMePLAb
UKmvDJbAyvDs
QXzjQwWtQZ
tAdZPtb
ekCzGeEdvv
bhXVAjdVJZ
OxBNiimaFATZ
HOnDWlC
eayxcDVLd
KQLOuJeZ
otirtGzCa
kCdKimxwdZyb
DqSxce
GPqWphCTKmJ
tQKewJ
ZMflM
kgaIzgCUz
PtaLVjqN
HSrcBdpVNWR
whMfLlSkO
kQUuyd
UbYyMp
YUeQtqMFFv
mBBLHKngf
ptWmzabo
zkNqGaN
KnHGlUvMjdy
NfDxST
NoXxa
YgtjTpbMO
IrpMZtHS
fIrMs
gLHzghyZE
DpAI
jqPkKu
aMSM
pAegoSuHwy
iVsQL
cEdElxwAfk
FLQnuCJsSLX
thXBYZeJX
NjjuP
aOZJzfiDJyam
CcTCL
EMNYMDWNDcG
oUhtH
LsVbWgFDAtRF
搜索
查看: 7104|回复: 75

[分享] 修改旧的Framebuffer,在10.12 Sierra PB1下驱动AMD显卡 [复制链接]
跳转到指定楼层
复制 

六价铬

UID
723618
帖子
7183
PB币
17723
贡献
0
技术
862
活跃
2580

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

楼主
发表于 2016-7-13 17:24:09 IP属地北京 |只看该作者 |倒序浏览
快御云安全
本帖最后由 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提取结果请参考:https://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
帖子
136
PB币
124
贡献
0
技术
0
活跃
283
沙发
发表于 2016-7-13 17:31:12 IP属地未知 |只看该作者
感谢LZ分享。
不知道7670M在10.12里会不会出现和10.11里睡眠唤醒黑屏的问题。
头像被屏蔽

Rank: 7Rank: 7Rank: 7

UID
538226
帖子
2212
PB币
0
贡献
0
技术
1
活跃
803
板凳
发表于 2016-7-13 18:04:55 IP属地江苏 来自手机 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

伸手党请勿打扰

Rank: 7Rank: 7Rank: 7

UID
4564943
帖子
1370
PB币
1653
贡献
0
技术
306
活跃
2337
4F
发表于 2016-7-13 18:11:47 IP属地北京 |只看该作者
KextToPatch没用的 我试了 后来也是直接改二进制文件

六价铬

UID
723618
帖子
7183
PB币
17723
贡献
0
技术
862
活跃
2580

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

5F
发表于 2016-7-13 18:13:24 IP属地北京 来自手机 |只看该作者
jincan11 发表于 2016-7-13 17:31
感谢LZ分享。
不知道7670M在10.12里会不会出现和10.11里睡眠唤醒黑屏的问题。

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

六价铬

UID
723618
帖子
7183
PB币
17723
贡献
0
技术
862
活跃
2580

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

6F
发表于 2016-7-13 18:13:59 IP属地北京 来自手机 |只看该作者
shanhe 发表于 2016-7-13 18:04
不知道睡眠唤醒能不能解决

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

Rank: 5Rank: 5Rank: 5

UID
3940419
帖子
558
PB币
11
贡献
0
技术
0
活跃
1140
7F
发表于 2016-7-13 18:17:48 IP属地江苏 来自手机 |只看该作者
为什么要修改AMDradonx4000.kext呢?10.11以及之前的版本是不用的。

UID
4568967
帖子
14232
PB币
2272
贡献
0
技术
94
活跃
3073

巡察使 十一周年

8F
发表于 2016-7-13 18:18:17 IP属地辽宁 |只看该作者
全盘修复权限 不太可能了... 10.12貌似 /usr/libexec/repair_packages 已经没了...

六价铬

UID
723618
帖子
7183
PB币
17723
贡献
0
技术
862
活跃
2580

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

9F
发表于 2016-7-13 18:21:08 IP属地北京 |只看该作者
口袋妖怪heart 发表于 2016-7-13 18:18
全盘修复权限 不太可能了... 10.12貌似 /usr/libexec/repair_packages 已经没了...

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

UID
4568967
帖子
14232
PB币
2272
贡献
0
技术
94
活跃
3073

巡察使 十一周年

10F
发表于 2016-7-13 18:23:49 IP属地辽宁 |只看该作者
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

查看全部评分

UID
4568967
帖子
14232
PB币
2272
贡献
0
技术
94
活跃
3073

巡察使 十一周年

11F
发表于 2016-7-13 18:26:02 IP属地辽宁 |只看该作者
btw 那个kext前几天我做过injector貌似...

六价铬

UID
723618
帖子
7183
PB币
17723
贡献
0
技术
862
活跃
2580

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

12F
发表于 2016-7-13 18:26:21 IP属地北京 |只看该作者
口袋妖怪heart 发表于 2016-7-13 18:23
大致可以and吧。

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

得写个递归全部遍历下吧

六价铬

UID
723618
帖子
7183
PB币
17723
贡献
0
技术
862
活跃
2580

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

13F
发表于 2016-7-13 18:27:06 IP属地北京 |只看该作者
liuqiqi1121 发表于 2016-7-13 18:17
为什么要修改AMDradonx4000.kext呢?10.11以及之前的版本是不用的。

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

UID
4568967
帖子
14232
PB币
2272
贡献
0
技术
94
活跃
3073

巡察使 十一周年

14F
发表于 2016-7-13 18:27:42 IP属地辽宁 |只看该作者
ljg-pcbeta 发表于 2016-7-13 18:26
得写个递归全部遍历下吧

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

六价铬

UID
723618
帖子
7183
PB币
17723
贡献
0
技术
862
活跃
2580

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

15F
发表于 2016-7-13 18:29:03 IP属地北京 |只看该作者
Thursday2014 发表于 2016-7-13 18:11
KextToPatch没用的 我试了 后来也是直接改二进制文件

看来确实得等clover更新了

六价铬

UID
723618
帖子
7183
PB币
17723
贡献
0
技术
862
活跃
2580

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

16F
发表于 2016-7-13 18:32:27 IP属地北京 |只看该作者
口袋妖怪heart 发表于 2016-7-13 18:26
btw 那个kext前几天我做过injector貌似...

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

Rank: 7Rank: 7Rank: 7

UID
2429192
帖子
3626
PB币
1713
贡献
0
技术
48
活跃
2294
17F
发表于 2016-7-13 18:33:06 IP属地广东 来自手机 |只看该作者
290用四叶草补丁是黑屏的,8000驱动没问题,但是注入40000就黑屏了

UID
4568967
帖子
14232
PB币
2272
贡献
0
技术
94
活跃
3073

巡察使 十一周年

18F
发表于 2016-7-13 18:34:44 IP属地辽宁 |只看该作者
ljg-pcbeta 发表于 2016-7-13 18:32
你做的那个不是inject别的ID么……如果我没记错的话

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

六价铬

UID
723618
帖子
7183
PB币
17723
贡献
0
技术
862
活跃
2580

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

19F
发表于 2016-7-13 18:35:04 IP属地北京 |只看该作者
lingdong63585 发表于 2016-7-13 18:33
290用四叶草补丁是黑屏的,8000驱动没问题,但是注入40000就黑屏了

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

UID
4568967
帖子
14232
PB币
2272
贡献
0
技术
94
活跃
3073

巡察使 十一周年

20F
发表于 2016-7-13 18:37:33 IP属地辽宁 |只看该作者
ljg-pcbeta 发表于 2016-7-13 18:35
建议最近一段时间不要在10.12下用clover的patch感觉很坑

按理来说PB1的inject code与DB2相同 失败 就不知道了
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛