论坛首页 海阔天空版

让VIA K8M800芯片组所带Unichrome Pro集成显卡支持1440*900——我的DIY经历

浏览 4938 次
该帖已经被评为精华帖
作者 正文
时间:2007-10-07 关键字: DIY
一年多之前我买了一个19寸宽屏显示器,AOC的193SW。乐呵呵的回家一用,效果却不佳。因为无法调整到其推荐的1440*900分辨率。

我的主板是华擎的k8upgrade-vm800,其芯片组是VIA的K8M800,带集成显卡Unichrome Pro IGP。

我先是估计显卡驱动问题,于是升级了显卡驱动到最新。没用。难道是我的集成显卡不支持1440*900?

于是google之,viaarena(VIA的支持网站)的论坛上原来已经有许多人提出了相同的问题。在看了数个帖子后,我了解到并非是显卡不支持,而是主板的bios支持的问题。需要通过刷厂商提供的bios来获得支持。

问题是并非所有厂商都及时发布了Bios更新。而且有些厂商还会踢皮球说是显卡问题。但是viaarena上的同志们显然比较牛X,因为有VIA官方证实不是显卡问题,同时上面还有高手(比如有一个是unichrome显卡开源的linux驱动的开发者)给其他人出谋划策。因此好几个vendor最终都提供了bios更新,或者service bios(即根据客户要求专门提供的bios),例如精英(ECS)和华硕(ASUS)。

然而不幸的是华擎就那种踢皮球的厂商。有一个同志说他问过华擎的工程师,华擎工程师说由于主板限制无法提供此功能——这显然是个推辞(而且现在我通过DIY实践已经证明了这完全是不负责任的说法)。

我抱着一丝希望填写了华擎网站的技术支持表单,提交了。但是意想不到的是,除了提交时候发到信箱的回执之外,到现在半年了如石沉大海。没有任何回应(无论是电话或者是email)。

我后来也尝试过在Linux下强行调整分辨率,虽然可行,但是显示效果不佳,且视频全屏播放时有很多问题,无法正常使用。所以最后只好又购买了一块显卡(捷波的镭霸9550游戏小子)来获得1440*900的支持。

问题是两个月之前,这块显卡开始出现问题。图像出现闪烁的纵向条纹和斑点,而且越来越严重。DX游戏闪烁更是严重根本无法玩。我现在已经拆下这块显卡等着节后去找捷波公司算账(国庆节期间其800电话没人接听)。【10月8日更新,捷波公司的800好像是始终没人听的,而其中国网站上找不到其他电话,台湾网站上的电话打过去一个女人很怒的说早搬走了别再打了(我心中不爽,但也有点同情这个女人),终于我再次发挥狗狗神功找到了捷波的电话,然后从他们总机哪里搞到了一个维修点的地址,奇怪的是这个维修点居然没有固定电话……怀疑中,准备抽时间送过去修修看。】

宽屏支持又没了,我又不想花冤枉钱再买显卡。于是我再次google。显然半年后,更多的同样芯片组的主板都发布了bios更新,如青云、MSI、捷波、硕泰克等的主板。而华擎却始终没有动静。我再次登上华擎的网站,以严厉的口气给他们发了两封信(一封中文,一封英文)。这是给他们最后的机会来挽回华擎这个牌子的信誉。

不过我对他们其实并不抱希望。【10月8日更新:今天收到华擎发来的bios更新,看来这次偶强硬的发信,他们总算学乖了。】我决定自己动手DIY更新BIOS——我看到一篇文章说他通过DIY BIOS让Unichrome Pro显卡支持了宽屏。

虽然我是做软件开发的,也兼做过很多年的系统管理员,BIOS刷新当然小菜一叠,但是DIY BIOS确实是头一遭。刷BIOS不比其他,是有风险的,万一把主板刷废掉就得不偿失了。为此我google了大量资料来参考。

通过学习,我了解到DIY BIOS从原理上来说似乎应该不难,因为BIOS是由许多的模块组成的。厂商会把不同设备所需要的模块组合起来构成完整的BIOS。一些高级功能也因此可以通过DIY被移植到其他主板上——比方说Vista的特定OEM版本会识别BIOS里包含证书的特殊模块(由此也就有了一些通过刷BIOS的OEM破解法)。就我这个问题来说,找到同样芯片组的支持宽屏分辨率的BIOS,然后抽取出其显卡模块,把我的华擎主板的BIOS的显卡模块替换就可以了。

此前我已经收集了不少的支持宽屏的同芯片组的BIOS,之前我也已经下载了AMI的BIOS工具集——华擎这个主板用的是AMIBIOS。

准备理论指导实践了,问题来了。

我找到的示例是针对Award BIOS的,而且我收集的BIOS多是Award的。顺便说一下,一个简单的区分BIOS类型的方法。除了采用单一的EXE可执行文件进行BIOS刷新的形式,多数BIOS刷新都是把BIOS映像文件单列的,然后用工具将其写入BIOS。Award的BIOS文件通常是bin为后缀,而AMI的多以rom为后缀。

为了对付Award BIOS,我下载了CBROM工具。该工具很容易就可以抽取出BIOS中的VGA ROM模块。问题是它可以被导入到AMI BIOS中么?而且用AFUWIN工具把我的BIOS备份下来,使用MMTOOL来查看我的BIOS,发现里面并没有叫做VGA ROM的模块。

下面我被网上一个帖子给误导了,而且差点贸然动手(后果极可能就把主板刷坏了)。

该帖子说他用MMTOOL看到一个叫做Display Manager的模块,但是无法把它Replace掉,MMTOOL提示该模块为non-editable的模块。

这里这个误导就是Display Manager等价于VGA ROM。事实上并非如此。

在认识到这个误区之前,我使用了AMIMMWIN(等价于MMTOOL的命令行版本)居然把Display Manager给替换了!!但是我总觉得有点不妥,因此在我去刷BIOS之前,我又做了点功课,最后避免了刷坏BIOS的灾难。

我就是又去google了,搜索了很多同样集成显卡的主板,然后一个一个下载BIOS更新,来看其是否是AMIBIOS,并且是有宽屏支持的。

功夫不负有心人,我终于找到了两个AMIBIOS的主板。一个是华硕的K8V-MX主板。虽然其官网上并没有写明其0510版本做了哪些改动,但是一些个下载网站加入了说明,说这个版本开始支持了1440*900。我下载了0510版本和之前的0211版本。另一个是精英P4M800PRO-M的Service bios,它虽然不是K8M800芯片组(一个是for intel一个是for amd),但是同样是VIA芯片组,南桥是相同的,都使用Unichrome Pro集成显卡。

我比对了所有这些bios的Display Manager模块,extract出来进行二进制比较。结果令我吃惊,所有这些都相同的!这说明Display Manager模块与分辨率支持并没有关系!

正当我陷入死胡同的时候,我想到关键还是在分离与分辨率有关的bios模块,于是尝试着google“vbios mmtool”,幸运的发现了几篇讲video bios替换的文章。比如:http://www.rebios.net/vbios/vbios.htm。其中指出应该替换“某个ID为20的PCI Option ROM”模块。茅塞顿开,原来前面是搞错了模块。

但是这里仍旧有个误区,在BIOS中有若干个PCI Option ROM,到底哪一个是Video相关的?多数文章会说是第一个PCI Option ROM。但是实际上并不正确。我发现所有的PCI Option ROM模块都有Device ID,想来该ID会指示该模块所服务的实际设备。经过仔细比对之前的若干个BIOS的差异情况,我发现设备ID为3108的应该就是K8M800芯片组的Unichrome显卡相关的部分(其他芯片组的显示设备ID是不同的)。因为华硕的0510和0211版本之间,只有该设备ID所对应的模块的大小发生了变化。当我将华硕0510中的该模块extract出来之后,与从若干个Award BIOS中抽取出来的同一个VGA ROM进行了比对,我欣喜的发现,两者几乎完全一样,只有少数的差异,其中包括显然是发布时间的字符串。

最后,我选择了华硕K8V-MX的0510版本的2006年12月发布的video bios部分,替换了华擎主板的video bios部分。怀着忐忑的心情,我启动AFUWIN,刷新了BIOS。

关机,开机,进入WindowsXP……成功了!现在我的S3控制台可以设置1440*900的分辨率了!

最后,总结我的这个经历,充分说明:

1. [del]华擎的客户服务意识很差,技术支持工程师很不称职[/del]。
【10月8日更新:今日收到了华擎发来的BIOS,所以收回上面这句话。】
2. 善加利用搜索,对于解决问题是非常重要的。
3. 在处理问题的时候要勤于动脑,大胆假设小心求证,三思而后行,千万不要鲁莽。
4. 系统的开放性、标准化、模块化使得DIY成为可能。
5. 求人不如求己,自己动手丰衣足食,DIY精神永垂不朽!
   
时间:2007-10-07
看完这篇博文感觉大开眼界
   
0 请登录后投票
时间:2007-10-08
PCI ID是这么构成的:

Vendor ID -Device ID -Sub Vendor ID -Sub Device Id

Device ID就可以确定是什么设备了,不需要“应该是”。

0x3108 Via Unichrome S3 VGA - part of a VIA Northbridge
它对应的Vendor Id只有:
0x1106 VIA Technology vt8375
   
0 请登录后投票
时间:2007-10-08
Sure,我后来也看到了,不过好像只有K8M800里的unichrome pro的device id是3108,其他芯片组里的有其他device id。

BTW,刚刚收到华擎发来的bios更新,看来这次偶强硬的发信,他们总算学乖了。
   
0 请登录后投票
时间:2007-10-08
华擎、捷波,都是便宜货啊,它就便宜在这些地方了。
下次别光看便宜了。
   
0 请登录后投票
时间:2007-10-08
做过一回,但是老觉得那效果不是很好,有点小糊...
   
0 请登录后投票
时间:2007-10-08
这个芯片组K8M800我也遇到过一回,可是升级了BIOS后效果还是有点差...小糊
   
0 请登录后投票
时间:2007-10-09
BIOS不会刷,没刷过
   
0 请登录后投票
时间:2007-10-15
网站没看到有更新(今日收到了华擎发来的BIOS,所以收回上面这句话)?专门发给你的?能发一个给我吗?我的邮箱xuezhang968@163.com
   
0 请登录后投票
时间:2007-10-15
sheshi1000 写道
网站没看到有更新(今日收到了华擎发来的BIOS,所以收回上面这句话)?专门发给你的?能发一个给我吗?我的邮箱xuezhang968@163.com


这是所谓service bios,仅发给有需要的客户的。附件为该bios。华擎的人自己说:
华擎 写道
您好 ,
请您使用附件中的BIOS,它可能支持1440x900的分辨率。
谢谢您的来信
Yours truly,
ASRock


虽然我没有用这个刷(我用的是我自己制作的那个),但我看了一下这个bios,应该可以支持1440x900,也许还包含一点其他更新。

附件为该bios文件。

注:刷新BIOS是有风险的,且该BIOS未经实机测试,请要刷的同志小心,出了问题请找华擎,俺可不负责
  • K8UVM8_230A.zip (266.3 KB)
  • 描述: 华擎k8upgrade-vm800主板的service bios,版本230A,未经测试,用者风险自负。
  • 下载次数: 43
   
0 请登录后投票
论坛首页 海阔天空版

跳转论坛:
快速回复 引用上一条消息 (Alt+S)