跳到正文
Tom's Hardware· Sayem Ahmed ·· 5 小时前精选AI 评分66

模组作者将 Nvidia 锁定的 DLSS 5 与多帧生成移植到旧款 GPU

Meet the modders porting ringfenced DLSS features to older GPUs

AI 导读

Dashdogy 与 Uncle Burrito 两名模组作者将 Nvidia 锁定在 Blackwell 架构的 DLSS 5 Neural Rendering 与 Multi Frame Generation 移植到 Ada 等旧 GPU。

推荐理由

文章记录两名模组作者如何将 Nvidia 锁定的 DLSS 5 与 MFG 移植到旧架构,反映软件限制而非硬件壁垒。

正文 · AI 翻译

近几周来,我们见证了 DLSS 5 Neural Rendering 在 NBA 2K27 中的发布,随后是其向旧款 GPU 世代的移植,以及 DLSS Multi Frame Generation (MFG) 针对旧款显卡的解锁。但这一切是如何发生的,而模组社区中那些正在解锁 Nvidia 自身对除其最新 Blackwell-based GPUs 之外的用户锁定的功能的人又是谁呢?我们与模组作者 Dashdogy 和 Uncle Burrito 坐下来,以了解模组社区是如何以及为何一直在破除 Nvidia 基于软件的锁。

在 2025 年,RTX 5000 系列显卡发布期间,一名澳大利亚学生正在观看 Digital Foundry 对 Nvidia 工程师的采访,其中该团队正在展示 Multi Frame Generation (MFG),一项锁定于 Blackwell GPUs 的功能。在播客期间,MFG 运行在旧款 RTX 4000 系列硬件上的想法被提出,但该功能从未为 Ada Lovelace 硬件发布。“每隔几个月,我就会做一次 Google 搜索,看看它是否发生过,”学习数学与空间科学的物理专业学生 Dashdogy 说道。

“几周前,完美的风暴降临了。期中假期刚刚开始,我像往常一样做了相同的谷歌搜索。但想,也许我会深入研究一下。能有多难呢?”

一个 AWS 实例,加上一周的熬夜之后,他在 Ada Lovelace 硬件上解锁了“真正的” MFG,这一壮举此前被认为是不可能的,因为不兼容的指令和黑屏阻挡了之前 modder 的进展。我们已经广泛测试了这个 mod,结果非常突出。多帧生成已经非正式地登陆非 Blackwell 硬件。

Dashdogy 并不是唯一一个努力为旧世代 GPU 解锁功能的 modder。几周前,当 DLSS5 的 Neural Rendering DLL 首次出现在互联网上时,RTX Remix modder Uncle Burrito 直接将目光投向了它。“我完全不知道[在 Ada 上运行 DLSS 5]是否可能,”他们说。考虑到之前在首次亮相时声称需要多张 requiring multiple RTX 5090s 的性能要求,Uncle Burrito 知道 DLSS 5 would be computationally expensive,但这并没有阻止他尝试进入 DLL 本身。

“在我借助 Claude 逆向工程它之后,很明显这在 Ada 上是可行的。不仅大部分代码是兼容的,而且在我看来,Ada 的支持似乎只是作为进行中的工作被遗留下来,而非一个硬性限制。”

于是,在 NBA 2K27 的抢先体验版本中发布该 DLL 后不到一天,Uncle Burrito 就成功地将这项技术移植到了 Ada 硬件上。在 Uncle Burrito 发布针对 Ada GPU 上的 DLSS 5 NR 的初步解锁之后的几周里,Nvidia 已经澄清 Neural Rendering 确实会 由 RTX 4000 series GPUs 支持,这证实了这样一种观点:在 Ada GPU 上的实现仅仅是在 DLSS 5 DLL 的初始发售版本中未完成的。

Dashdogy 和 Uncle Burrito 的这两个基础性 mod 现在成为了 无数分支 以及针对旧硬件的 Neural Rendering 和 MFG 集成的基准,这些现在已经允许移植一直回溯到 2018 年的 Turing 架构,而在 DLSS 5 NR 的情况下,则移植到了 AMD 硬件。现在这就像使用众多工具之一将两者点击安装到数百款游戏中一样简单。

解锁 MFG (Dashdogy)

Explainer image for DLSS 4 Multi Frame Generation

(图片来源:Nvidia)

Dashdogy 在模组制作方面的经验跨越数年,他在高中阶段就创建了 Stellaris 模组,并制作兼容性脚本将多个模组打补丁整合在一起。但将 DLSS MFG 移植到 Ada 设备完全是另一回事。尽管 Blackwell 和 Ada 在软件层面相似,它们使用的是完全不同的 ISA。“当这种情况[在 Ada 上运行 Blackwell 指令]发生时,帧会生成,但 GPU 报错并返回黑屏,”他解释道。

在已发售游戏中,支撑 Nvidia DLSS 实现的有两段软件:一个名为 Streamline 的包,通常包含一套 DLSS 软件,是一个让游戏运行各种如 DLSS 般的升采样技术的通用翻译器。与 Streamline 配合使用的是一个 Neural Graphics Framework (NGX),即 Nvidia 的专有软件,支撑其像超分辨率和帧生成这样的 AI 驱动工作。当游戏调用工具时,NGX 进行运算,Streamline 将其提供给特定游戏的引擎。

当 Dashdogy 探索如何使 MFG 与 Ada 兼容时,该模组作者直接针对 Streamline 和 NGX。 “我特意在内存中伪造了那些定义 GPU 允许生成多少帧的 Streamline 和 NGX 调用。” 这种方法让基于 Ada 的 GPU 以为自己被允许生成比平常更多的帧。 “这是一个相当简单的拦截,在 40 系列上把 1 变成 5。现在 GPU 知道‘我是一块 4080,我被允许生成五帧’,”这成功绕过了其他早期模组作者遇到的黑帧问题,从而解锁了更高的帧生成倍数。

Dashdogy 很快将东西打包成一个 Cyberpunk 2077 模组,并将其发布到了 Nexus Mods。这是更成熟集成的一个煤矿里的金丝雀,但事情还不完全完美。Dashdogy 和其他模组作者报告了一个问题——在 Ada 上的 Cyberpunk 2077 中使用超过 2X MFG 时,体验变得迟缓。延迟并不理想,在另一位模组作者的帮助下,他们认为这是传说中的“Hardware Flip Metering”所为,它平滑了 MFG 的输出,并且是 Nvidia 提出的该功能在旧显卡上不起作用的主要原因。

借助一个使用 RTX 6000 Pro Blackwell GPU 的云实例,Dashdogy 迅速着手改进 MFG 模组。“我在 GPU 运行 MFG 时进行了内核转储。” Dashdogy 还配备了 OpenAI 的 Daybreak Blue AI 模型,一个修改版的 GPT 5.6-Sol,其安全保护措施被调整以允许防御性网络安全任务和漏洞发现。利用该模型和他的专业知识,他分析了 RTX 6000 Pro 的内核转储,以检查他的 MFG 模组可能在哪里出错,并将其直接与他的原生 RTX 4000 Series 集成进行比较。

“对于 6X 帧生成,GPU 会渲染两帧真实帧,然后生成五帧并放置在两帧真实帧之间,”他告诉 Tom’s Hardware Premium。如果不复制这种集成,其现有解决方案中的帧节奏会感觉奇怪且不连贯。

RTX MFG frame interval graph

"RTX 4080, fix off" 向我们展示了一簇在光栅帧间隔之间节奏不规则的帧。 (图片来源:Dashdogy)

“40-series 生成的帧全部被压缩在两帧间隔的中间附近。正如你在[上图]中看到的,我们所期望的,以及我从 [RTX Pro 6000 Blackwell] 测量到的,是五帧,整齐地定位在独立的间隔处。然而,40-series GPU 将所有这些强制安排在同一个间隔附近,就像 2X 帧生成会放置其单一帧那样。”

这使得初始 mod 中 MFG 帧的帧节奏感觉迟缓、奇怪且响应不佳,因为帧节奏对于让游戏感觉流畅至关重要,尤其当涉及到任何帧生成工具时。“我发现负责运动处理的 40-series 内核被硬编码为仅输出 2x 的中点缩放,”Dashdogy 描述道。“对于多个生成的帧,这将其所表示的运动压缩向中间。通过修复,它们分布得更像 Blackwell reference。”

“该 mod 可以在任何游戏中实现了正常帧生成的任何地方工作,”Dashdogy 告诉我们,并带有额外的遥测数据供用户确切查看正在发生的变化。“40-series 和 50-series 的内核是相同的;[它]只是特定于架构的功能[阻止了 Ada 上的 MFG]。50-series 有许多 Blackwell-specific 优化,我也向后移植了这些优化,它们总体上有助于更好的延迟。”

模组作者解释说,帧率节奏修复是将如今通用的MFG移植到Ada中最困难的部分。但在其发布后,它现在作为可加载的ASI存在于游戏目录中,并在支持的游戏里控制最多6X的帧生成。该项目已被其他作者fork,他们将Dashdogy编写的逻辑接入了流行的图形模组工具ReShade。

解锁 DLSS 5 NR (Uncle Burrito)

Control Running DLSS 5 on RTX 4080 Super

(图片来源:Remedy Entertainment / Tom's Hardware)

“多年来我一直从事3D美术和图形方面的工作,”图形爱好者Uncle Burrito解释道,他几年前曾使用RTX Remix将路径追踪植入Need For Speed Underground 2。“这些年来,我留在RTX Remix社区,学到了更多关于实时渲染及其所用技术的知识。”

在 Nvidia 的 RTX Remix Discord 频道里待了一阵后,关于 DLSS 5 的 nvngX_dlssnr.dll 出现的消息迅速传开。据 Uncle Burrito 称,版主很快禁止了关于该 DLL 的讨论,而 modder 们则涌向私聊频道和替代服务器,例如 RenoDX Discord 服务器,去讨论开发与集成。该 DLL 本身是专门为 Blackwell 编写的,但 Ada 架构同样具备读取 FP8 指令的能力,而这正是该 DLL 用来加载 DLSS 5 Neural Rendering 模型权重的方式。

以此为起点,Uncle Burrito 迅速开始动手。“模型本身只是权重。这些权重需要代码来执行。代码只针对 Blackwell 编写。CUDA 二进制文件,对吧?”他解释道。但尽管如此,再加上前述 Blackwell 与 Ada 之间 ISA 的差异,档次较低的 RTX 4000 系列 GPU 无法读取某些指令。

“nvngx_dlssnr.dll 中包含的 15 个 CUDA 二进制文件中有 4 个无法在 Ada 上运行。”但正如 Uncle Burrito 此前所解释的,这并非不可能完成的任务。Ada 的集成看起来未完成,因此并非完全不可能。“我只需要修补替换后的编译二进制文件”,也就是说,只需修补 4 个受影响的 CUDA 二进制文件,就能让 RTX 4000 系列显卡正常运行,Uncle Burrito 告诉 Tom’s Hardware Premium。

Uncle Burrito 连同逆向工程工具 Ghidra 以及 Claude Code 的一个实例,着手重新编译不兼容的二进制文件以设计补丁,但却遇到了 Claude 自己造成的障碍。“我自己对逆向工程不太熟悉 […] Claude 决定使用错误版本的 CUDA SDK 来编译替换的 [二进制文件]。”于是,修补后的 DLL 运行了,但输出的却是一片黑屏。“我能看到 NR 调试横幅,它也确实影响了我的帧率,但输出完全是黑的。”

“这是氛围编程的众多陷阱之一,”Uncle Burrito 说。“如果你不了解自己正在做什么,就做不出任何好东西。通常,我不会给模型任何空间去误导或做出错误决定。如果你不知道自己在做什么,那就别指望有奇迹发生。”

在意识到错误并使用正确的 CUDA SDK 重新编译后,结果很快被发布到了 RenoDX Discord 服务器上。“Ada 的性能已经差不多到极限了。它拥有原生的 FP8 支持,因此硬件正在尽其所能。剩下的可归因于芯片中仅仅没有 [having] 足够的算力。”

这个补丁的简单性可能看起来令人惊讶,但该 DLL 依赖于游戏和平台之间标准化的相同信息,类似于 Streamline 在大多数游戏引擎中的工作方式。“运动向量和深度缓冲是我们在图形编程中已经标准化的少数事物中的 [two] 个。几乎每一款现代游戏都会生成运动向量,而没有深度/z缓冲就不可能进行光栅化,”Uncle Burrito 告诉我们。因此,该 DLL 成为了官方分发版本的直接替代品,从而在 Ada 上解锁了该功能。

Uncle Burrito 的方法后来被 RenoDX 的 ShortFuse 采纳,后者随后致力于将 DLSS 5 NR DLL 移植到 Ampere 和 Turing 代显卡上。该移植工作更为复杂,因为它还包括将模型转换以供 FP16 指令读取。在 Uncle Burrito 的工作发布后,出现了一个新的 DLL,可在 Turing、Ampere 和 Ada 代之间实现通用兼容。

解除软件锁定

Nvidia GeForce RTX 5090

(图片来源:Nvidia)

Dashdogy 的 MFG unlocker 和 Uncle Burrito 创建的修补版 Neural Rendering DLL 这两个社区制作的模组,都解锁了原本不会出现在老一代显卡上的功能,或者本应在更晚时候才会添加的功能。据 Dashdogy 称,在支持 Multi Frame Generation 方面,“40-series 没有借口”。“这是一个非常小的改动,使得 [该模组] 能够工作,”并指出正在为 Turing 和 Ampere 重新编译相关内容做额外工作,需要注意的是回退越远,延迟和开销就越高。

“说到底总是性能问题,”Uncle Burrito 说。“在 [Nvidia] 能够把优化部分搞定之前,不纳入 Ada 是合理的。” 该模组作者进一步补充道,这种情况可以从两方面解读:既是 Nvidia 销售更多 RTX 5000 系列显卡的一种手段,也是为了争取更多时间为老款 RTX 4000 系列 GPU 优化 Neural Rendering。

每个人都想充分利用他们现有的硬件,尤其是在消费级显卡定价已经牢牢飙升至月球之外的时候,RTX 5090 GPU 如今逼近 超过$9,000。“我个人认为 [the MFG mod] 在当前市场上非常重要,”Dashdogy 补充道。“... 许多人完全因价格被排除在新一代之外,因此赋予人们将他们的 GPU 继续使用一小段时间的能力,将有助于许多人保持活力并维系于这一爱好。”

如果一个澳大利亚学生就能为老款 GPU 解锁 DLSS MFG,Nvidia 关于硬件独占的说法看起来就不那么像技术限制,而更像人为封锁。对于那些不怕修改游戏中几个简单文件的人来说,这些功能都很容易获得,尽管是非官方的。颇具讽刺意味的是,MFG 和 Neural Rendering 都被移植到了老款 GPU 上——这两款 mod 的开发都依赖于尖端的 AI 模型——由推动 Nvidia 收益的同一生态系统提供动力。如今,Nvidia 所倡导的同一场 AI 革命正被用来拆除它自己的围墙花园。

来源:Tom's Hardware · tomshardware.com