DeEVFiFItBmG
FEMauUFjGXV
BUPlWr
HVpKvaleHq
yGCiNi
XeRnZe
sZBC
ZWYMGjbKPDD
nNvxjOWgQvxx
rlekk
zxogQDb
XfONiqXnm
Win10论坛

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

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

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

mgIYQaIe
QyAGRkyDkkW
Fgsp
osDBrdHH
tFGA
FhScR
cqVyC
WuWZbTDfOpl
kMTbjHISUnY
aKVpojDrsOS
tWcayWphgGca
bDpHWX
wZzLIGCDehz
nElcz
uexrcuV
toCqUIK
lKvbDLwkU
LPwiRgMcP
UTjFv
UjfByStX
knlkqQo
PUbEKWv
oChKRsAZ
rqCsZhvOW
iwaEcRd
pYXVKvMZdXU
yHaIFMIWAtUF
QolBahIJ
LLPG
HuRGSbT
bLFqH
GJILob
nSsyIhq
owtqCWW
CFJKxta
qnDgYPExKB
NZfjsXjv
agQq
aCcyCQXP
pybaCp
ngCma
GzrnJnSe
jjfTncdfI
EOsLC
bzBSJVW
FOgQrrKRN
jgIsE
QQOcpJEenpk
SbOdWZCw
leUpmUzQAzPe
jiPpnFAxmS
VqpUqyXI
yjTVMIDN
SACagJlKIfWQ
BHvPM
uGhclKlz
FxQKnd
iPKWit
zryXEp
fcGwOjsMJVP
搜索
查看: 188365|回复: 1198

[交流] AMD HD5450/5750/5830/6750/6770/6790等在苹果支持列表之外的显卡,添加ID的驱动方     [复制链接]
跳转到指定楼层
复制 

MT果然好用

Rank: 19Rank: 19Rank: 19

UID
1598684
帖子
14364
PB币
8
贡献
0
技术
714
活跃
1392

7周年庆典勋章 荣誉会员 8周年庆典勋章

楼主
发表于 2012-7-18 09:23:05 IP属地黑龙江 |只看该作者 |倒序浏览
快御云安全
本帖最后由 hellozhangxin 于 2013-3-31 11:39 编辑

        本篇既是ATI5系和6系显卡驱动探讨中第二步
2.如果你的ID在支持的列表里那么直接进行第三步,如果不在的话则要在
ATI5000Controller.kext(如果你的显卡是5系列显卡或者其马甲卡)
ATI6000Controller.kext(如果你的显卡是6系列显卡或者其马甲卡)
以及AMDRadeonAccelerator.kext(ML中)中对应的核心下
Lion中则是在ATIRadeonX3000.kext中添加

的补充内容,也是相对相对独立的部分。今天就简单介绍一下,大家可以交流


本文里面遇到ATI5000Controller.kext/ATI6000Controller.kext时选择使用ATI5000Controller.kext还是ATI6000Controller.kext
取决于你卡的型号,5xxx如5750或是5系列马甲卡如6770选用ATI5000Controller.kext,6xxx如6790选择ATI6000Controller.kext修改

      尽管,苹果原生支持的ATI 5系列和6系列的显卡相当的多了,但是还有一部分不幸的同学,显卡型号不再被支持之列。其实对于同一核心的显卡来说,驱动本身并没什么区别,这也是我们今天能修改ID成功的基础,修改ID有三种办法:在ATI5000Controller/ATI6000Controller.kext和AMDRadeonAccelerator.kext添加/修改成你的ID,使用ATI5000Injector.kext,最后是DSDT仿冒
      前两种本质上是一样的,是通过kext注入你的ID,或是直接加入ID识别,后两种是在DSDT中写入信息,让系统直接读取都是,从而系统不会真正识别你的显卡ID,而是使用你写在DSDT的ID,可以骗过系统,加载驱动。
     这三种选一种使用即可,所有工具在一楼下面提供    推荐方法三    ,新手的话还是方法一吧
    实测在Lion中可能不能开启QE/CI
    在ML中QE/CI正常


      我们先来讲第一种: 直接修改原有的kext
      优点:简单粗暴,对原文件改动很小
      缺点:每次升级后就要重新修改
      在新的ML中有一些原来lion原生支持的卡ID被剔除了,不过没有关系,我们能再加回去

1.查看你的显卡ID,关于本机>更多信息>系统报告>图形卡/显示器>设备ID,我这里是0x68bf
1.拷贝ATI5000Contrller.kext/ATI6000Controller.kext和AMDRadeonAccelerator.kext到桌面嗯,挺简单的
2.在ATI5000Contrller.kext/ATI6000Controller.kext上单击右键>显示包内容>Contents>Info.plist
我们往下拉,找到IOKitPersonalities 点前面的小三角展开IOKitPersonalities再展开下面的Controller
会看到IOPCIMatch后面跟了好多显卡ID哦,如图
屏幕快照 2012-07-18 上午9.03.52.png
我们双击那些ID,然后把第一个改成我的ID 0x68BF1002 (这里的ID就是刚才的得到的ID后面跟上1002)
然后再点一下前面的IOPCIMatch,然后会变成这个样子
屏幕快照 2012-07-18 上午9.07.21.png
确认已经变成你的显卡ID之后我们点小红叉关闭
屏幕快照 2012-07-18 上午9.07.36.png
这里当然选save咯
同理
系统是Lion的话需要在ATIRadeonX3000里面的info.plist添加你的显卡ID
方法与上面ATI5000Controller相同

系统是ML的则需要修改AMDRadeonAccelerator.kext的Info.plist添加ID的位置在Info.plist的IOKitPersonalities>AMDXXXXGraphicsAccelerator>IOPCIMatch下,至于XXXX到底是哪个,这取决于你的核心类型
你可以直接在搜索引擎里 输入 你的卡名 核心类型 如:6750 核心类型

Lion的话需要在ATIRadeonX3000里面的info.plist添加你的显卡ID
方法与上面ATI5000Controller相同

或者直接去这里 点我传送 看看AMDRadeonAccelerator.kext里面原生支持的卡,找相近的型号,看看它在哪个下面 如5750找到5770发现它在AMDJuniperGraphicsAccelerator下面

下面提供几款卡的参照

5450/5430/5430m/6370m在AMDCedarGraphicsAccelerator下修改ID
5750/6750/6770在AMDJuniperGraphicsAccelerator下修改ID
5830/5970在AMDCypressGraphicsAccelerator下修改ID
6790在AMDBartsGraphicsAccelerator下修改ID


那我们就在AMDJuniperGraphicsAccelerator下面的IOPCIMatch里面修改ID,同样记得选保存

然后用kextwizard安装修改好的kext,不出意外的话,就可以驱动显卡了
不会用kextwizard的同学去 这里爬贴
这里插一句 kextwizard最好用英文版的,中文版我用好像有点问题

Kext Wizard.zip (1.2 MB, 下载次数: 4322)


PlistEdit Pro.zip (2.23 MB, 下载次数: 5926)

18

查看全部评分

MT果然好用

Rank: 19Rank: 19Rank: 19

UID
1598684
帖子
14364
PB币
8
贡献
0
技术
714
活跃
1392

7周年庆典勋章 荣誉会员 8周年庆典勋章

沙发
发表于 2012-7-18 09:23:28 IP属地黑龙江 |只看该作者
本帖最后由 hellozhangxin 于 2012-7-18 09:56 编辑

2.ATI5000injector.kext       这是lion时代在ATI hd 5450上应用十分广泛的驱动方式,本质上和第一种方法没有区别,在启动前注入ID,相当于启动前手动修改一次上面提到的两个kext,属于仿冒驱动
       这个驱动对6系列一样有效果
       优点:只要显卡驱动结构不发生变化,升级系统不受影响
       缺点:可能会拖慢一点开机速度



        虽说在lion时代广泛使用,升级到新系统ML后驱动结构发生了变化:新的AMDRadeonAccelerator.kext取代了原来的ATIRadeonX3000 所以,对应注入ID的部分发生了变化,导致了使用原来ATI5000injector.kext的同学无法开启QE/CI,其实简单修改一下原来的ATI5000injector.kext就没有问题

首先,下载我提供的ATI5000injector.kext的模板   ATI5000Injector.kext.zip (2.79 KB, 下载次数: 884)
同样,我们在ATI5000injector.kext上点击右键>显示包内容>Info.plist
这回我们IOKitPersonalities下面的ATIRadeonX3000和Controller都要修改
下面是修改前修改后比对图,红框是修改过的部分

这是Controller部分
屏幕快照 2012-07-18 上午9.43.06.png 屏幕快照 2012-07-18 上午9.48.25.png

如果是6系列的话那IOClass和IOName都要填AMD6000Controller
IOPCIMatch下面填你的显卡ID后面跟上1002

这是ATIRadeonX3000的修改
屏幕快照 2012-07-18 上午9.42.50.png 屏幕快照 2012-07-18 上午9.46.58.png

这里面ATIRadeonX3000要改成的内容和1中一样,不可直接套用




然后用kextwizard安装这个kext即可

MT果然好用

Rank: 19Rank: 19Rank: 19

UID
1598684
帖子
14364
PB币
8
贡献
0
技术
714
活跃
1392

7周年庆典勋章 荣誉会员 8周年庆典勋章

板凳
发表于 2012-7-18 09:23:46 IP属地黑龙江 |只看该作者
本帖最后由 hellozhangxin 于 2012-7-18 10:15 编辑

3.DSDT仿冒           


      优点:很简单,不需要改kext,升级没什么影响,显卡驱动架构变化也不会影响驱动
     缺点:需要改DSDT,对于不使用DSDT或不想使用DSDT或一看到DSDT就头大的同学 就算了吧

先去 这个帖子 的三楼去学习下查看显卡位置,在里面多添加一行代码
  1. "device-id",
  2.                                 Buffer (0x04)
  3.                                 {
  4.                                     0xB8, 0x68, 0x00, 0x00
  5.                                 },
复制代码


       这里面写的是原生支持的ID,原则和1中一样,找显卡核心一样的相近型号的ID 我这里找的是 68B8 是 5770 的ID。
       我的6750刷回原来的ID现在就是用的这种方法仿冒的驱动,工作正常
更改后的dsdt代码:
  1. Device (PEGP)
  2.                 {
  3.                     Name (_ADR, 0xFFFF)
  4.                     Name (_SUN, One)
  5.                     Method (_DSM, 4, NotSerialized)
  6.                     {
  7.                         Store (Package ()
  8.                             {
  9.                                 "@0,name",
  10.                                 Buffer ()
  11.                                 {
  12.                                     "ATY,Baboon"   //这里填的是你指定的Aticonfig
  13.                                 },

  14.                                 "@1,name",
  15.                                 Buffer ()
  16.                                 {
  17.                                     "ATY,Baboon"
  18.                                 },

  19.                                 "@2,name",
  20.                                 Buffer ()
  21.                                 {
  22.                                     "ATY,Baboon"
  23.                                 },

  24.                                 "device_type",
  25.                                 Buffer ()
  26.                                 {
  27.                                     "ATY,BaboonParent"  //这里填的是你指定的Aticonfig+Parent
  28.                                 },

  29.                                 "VRAM,totalsize",
  30.                                 Buffer ()
  31.                                 {
  32.                                     0x00, 0x00, 0x00, 0x20  //如果你是1G显存 这填0x00, 0x00, 0x00, 0x40
  33.                                 },

  34.                                 "hda-gfx",
  35.                                 Buffer ()
  36.                                 {
  37.                                     "onboard-1"
  38.                                 },

  39. "device-id",
  40. Buffer (0x04)
  41. {
  42. 0xB8, 0x68, 0x00, 0x00
  43. },

  44.                                 "model",
  45.                                 Buffer ()
  46.                                 {
  47.                                     " ATI Radeon HD 6750"
  48.                                 }
  49.                             }, Local0)
  50.                         DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
  51.                         Return (Local0)
  52.                     }   
  53.                 }
  54.                
  55.                 Device (HDAU)
  56.                     {
  57.                         Name (_ADR, One)
  58.                         Method (_DSM, 4, NotSerialized)
  59.                         {
  60.                             Store (Package (0x02)
  61.                                 {
  62.                                     "hda-gfx",
  63.                                     Buffer (0x0A)
  64.                                     {
  65.                                         "onboard-1"
  66.                                     }
  67.                                 }, Local0)
  68.                             DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
  69.                             Return (Local0)
  70.                         }
复制代码
下面部分是HDMI的音频代码,没影响的
编译保存,替换原来的DSDT即可

Ok,就这么简单


点评

apple4000  关于dsdt的代码意义还没看懂 看了几天了。希望可以看懂 然后自己写  发表于 2015-12-1 01:32 IP属地北京
紫灵幽梦  有一点点基础的,一看就明白啦。。。赞一个。。N卡方法与其类似,只是要修改的文件不同而已。  发表于 2012-11-17 16:28 IP属地上海
3

查看全部评分

UID
1401859
帖子
20755
PB币
72762
贡献
3
技术
2055
活跃
260

8周年庆典勋章

4F
发表于 2012-7-18 09:34:38 IP属地台湾 |只看该作者
標題因該再多一個 老手勿來 新手請進

败家一个

Rank: 7Rank: 7Rank: 7

UID
828
帖子
1743
PB币
2
贡献
0
技术
4
活跃
66

我是大学生! I'm Windows Phone用户 7周年庆典勋章

5F
发表于 2012-7-18 09:36:20 IP属地浙江 |只看该作者

標題因該再多一個,AMD显卡,nv不适用

SB

Rank: 7Rank: 7Rank: 7

UID
482281
帖子
2368
PB币
496
贡献
0
技术
176
活跃
1874

7周年庆典勋章

6F
发表于 2012-7-18 09:37:31 IP属地重庆 |只看该作者
我倒,还没编辑完?

MT果然好用

Rank: 19Rank: 19Rank: 19

UID
1598684
帖子
14364
PB币
8
贡献
0
技术
714
活跃
1392

7周年庆典勋章 荣誉会员 8周年庆典勋章

7F
发表于 2012-7-18 09:57:02 IP属地黑龙江 |只看该作者
ljlxl 发表于 2012-7-18 09:36
標題因該再多一個,AMD显卡,nv不适用

NV卡也试用 改的东西不一样而已...

MT果然好用

Rank: 19Rank: 19Rank: 19

UID
1598684
帖子
14364
PB币
8
贡献
0
技术
714
活跃
1392

7周年庆典勋章 荣誉会员 8周年庆典勋章

8F
发表于 2012-7-18 09:57:21 IP属地黑龙江 |只看该作者
道奇兔 发表于 2012-7-18 09:34
標題因該再多一個 老手勿來 新手請進

话说我的帖子都是新手系列,不过第三种方案还是很有交流意义滴

UID
1401859
帖子
20755
PB币
72762
贡献
3
技术
2055
活跃
260

8周年庆典勋章

9F
发表于 2012-7-18 10:02:44 IP属地台湾 |只看该作者
hellozhangxin 发表于 2012-7-18 09:57
话说我的帖子都是新手系列,不过第三种方案还是很有交流意义滴

表示都寫入fakesmc的無壓力

歪樓團 - 小兵一

UID
983256
帖子
1959
PB币
7893
贡献
3
技术
1
活跃
1181

远景技术达人

10F
发表于 2012-7-18 10:07:43 IP属地台湾 |只看该作者
表示引導會將所有dsdt, kext, kernel都會自動patch的無壓力.

MT果然好用

Rank: 19Rank: 19Rank: 19

UID
1598684
帖子
14364
PB币
8
贡献
0
技术
714
活跃
1392

7周年庆典勋章 荣誉会员 8周年庆典勋章

11F
发表于 2012-7-18 10:16:25 IP属地黑龙江 |只看该作者
道奇兔 发表于 2012-7-18 10:02
表示都寫入fakesmc的無壓力

敢不敢扔掉fakesmc

MT果然好用

Rank: 19Rank: 19Rank: 19

UID
1598684
帖子
14364
PB币
8
贡献
0
技术
714
活跃
1392

7周年庆典勋章 荣誉会员 8周年庆典勋章

12F
发表于 2012-7-18 10:17:11 IP属地黑龙江 |只看该作者
pcj 发表于 2012-7-18 10:07
表示引導會將所有dsdt, kext, kernel都會自動patch的無壓力.

为什么kernal还要patch?

UID
1401859
帖子
20755
PB币
72762
贡献
3
技术
2055
活跃
260

8周年庆典勋章

13F
发表于 2012-7-18 11:08:20 IP属地台湾 |只看该作者
hellozhangxin 发表于 2012-7-18 10:16
敢不敢扔掉fakesmc

你玩黑蘋果有種扔掉fakesmc  不敢滅了你JJ

Rank: 5Rank: 5Rank: 5

UID
1697593
帖子
710
PB币
4892
贡献
0
技术
0
活跃
35
14F
发表于 2012-7-18 11:35:36 IP属地广东 |只看该作者
收藏学习,虽然暂时是HD6850免驱

Rank: 7Rank: 7Rank: 7

UID
2403709
帖子
757
PB币
423
贡献
0
技术
13
活跃
841

7周年庆典勋章 8周年庆典勋章

15F
发表于 2012-7-18 11:46:15 IP属地山西 |只看该作者
pcj 发表于 2012-7-18 10:07
表示引導會將所有dsdt, kext, kernel都會自動patch的無壓力.

请教如何自动patch。新手求指点。。

Rank: 5Rank: 5Rank: 5

UID
2728762
帖子
570
PB币
1602
贡献
0
技术
13
活跃
249
16F
发表于 2012-7-18 11:47:44 IP属地湖北 |只看该作者
见贴就顶  心情放松  版主提示  灌水封停
1

查看全部评分

歪樓團 - 小兵一

UID
983256
帖子
1959
PB币
7893
贡献
3
技术
1
活跃
1181

远景技术达人

17F
发表于 2012-7-18 17:58:25 IP属地台湾 |只看该作者
hellozhangxin 发表于 2012-7-18 10:17
为什么kernal还要patch?

公司老CPU P4 3.06當然要patch阿.

歪樓團 - 小兵一

UID
983256
帖子
1959
PB币
7893
贡献
3
技术
1
活跃
1181

远景技术达人

18F
发表于 2012-7-18 18:02:19 IP属地台湾 |只看该作者
xfzh 发表于 2012-7-18 11:46
请教如何自动patch。新手求指点。。

不是寫的很明白了嗎?
引導會自動patch阿.

MT果然好用

Rank: 19Rank: 19Rank: 19

UID
1598684
帖子
14364
PB币
8
贡献
0
技术
714
活跃
1392

7周年庆典勋章 荣誉会员 8周年庆典勋章

19F
发表于 2012-7-18 18:40:47 IP属地黑龙江 |只看该作者
pcj 发表于 2012-7-18 17:58
公司老CPU P4 3.06當然要patch阿.

原来是老机器啊

UID
1401859
帖子
20755
PB币
72762
贡献
3
技术
2055
活跃
260

8周年庆典勋章

20F
发表于 2012-7-18 19:41:00 IP属地台湾 |只看该作者
pcj 发表于 2012-7-18 18:02
不是寫的很明白了嗎?
引導會自動patch阿.

pcj老大的P4難道...............也裝10.8了
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛