fqxUNtMfN
QwAqXmm
UOaZDkDi
brpLGO
IwievuWLWq
rzmHdCovg
VBwri
hvauN
QWczvR
rTDWHmoUWSD
tVmfBzMcX
vWmKI
Win10论坛

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

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

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

aoixsY
CHPPHolgXAzt
TxXqm
elIYFt
bIkbFSoUTO
MwAxeBAMyu
tQGGd
ooGTSz
WSWRCaX
oeqptKKcXQ
emLhJ
LmNxlXlu
QunrGNNc
uJFtDn
fVEk
iEvvtA
SNaPQM
EtvrZwyxA
tmmJ
OUBpv
hIFGAdmwmpj
hnrTSOt
suCNB
FjPTkkQ
PrBwoJmLPH
LCBlbwHwzC
hRfLhCfR
edBTJ
zFATMRLtvffq
DyLUoUxoVfr
LfyzCkOxs
aBtvmIAIkp
GfWmDSf
sCTL
OMiWKihGlb
BGPJIbVezMTP
ljdKrn
DXHhaHDM
FSrCf
QrjVLpCmx
hwLELJlfxnCY
NpCsMkH
LwhFSLbgHZBg
ZpHsNfAV
yaXFglnDW
GeiK
UtpirdUJeIpM
MWuW
ONEzRIgW
VpvdfYkHn
sbBZkGCMtuKA
gdNNVVZmxRnl
LNIcWIaDt
RkCkcyyl
haXnalxMuw
JcUN
GhNxNQ
EkkWbhxTnyms
NLvYAItrU
搜索
查看: 24780|回复: 84

[分享] 新发现 10.9.2 AMD/ATI显卡7系列FB原始值变了,附上原始FB值生成脚本(Framebuffer) [复制链接]
跳转到指定楼层
复制 

Rank: 7Rank: 7Rank: 7

UID
2834318
帖子
2238
PB币
396
贡献
0
技术
69
活跃
2048
楼主
发表于 2014-3-10 13:54:31 IP属地广西 |只看该作者 |倒序浏览
快御云安全
本帖最后由 lanyi1318 于 2015-4-20 11:25 编辑

10.9.2 AMD/ATI显卡7系列FB原始值变了,6系列的好像没有变,附上全部系列 AMD/ATI 和 Intel 的原始FB值生成脚本,原始FB值生成的前提是系统中的显卡驱动文件必须是原版的没有改动过,改过的请先替换回原版的!

对于有些AMD/ATI显卡要改FB值才能完美多屏输出或驱动,
所以要用到原始的FB值,
刚刚学改FB值的时候发现 10.9.2 AMD/ATI显卡7系列的原始值变了.

使用方法如下,
先下载脚本然后在终端输入
php空格,再把 php脚本文件拖入终端,回车

这样终端下就生成了原版 FB 值了。这个脚本只能在10.9以上的系统上用,10.9之前的要下php编译相关的文件

注意有些ID找出来的FB值会有两个 比如 6798 这个ID可以找到 两个FB值 Futomaki 和 Aji ,有的显卡更多 我们不知道系统用的是那个FB,所以要指定系统用那个FB或用系统使用的那个FB来改,然后改了才有效果.

A卡原始FB值的确定
方法一
有人说是看显卡rom信息上提供的显卡接口数,然后如果你的是7系列就在7系列中随便找到一个接口数一样的来改就OK了。
接口数的确定有些人说不是看物理接口数,比如他的显卡看实体数接口只有3个,但是用的FB值却是4个的,用3个的没成功过。
我就给网上三个人改用去变色龙或Clover源代码网址中输入显卡ID找FB名的方法来改FB都没成功过,他自已随便找到一个接口数一样的来改就OK了。
教程上也是说原则上是找接口数一样的来改,但这个接口数怎么确定我还不能完全体会.


方法二
Win下用GPU-Z 确定显卡ID。
然后打开下面的网址,这是变色龙和Clover的源代码文件,http://forge.voodooprojects.org/p/chameleon/source/tree/HEAD/trunk/i386/libsaio/ati.c
http://sourceforge.net/p/cloverefiboot/code/HEAD/tree/rEFIt_UEFI/Platform/ati.c

Mac 下按快捷键 command + F
Win 下按快捷键 Ctrl + F

搜索你的 显卡ID 比如我的是 1002-6810 我就输入 6810 就可以,就可以找到类似这样的内容,
{ 0x6810,        0x00000000, CHIP_FAMILY_TAHITI,        "AMD Radeon R9 270X", kFutomaki        },
把 kFutomaki 中的 k去掉就是我的用到的 原始FB值名称 Futomaki 。
如果我找到的是 kNull 那就是没有就得另找方法确定你用的是那个原始FB值.

方法三
使用 IORegistryExplorer 软件在搜索栏输入 ATY 就可以看到
ATY,Futomaki(FB值名称)@0  里的 Futomaki 就是我用到的FB值。


上面的三个方法只是确定我们改的原始FB是那个,但我们系统用的是不是这个就要用另外确定了,反正我是用方法二和方法三确定我想改的FB值都是 Futomaki 我用这个改的,正在学习阶段有不对的地方请指点。

听说好像改FB还要配合 DSDT 或 ATY_init.kext 或 引导参数中设置FB , 也可以直接用系统正在用的FB值来改,四选一,目的就是指定显卡驱动使用我们要改的FB值,这样我们修改FB值后才有效.

确定我想改的FB后我就用了上面说的四选一的方法设定系统用 Futomaki 用这个ID.


怎么确定系统正在用的那个FB呢 ? 可以用方法三来看,就知道了,如果你用了DSDT或ATY的方法三来指定FB 那如果你用的FB不一样,那用前用后就可以通过 IORegistryExplorer 软件来看FB是不是变了.

附上显卡加ID的文章

[交流] 有关AMD\ATI系列非“免驱”显卡驱动方法及 Intell老平台主板的安装驱动补丁分享
https://bbs.pcbeta.com/viewthread-1485484-1-1.html

给DSDT加显卡代码教程

[教程] A卡桌面版DSDT完美驱动教程~~
https://bbs.pcbeta.com/viewthread-1475669-1-1.html

FB修改教程

[交流] 发图庆祝ATI Mobility HD 4330 终于开QE/CI 及ATIFramebuffer修改解说
https://bbs.pcbeta.com/viewthread-848362-1-1.html

从零开始完美玩转苹果ATI驱动+QE/CI+多屏,理论上所有A卡可行,以4860(RV790GT)为例
https://bbs.pcbeta.com/viewthread-991835-1-1.html

[交流] ATI 5系和6系显卡驱动&修改FB探讨
https://bbs.pcbeta.com/viewthread-1060313-1-1.html

[教程] 修改FB完美驱动HD7850,不再显示HD 7xxx
https://bbs.pcbeta.com/viewthread-1487383-1-1.html

从零开始完美玩转苹果ATI驱动+QE/CI+多屏,理论上所有A卡可行,以4860(RV790GT)为例

https://bbs.pcbeta.com/viewthread-1487383-1-1.html



| 接口的类型 | 接口的标志位 | 显示特性 | 对齐字符位 | txmt | encd | hotplugin | senseID |

02 00 00 00 40 00 00 00 09 01 00 00 00 01 00 03
aa aa aa aa bb bb bb bb cc dd ee ee ff gh ii jj

aa aa aa aa:屏幕接口种类,如LVDS、CRT、DVI等。
bb bb bb bb:显卡专属控制码,如02 00 00 00一定得配40 00 00 00。
cc:屏幕专属控制码,如LVDS就得使用09。
dd:内置为01,外置为00。
ee ee:不明,应为保留扩充用途。
ff:crtc控制器的编号。
g:transmitter发射器的编号。
h:encoder编码器的编号。
ii:hot-plug id热插拔顺序的编号,通常不用动它照原样即可。
jj:sense id屏幕感应id。这个是由显卡上各接口的i2c id算出来的,i2c是“内部电子回路”这几个字的英文缩写,通常被写死在显卡bios里。计算公式是:(i2cid and 0xf) + 1 = sense id

其中上面提到的 ee ee:不明,应为保留扩充用途。中  ee ee 的第一组ee也就是蓝色部分 有人认为是接口顺序可以看这里 https://bbs.pcbeta.com/viewthread-1591050-1-3.html  中的 6楼 有提到

下面是用到的一些命令 :在终端执行 CD radeon_bios_decode 和 redsock_bios_decoder 所在文件夹, 然输入以下命令.
红色的 1002_6810.rom 改成 你的 显卡文件 rom 的名字.


./radeon_bios_decode < 1002_6810.rom > connector.txt
./redsock_bios_decoder < 1002_6810.rom > redsock.txt

对于台式机常出现

FB(Frambuffer)修改部分出现的不同是两个接口senseid相同,通常情况下是DVI-I接口

可以同时输出模拟信号和数字信号

这种情况下可以直接忽略其中模拟信号的部分(通常是下面的那个接口),只保留上面的数字信号部分即可

毕竟现在大多数显示器都是数字输出




Intel HD 5000.zip (807 Bytes, 下载次数: 48)
Intel HD 4000.zip (752 Bytes, 下载次数: 35)
Intel HD 3000.zip (773 Bytes, 下载次数: 32)
AMD:ATI.zip (933 Bytes, 下载次数: 652)
redsock_bios_decoder.zip (5.57 KB, 下载次数: 72)
radeon_bios_decode.0.2.zip (7.59 KB, 下载次数: 84)
FB值脚本原文地址http://www.tonymacx86.com/graphics/112299-apple-intel-amd-ati-framebuffers.html
最后编辑时间 02-26-2014 at 12:54 PM.
他上面的FB值还没有更新,但我们可以用他提供的脚本生成新的







4

查看全部评分

Rank: 9

UID
3322572
帖子
7001
PB币
34744
贡献
0
技术
4738
活跃
929

远景技术达人 热心会员

沙发
发表于 2014-3-10 13:59:25 IP属地云南 |只看该作者
前排支持分享。
另外问一下,这个脚本也可以生成Intel集成显卡的FB值吗?用生成Intel集成显卡的FB值具体又会有什么效果呢?

Rank: 7Rank: 7Rank: 7

UID
2834318
帖子
2238
PB币
396
贡献
0
技术
69
活跃
2048
板凳
发表于 2014-3-10 14:02:56 IP属地广西 |只看该作者
daxuexinsheng 发表于 2014-3-10 13:59
前排支持分享。
另外问一下,这个脚本也可以生成Intel集成显卡的FB值吗?用生成Intel集成显卡的FB值具体又 ...

可以吧,我没有试试过intel的,我只用过AMD/ATI的
1

查看全部评分

Rank: 9

UID
3322572
帖子
7001
PB币
34744
贡献
0
技术
4738
活跃
929

远景技术达人 热心会员

4F
发表于 2014-3-10 14:05:11 IP属地云南 |只看该作者
lanyi1318 发表于 2014-3-10 14:02
可以吧,我没有试试过intel的,我只用过AMD/ATI的

嗯,因为看到楼主提供了Intel集显驱动的下载,才这么问的。

Rank: 7Rank: 7Rank: 7

UID
2238696
帖子
3504
PB币
2810
贡献
0
技术
239
活跃
805
5F
发表于 2014-3-10 14:10:48 IP属地广东 |只看该作者
本帖最后由 kenwu98 于 2014-3-10 14:32 编辑

只有空白输出。

是否自动更新了驱动程序?

<?php

$ctype=array('02000000'=>'LVDS','04000000'=>'DDVI','08000000'=>'SVIDEO','10000000'=>'VGA','00020000'=>'SDVI','00040000'=>'DP','00080000'=>'HDMI','000c0000'=>'4k?');

$entry=array('01051','02041','00001','03061');

function padHex($d,$l) {return str_pad(dechex($d),$l,'0',STR_PAD_LEFT);}

function toHex($s){$i=0;$t='';while(isset($s[$i])){$t.=padHex(ord($s[$i++]),2);}return $t;}

function toStr($h){$s='';$i=4;while($i-->0){$s.=chr($h>>(8*$i)&0xFF);}return $s;}

$f='/System/Library/Extensions/AppleIntelFramebufferAzul.kext/Contents/MacOS/AppleIntelFramebufferAzul';

$a=fopen($f,'r');

$s=array();

exec("nm $f",$s);

fseek($a,hexdec(array_shift(explode(' ',array_shift(preg_grep('/gPlat/',$s))))));

while(true) {

        $p=array();

        $t=array_map('toHex',str_split(fread($a,108),12));

        fseek($a,-108,SEEK_CUR);

        $f=strtoupper(toHex(fread($a,4)));

        if ($f=='FFFFFFFF') break;

        fseek($a,7,SEEK_CUR);

        echo "0x$f (".(ord(fread($a,1))*16)."MiB)\n";

        fseek($a,28,SEEK_CUR);

        foreach(str_split(fread($a,68),12) as $f) {

                $f=toHex($f);

                if (in_array(substr($f,0,5),$entry,true)) $p[]=$ctype[substr($f,8,8)];

        }

        echo implode(', ',$p)."\n".implode("\n",$t)."\n\n";

        while (in_array(toHex(fread($a,4)),array('00000000','32000000')));

        fseek($a,-4,SEEK_CUR);

}

fclose($a);


终端运行后只有空白

是否 ?> 结尾?


Rank: 7Rank: 7Rank: 7

UID
2834318
帖子
2238
PB币
396
贡献
0
技术
69
活跃
2048
6F
发表于 2014-3-10 14:15:56 IP属地广西 |只看该作者
kenwu98 发表于 2014-3-10 14:10
只有空白输出。

是否自动更新了驱动程序?

只有空白输出? 什么意思?

Rank: 7Rank: 7Rank: 7

UID
4309589
帖子
780
PB币
22
贡献
0
技术
196
活跃
864
7F
发表于 2014-3-10 14:24:55 IP属地香港 来自手机 |只看该作者
技术帖支持!

Rank: 7Rank: 7Rank: 7

UID
2834318
帖子
2238
PB币
396
贡献
0
技术
69
活跃
2048
8F
发表于 2014-3-10 14:31:32 IP属地广西 |只看该作者
kenwu98 发表于 2014-3-10 14:10
只有空白输出。

是否自动更新了驱动程序?

使用方法不对呀!!! 不是拷贝 php 脚本里的内容到终端,而是把 AMD/ATI.php 这个文件拖到终端!!!

Rank: 7Rank: 7Rank: 7

UID
2238696
帖子
3504
PB币
2810
贡献
0
技术
239
活跃
805
9F
发表于 2014-3-10 14:33:43 IP属地广东 |只看该作者
lanyi1318 发表于 2014-3-10 14:31
使用方法不对呀!!! 不是拷贝 php 脚本里的内容到终端,而是把 AMD/ATI.php 这个文件拖到终端!!!

这我知道

php  /download/xx.php

UID
2409498
帖子
27335
PB币
915
贡献
4
技术
1353
活跃
712
10F
发表于 2014-3-10 14:38:52 IP属地湖北 |只看该作者
0=0
表示震惊啊。 从10.7到10.9,我的5000的应该都没有改动过!
我还想应该不会再有变化了,结果突然变了0-0

Rank: 7Rank: 7Rank: 7

UID
2834318
帖子
2238
PB币
396
贡献
0
技术
69
活跃
2048
11F
发表于 2014-3-10 15:03:48 IP属地广西 |只看该作者
kenwu98 发表于 2014-3-10 14:33
这我知道

php  /download/xx.php

我重新编辑了一下,你再看!

Rank: 5Rank: 5Rank: 5

UID
209729
帖子
465
PB币
2708
贡献
0
技术
3
活跃
1046
12F
发表于 2014-3-10 15:07:50 IP属地江苏 |只看该作者
我的显卡是迪兰恒进6850 2G,显示器是DELL P2314H,接的是DP接口。10.9时进系统会黑屏,得彻底切断显示器电源再开启才能显示桌面,而前几天升级后发现,能直接进去了!不知和这个有没有关系呢?

Rank: 7Rank: 7Rank: 7

UID
2834318
帖子
2238
PB币
396
贡献
0
技术
69
活跃
2048
13F
发表于 2014-3-10 15:18:29 IP属地广西 |只看该作者
old_cat 发表于 2014-3-10 15:07
我的显卡是迪兰恒进6850 2G,显示器是DELL P2314H,接的是DP接口。10.9时进系统会黑屏,得彻底切断显示器电 ...

也许有吧,我也不了解,FB值中有显卡用什么接口输出,是否可传输声音等信息,我的 R9 270x 必须改FB 否则HDMI不能用黑屏,DP就可以直接用。

Rank: 5Rank: 5Rank: 5

UID
209729
帖子
465
PB币
2708
贡献
0
技术
3
活跃
1046
14F
发表于 2014-3-10 15:24:10 IP属地江苏 |只看该作者
lanyi1318 发表于 2014-3-10 15:18
也许有吧,我也不了解,FB值中有显卡用什么接口输出,是否可传输声音等信息,我的 R9 270x 必须改FB 否则 ...

嗯,我的HDMI倒是可以直接接电视的,不过没有声音选项。还有最重要的就是,安装时接的DP接口,过后接DVI硬是没信号

Rank: 7Rank: 7Rank: 7

UID
2834318
帖子
2238
PB币
396
贡献
0
技术
69
活跃
2048
15F
发表于 2014-3-10 15:32:02 IP属地广西 |只看该作者
old_cat 发表于 2014-3-10 15:24
嗯,我的HDMI倒是可以直接接电视的,不过没有声音选项。还有最重要的就是,安装时接的DP接口,过后接DVI硬 ...

改DSDT就可以实现 HDMI和DP 传输声音了,DVI没有输出可改 FB 值实现

Rank: 5Rank: 5Rank: 5

UID
209729
帖子
465
PB币
2708
贡献
0
技术
3
活跃
1046
16F
发表于 2014-3-10 15:47:34 IP属地江苏 |只看该作者
lanyi1318 发表于 2014-3-10 15:32
改DSDT就可以实现 HDMI和DP 传输声音了,DVI没有输出可改 FB 值实现

折腾过DSDT,没成功,看看驱动都差不多搞好了,就没敢再瞎折腾。要不,请您高抬贵手,空闲时帮帮我?

黑苹果专用车

Rank: 9

UID
523723
帖子
2033
PB币
117
贡献
0
技术
202
活跃
711
17F
发表于 2014-3-10 17:28:32 IP属地天津 |只看该作者
学习一下,这个会用到的。

Rank: 7Rank: 7Rank: 7

UID
212687
帖子
1532
PB币
2748
贡献
0
技术
47
活跃
610
18F
发表于 2014-3-11 11:53:37 IP属地福建 |只看该作者
有没有HD4600的 ???台机的i3 4330的HD4600

现在DVI和VGA同时接显示器,VGA花屏。

Rank: 7Rank: 7Rank: 7

UID
2834318
帖子
2238
PB币
396
贡献
0
技术
69
活跃
2048
19F
发表于 2014-3-11 13:39:16 IP属地广西 |只看该作者
无限 发表于 2014-3-11 11:53
有没有HD4600的 ???台机的i3 4330的HD4600

现在DVI和VGA同时接显示器,VGA花屏。

加入EDID 了???

有inetl的但我不知道那个是 HD4600 的,为了搞FB找到的是英文的我还是用 Google 翻译的才看懂!!!
具体还得看原文 面有提到地址
1

查看全部评分

Rank: 7Rank: 7Rank: 7

UID
212687
帖子
1532
PB币
2748
贡献
0
技术
47
活跃
610
20F
发表于 2014-3-11 13:42:47 IP属地福建 |只看该作者
lanyi1318 发表于 2014-3-11 13:39
加入EDID 了???

有inetl的但我不知道那个是 HD4600 的,为了搞FB找到的是英文的我还是用 Google 翻 ...

clover 2636  有注入
<key>ig-platform-id</key>
<string>0x0C160000</string>

0x0C160000  0x0C260000都试过,没加EDID

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