给P45插上SLI的翅膀
硬用360度
SLI全称Scalable Link Interface,是通过特殊的接口连接方式,在一块支持多PCI-E ×4~×16插槽的主板上,同时使用两块或者两块以上同型号的NVIDIA PCI-E显卡,以增强系统图形处理能力的一种技术。作为独家技术,NVIDIA以前只在自家的高端芯片组上提供SLI功能。后来才对Intel的X58、P55等芯片组上开放了SLI技术。X58、P55主板通过两种不同的方式支持SLI功能:1.在主板上增加NVIDIA nF200桥接芯片;2.把主板送交NVIDIA以获得SLI认证。由于第二种方式并不需要nF200桥接芯片的硬件支持,NVIDIA只要在相关主板的BIOS中加入认证信息就可以支持SLI功能,因此让广大MOD玩家看到了破解普通主板支持SLI的希望。下面就随笔者一起来享受这个过程吧。
破解SLI的思路
NVIDIA只需要在主板BIOS中加入认证信息就能够让主板支持SLI功能,说明SLI并不一定需要nF200桥接芯片来实现。理论上,我们只要在已经通过NVIDIA认证的主板BIOS中提取出相关的认证信息,并把这些信息加入支持多PCI-E ×4~×16插槽的普通主板BIOS中,就能够让这些主板获得SLI功能。
1.提取SLI认证信息
这个步骤比较复杂,需要对BIOS的编译具备一定的知识,普通玩家无法完成。而网上的MOD高手已经为大家成功提取出ASUS、技嘉、MSI、DFI、富士康等几个品牌主板的认证信息。图1中的字符串就是BIOS中的“SLI身份密匙”。
2.把认证信息加入BIOS中

从图1中可以看到,SLI认证信息其实就是一段包含了特殊代码的字符串,我们需要把这些字符串加入BIOS的SLIC表中。这个方法与玩家们常用的在BIOS SLIC表中增加OEM信息,而实现OEM版本Windows操作系统的免激活的原理非常相似。但是这个过程比较危险,只要加入的位置或者代码长度不正确,就可能导致主板无法启动。因此普通玩家可以选择SoftSLIC的方式,通过软件模拟SLIC表的信息,以达到瞒天过海的目的。
3.破解NVIDIA的显卡驱动
NVIDIA的显卡驱动在安装过程中会自动对系统硬件进行检测,如果使用的主板芯片组没有在NVIDIA官方支持SLI的芯片组范围内,即使存在SLI认证信息,也无法顺利使用SLI功能。这里我们所需要做的就是干扰驱动程序的检测过程。网上的MOD高手为我们提供了两个方法:1.直接安装破解好的MOD版NVIDIA显卡驱动;2.使用破解好的系统硬件信息文件hal.dll替换掉原先的文件,并安装公版的NVIDIA显卡驱动。
破解实战
示范平台:

下面笔者以微星P45 Platinum主板为例,和大家一起来实战P45主板的SLI功能破解。
1.软件模拟SLIC表信息
1)读取主板ACPI信息

首先从电脑报网站下载破解工具压缩包,其中有三个文件:Intel ASL Compiler程序iasl.exe、Microsoft ASL Compiler程序asl.exe、破解好的系统硬件信息文件hal.dll。接着在C盘根目录下创建ACPI子目录,将iasl.exe、asl.exe两个文件拷贝进去。在“开始”菜单中运行CMD,进入“C:\acpi”下运行“iasl –g”,读取主板的ACPI信息。正确提取后会在C:\acpi目录下得到一个名为dsdt_A7512100.dsl的文件(图2),不同主板所得到的文件名不同,但格式都是dsdt_*.dsl。
2)加入SLI验证信息

接下来我们用记事本打开dsdt_A7512100.dsl文件并寻找合适的位置加入SLI验证信息。对于大多数使用AMI BIOS的主板来说,这个加入验证信息的合适位置在文件中最后一个“Return (CRS)”关键字之后(图3)。

找到文件的最后一个“Return (CRS)”句柄,在其下的三个“}”符号下面另起一行,输入如下代码(图4):
Scope (\_SB.PCI0)
{
Name (SLIC, Buffer (0x9E)
{
"987134512781Genuine NVIDIA Certified SLI Ready Motherboard for MSI X58 PLATINUM 0101-Copyright 2008 NVIDIA Corporation All Rights Reserved-765289891023 (R)"
})
Device (WMI1)
{
Name (_HID, "pnp0c14")
Name (_UID, "MXM2")
Name (_WDG, Buffer (0x14)
{
/* 0000 */ 0x3C, 0x5C, 0xCB, 0xF6, 0xAE, 0x9C, 0xBD, 0x4E,
/* 0008 */ 0xB5, 0x77, 0x93, 0x1E, 0xA3, 0x2A, 0x2C, 0xC0,
/* 0010 */ 0x4D, 0x58, 0x01, 0x02
})
Method (WMMX, 3, NotSerialized)
{
CreateDWordField (Arg2, 0x00, FUNC)
If (LEqual (FUNC, 0x41494C53))
{
Return (\_SB.PCI0.SLIC)
}
Return (0x00)
}
}
}
不同品牌主板的验证信息格式完全相同,所不同的仅仅是其中一个字符串,上文中的 "987134512781Genuine NVIDIA Certified SLI Ready Motherboard for MSI X58 PLATINUM 0101-Copyright 2008 NVIDIA Corporation All Rights Reserved-765289891023 (R)"就是MSI主板独有的SLI验证字符串。大家只需参照前面列举出的几个品牌的验证字符串,根据自己的主板品牌选择对应的进行替换即可。理论上来说,相同品牌的字符串可以通用,而如果你的主板不在前面列举的品牌之列,就应该先把BIOS的品牌信息更改为所列品牌之一才能使用对应的验证字符串。
3)导入SLI认证信息

然后我们保存修改后的dsdt_A7512100.dsl文件,在CMD模式下运行“asl dsdt_A7512100.dsl”对修改后的文件重新整合(图5)。如果整合成功,会在当前目录下生成包含有SLI认证信息的DSDT.aml文件。

最后运行“asl /loadtable DSDT.aml –v”命令,把验证信息进行导入(图6)。如果在前面修改dsdt_A7512100.dsl文件的步骤中加入的SLI验证信息长度和位置都正确的话,会提示DSDT表正在升级,并且在下面列出注入信息的路径和提示升级成功。重新启动电脑之后,系统会提示找到名为“Microsoft Windows Management Interface for ACPI”的新硬件并自动安装驱动程序,点击该硬件的属性查看它的设备ID,可以看到ID为“ACPI\PNP0C14\MXM2”,至此才说明SLI验证信息注入成功。
如果注入不成功的话,则运行“asl /loadtable -d DSDT.aml”命令把刚才的操作取消,重新修改dsdt_A7512100.dsl文件并重复前面的步骤进行DSDT表注入。
2.安装显卡驱动
如果前面的修改和注入步骤顺利完成,可以说我们的破解就已经成功了90%。接着我们进行显卡驱动的安装。想使用公版驱动的朋友可以把压缩包中的hal.dll文件复制到C:\WINDOWS\system32目录下替换掉原文件,然后安装NVIDIA显卡公版驱动即可。大家也可以直接安装网上的MOD版驱动,不过该版本的驱动目前只更新到32位XP的190.62版。
下载地址为http://www.xdevs.com/sli/Forceware_XP32_19062_SLImod.rar
3.开启SLI


重新启动计算机后,进入“NVIDIA控制面板”,可以看到在原先设置物理加速的菜单下方增加了开启SLI的选项(图7)。开启SLI后用GPU-Z查看,可以看到两块9600GT显卡已经工作在SLI模式下,P45主板的两条PCI-E ×16插槽也被正确分配为PCI-E ×8+×8模式(图8),破解终于成功。
破解SLI效果测试
实际游戏性能对比(游戏部分分辨率均为1680×1050):

从实际测试中可以看到,破解后的9600GT 512MB SLI系统3D性能提升了30%~50%,基本达到双卡SLI系统的性能提升幅度。如果换成支持双PCI-E ×16的主板,提升幅度将会更可观。
总结
本文介绍的加入验证信息让普通主板支持SLI的方法适用于965P到X48等一系列的Intel芯片组主板,但是具体主板的修改方法可能存在差异,有兴趣的朋友不妨参考上述的各个步骤,让自己的主板免费支持SLI功能。在后续的文章中,笔者将会进一步和大家一起探讨AMD芯片组支持SLI的破解方法。