# ComfyUI-DLSS5-Enhancer 项目评估报告

- 评估对象：<https://github.com/Blueforcer/ComfyUI-DLSS5-Enhancer>
- 上游依赖：<https://github.com/Merserk/dlss5-visual-enhancer>
- 评估时间：2026-09-10（DSH 机 192.168.31.76）
- 方法：完整 clone 两个仓库逐行读码 + GitHub API 取元数据/issue/release + 与上游各 tag 源码逐版本对比 + 官方新闻稿/研究页与社区资料检索 + 本机与 GPU 机环境实测
- **重要前提：本环境没有 Windows 机器，项目未在任何机器上实跑**；"能跑通"与"实际画质"均未验证

---

## 0. 结论速览

| 维度 | 结论 |
|---|---|
| 项目性质 | ComfyUI 自定义节点包（3 个节点），用**自实现的私有二进制协议 v4** 驱动第三方 Windows 程序 «DLSS 5 Visual Enhancer» 的原生 D3D12 worker（ReShade carrier → RenoDX add-on → NGX **feature 18**），对图片批次/视频文件做神经渲染增强 + 可选 1.5x~3x 放大 |
| 代码质量 | **中上偏好**。分层清晰、防御性强（超时/取消/管道崩溃归因/zip-slip 防护/feature-18 证据校验/无网络无 eval 无 shell=True）；扣分：无测试无 CI、安装器无哈希校验、GPU 白名单过严、两个节点失败策略不一致 |
| 仓库可信度 | 作者 **Blueforcer（Stephan）**，2017 年注册，AWTRIX 系列作者（248 followers / 67 repos），**非匿名小号**；仓库 2026-09-02 建，129 star / 7 fork；14 个 commit 全在当天，**此后 8 天零提交、4 个 open issue 全部无维护者实质回复** |
| 安全 | **Python 侧干净**（全仓无网络调用/无 `shell=True`/无 eval/exec/pickle）。风险集中在安装器与外部二进制：467 MB zip **只校验字节数不校验哈希**，随后把 `nvngx.dll` 当可执行文件运行（杀软必报） |
| 合规 | **偏高风险的灰区**：它驱动的 `nvngx_dlssnr.dll` 是 2026-08 从《NBA 2K27》抢先体验版流出的 **NVIDIA 官方签名但未公开发布的组件**（310.8.0 / 158 MB / 148M 参数 FP8 / 仅 sm_120）。NVIDIA 至今**无 DMCA、无封禁、也无任何表态**——自用可以，别分发、别产品化 |
| 版本状态 | **已过时**：节点包硬钉上游 **v3.0**（09-01），上游 5 天走到 **v7.0**（09-05）。我核对 v7.0 源码：协议 magic 与结构体一字未改（客户端大概率仍能驱动），但 **v6.0 起 runtime 目录由扁平改为 `host/ dlss/ dlssnr/` 三级，本包要求五个文件同层 → v6/v7 的 runtime 无法直接复用**，事实上被锁在 ≤ v5.0 |
| 你的环境 | **当前不可用**：仅 Windows。GPU 机是 Ubuntu 24.04 + RTX 5060 Ti、无 wine；DSH 机只有 GTX 970M（Maxwell，远低于 RTX 30 门槛）。详见第 7 节三条路线 |
| 建议 | 小众但真实的技术，**值得关注、暂不建议投产**；真想要这个效果，优先在 Windows 上直接跑上游 v7.0 独立程序（功能是超集），而不是这个钉在 v3.0 且已停滞的节点包 |

---

## 1. 它到底是什么

### 1.1 一句话
把图片/视频帧喂给 NVIDIA DLSS 5 神经渲染（NGX feature 18），拿回"重建了材质响应"的帧。README 强调：不是仿风格的滤镜，而是调用原生渲染器。

### 1.2 技术链路（README 与代码一致）

```
ComfyUI 节点
   │  RGBA8 帧 + FP16 运动矢量 + 历史重置标志
   ▼
原生 D3D12 worker 进程（文件名必须是 nvngx.dll）
   │  ReShade carrier(dxgi.dll) → RenoDX DLSS 5 add-on → NGX feature 18
   ▼
  RGBA8 重建帧
```

- **没有官方 Python API**（确认：NVIDIA 公开 DLSS SDK `v310.9.1` 的 release notes 根本没列 Neural Rendering，官方也没有 standalone/离线 API）。节点包自己实现了 worker 的私有协议 v4：magic `0x34563544 / 0x34505553 / 0x314D5246 / 0x3154554F`，视频头 `<14I4f`，setup 响应 `<12I`（`dlss5/protocol.py`）。
- **视频没有运动矢量**：用 OpenCV DIS 稠密光流现估（默认在 640 px 宽上算再放大），并在场景切换时重置时间历史（阈值 0.24）。
- worker 必须叫 `nvngx.dll` 且是 exe——因为 NR 的"签名代码片段"（signed snippet）在运行时会校验**调用者身份/镜像名**（见 4.3）。

### 1.3 三个节点

| 节点 | 作用 | 关键实现 |
|---|---|---|
| `DLSS5 Settings` | 汇总 13 个神经渲染参数，输出 `DLSS5_SETTINGS` | `nodes/settings_node.py` |
| `DLSS5 Enhance Images` | `IMAGE` → `IMAGE`，批序=时间序，保留 alpha | `nodes/enhance_images.py`（整批输出一次性分配，吃显存/内存） |
| `DLSS5 Enhance Video File` | 文件 → 文件，解码/渲染/编码三线程流水线，保留时间戳/章节/元数据、可选音轨与字幕 | `nodes/enhance_video.py` + `dlss5/media.py` |

代码实测默认值（非抄文档）：`1x DLAA`、模型 preset **M**、`automatic_mask=on`、`skin_structure=2.0`、`local_structure=1.5`、`nr_intensity=1.0`。

---

## 2. 代码审查

### 2.1 结构
```
install_runtime.py   下载/注册原生运行时（许可提示 + zip-slip 防护）
selftest.py          不依赖 ComfyUI 的协议冒烟测试
dlss5/
  protocol.py        二进制线格式（v4）
  session.py         worker 生命周期、握手、逐帧流式收发
  motion.py          光流时间引导 + 场景切换重置
  settings.py        公开参数 → native 头字段
  paths.py           运行时发现与完整性校验
  diagnostics.py     GPU 检查、feature-18 证据、失败归因
  imaging.py         IMAGE 张量 ↔ RGBA8、letterbox
  media.py           ffprobe 探测、PyAV 解码、NVENC 编码、封装
nodes/               三个 ComfyUI V3 节点
```
约 1.4k 行 Python + 22 KB README，无额外重依赖（numpy / av / opencv）。

### 2.2 亮点（确实是认真写的）
1. **崩溃可归因**：把"worker 中途死亡"转成"退出码 + worker 日志尾 + ReShade 日志"的可操作报错（`session.py:206-222`、`diagnostics.py:224-261`），并单独识别 `0xC0000005`（feature-18 内访问违例）给出"升驱动/换 RenoDX 配对"的建议。
2. **拒绝静默降级**：两个节点跑完都检查 ReShade 日志里的 feature-18 证据串，拿不到就报错——避免"其实只做了普通放大却看起来成功"。
3. **并发/取消处理细致**：视频节点有界队列背压（384 MB 预算）、600 s 卡死检测、先 join 写线程再 abort 避免与 PyAV 争用、`abort()` 先杀 ffmpeg 再取锁避免死锁（`media.py:417-432`）。
4. **路径防护**：zip 解压过滤 `..`/绝对路径/盘符（`install_runtime.py:99-107`）；输出相对目录不得逃出 ComfyUI output（`enhance_video.py:61-81`）；prefix 拒绝分隔符与前导 `-`。
5. **无网络、无混淆、无 `shell=True`、无 eval/exec/pickle**（全仓 grep 确认），子进程一律 argv 数组。

### 2.3 发现的问题（按严重度）

| # | 严重度 | 位置 | 问题 |
|---|---|---|---|
| 1 | 高 | `install_runtime.py:58-79` | 467 MB 下载**只校验 Content-Length**，不校验 SHA-256/签名，随后解压出的文件会被执行。README 却称该 commit 为 "Secure the runtime installer" |
| 2 | 高 | `install_runtime.py:189,199` | `--url` 只要求 `https://` 前缀，任意 https 地址都接受 → 社工一句"用这个镜像"即可执行任意 payload |
| 3 | 中 | `diagnostics.py:105-143` | GPU 门槛用**显卡名正则** `RTX\s+(\d{2})` ≥30：① 拒绝 RTX A6000/A4000/RTX PRO 等专业卡（= open issue #1）；② `@lru_cache(maxsize=1)` 全局缓存，多卡/换卡/驱动变化不刷新；③ 协议头里**没有 GPU index**，多卡无法选卡（= open issue #3，作者唯一回复是"问 ChatGPT 后把 `if generation < 30: raise` 改成 `continue`"）。上游 v5.0 早已改为"检测到 RTX 即继续，特性交给运行时判定" |
| 4 | 中 | `enhance_images.py:81-84` | 一次性 `torch.empty(count, out_h, out_w, 4)` 分配整批输出，4K 批量极易 OOM，且无预检（只在 README 提醒） |
| 5 | 中 | `enhance_images.py:112` vs `enhance_video.py:482-487` | 策略不一致：worker 退出码非 0 时，图像节点**丢弃整批结果**，视频节点明确容忍（"每帧都编码完了，脏退出只告警"）。图像节点应采用同样的"成果优先" |
| 6 | 低 | `media.py:193-204` | `_encoder_available` 缓存键含分辨率 → 每个新分辨率都要真跑一次 ffmpeg 试编码，缓存随分辨率增长 |
| 7 | 低 | `__init__.py:23-30` | `if False:` 包起来的 `NODE_CLASS_MAPPINGS` 死代码块，易误导 |
| 8 | 低 | `requirements.txt` | 只有 numpy+av；实际还依赖 opencv（故意不写）、typing_extensions、torch → 普通 `pip install -r` 装不全，报错延迟到运行时 |
| 9 | 低 | 全仓 | 无单元测试、无 CI；`selftest.py` 必须有 Windows + GPU + runtime 才能跑 |
| 10 | 中 | README:79 | **安装指引不成立**："In ComfyUI-Manager, search for 'DLSS5'"——实测 ComfyUI-Manager `custom-node-list.json`（3.0 MB）中 `dlss` 出现 **0** 次，官方 Comfy Registry 精确 id 返回 **404**（open issue #2 就是指这件事，无人回复） |

### 2.4 文档与代码一致性抽查
抽查 README 参数表 vs `dlss5/settings.py` / `nodes/settings_node.py`：默认值、范围、`perf_quality` 映射（1x→5、1.5x→2、1.724x→1、2x→0、3x→3）、"`nr_preset` 无效果""`nr_intensity` 在 1.0 夹紧""`skin_structure` 依赖 `automatic_mask`"等说明**全部对得上**。

**但有一处明显夸大**（见 6.3）：README 第 31–34 行称游戏里"引擎把渲染帧**连同几何、贴图与光照缓冲**以及运动矢量交给模型"，而 **NVIDIA 官方新闻稿只说输入是 "color and motion vectors"**，ADLR 研究页列的条件也只有 rendered frame / motion vectors / temporal state / artistic-direction values。本包对"3D 引导"的描述高于官方口径。

另外，"实测结论"（0.56x/0.70x/0.73x 细节能量比等）**全部为作者自测，无第三方复现**。

---

## 3. 版本与兼容性

### 3.1 时间线

| 版本 | 日期 | 关键变化 |
|---|---|---|
| 上游 v0.1 / v1.0 / v2.0 / 2.1 | 08-30 ~ 09-01 | 从视频转换器起步；支持 RTX 30；修复丢帧/损坏；提速 45% |
| 上游 **3.0** | 09-01 | 批处理、J/K/L/M 模型 preset ← **节点包钉的就是这个** |
| 上游 v4.0 | 09-02 | 帧插值（DLSS Frame Generation）、AI/Video GPU 双选择 |
| 上游 v5.0 | 09-03 | **放宽 GPU/运行时兼容检查**（取消固定白名单）、HDR Mode、CPU/NVENC 分离 |
| 上游 v6.0 | 09-04 | **架构优化运行时**（自称 Ada/Blackwell 最高 **+70%**）、Live 实时渲染模式、480 fps 帧插值 |
| 上游 **v7.0** | 09-05 | **统一 universal NR runtime**（不再手选架构）、**RTX VSR 放大 + RTX Video HDR**、1x~4x |
| 节点包 1.1.0 | 09-02 | 14 个 commit 后再无提交（`pushed_at` = 2026-09-02T14:50:04Z） |

### 3.2 协议层：源码看仍兼容

节点包 README 说"必须 v3.0，否则协议不认"。但我拉了上游 **v7.0** 的 `src/core/runtime.py`：`VIDEO_MAGIC/SETUP_MAGIC/FRAME_MAGIC/OUT_MAGIC` 与 `VIDEO_HEADER_FORMAT="<14I4f"`、`SETUP_RESPONSE_FORMAT="<12I"` 与 v3.0 **完全一致**，字段顺序也一致 → **源码层面 v7.0 的 worker 大概率仍讲同一套 v4 协议**（未实跑验证，故标为高可信推测）。

顺带一个反差：上游 v7.0 校验证据时用**硬编码版本串** `signed DLSSNR 310.8.0 D3D12 runtime initialized`，节点包改成了版本容忍正则 `signed DLSSNR [\d.]+ …`——这一处节点包写得比上游好。

### 3.3 文件布局层：v6.0 起不兼容（比协议更致命）

| tag | `bin/runtime` 布局 |
|---|---|
| 3.0 / v4.0 / v5.0 | 扁平：`nvngx.dll`、`dxgi.dll`、`renodx-dlss5.addon64`、`nvngx_dlss.dll`、`nvngx_dlssnr.dll` + `ReShade.log` |
| v6.0 | `host/`（worker、dxgi、addon、dlssnr）+ `dlss/` |
| v7.0 | `host/` + `dlss/` + `dlssnr/` |

节点包 `dlss5/paths.py:26-32` 要求**五个文件同层**；而 v6+ 的 worker 以 `cwd=runtime` 启动并按自己的相对路径找 `host/`、`dlssnr/`（上游 `src/core/paths.py`）。所以：
- `install_runtime.py --runtime-dir <v7路径>` → 直接报 "runtime is incomplete"；
- 手工摊平也不行（worker 认新相对布局）。
- **现实结论：这个节点包事实上被锁在 ≤ v5.0 的 runtime**，代价是放弃 v6.0 的 Blackwell 提速与 v7.0 的 universal runtime。

（补充：issue #1/#3 的 GPU 拒绝发生在节点包**自己的** `diagnostics.py`，所以"换个新 runtime"根本修不了那两条 issue——这点很容易被误判。）

### 3.4 与你的 GPU 的匹配度
- 你的卡 `NVIDIA GeForce RTX 5060 Ti`（Blackwell，16 GB，驱动 **610.43.02**）：正则 `RTX\s+(\d{2})` → 50 → 能过节点包门槛；官方 DLSS 5 本就只给 RTX 50 系，你这是"正牌"硬件。
- 驱动版本**恰好落在安全区**：上游 issue #24 报告 RTX 5060 Ti 上 feature 18 崩 `0xC0000005`，社区结论是 **616.x 驱动会破坏 ReShade+RenoDX+DLSS5，需回退 610.x**。你是 610.43.02，属于被推荐的那条线（但 README 的基准测试用的是 610.74）。
- 性能参考（README，**RTX 5090 / 610.74**，640×360→1280×720 2x）：worker 启动 ~4 s，约 **10 fps**。按 5060 Ti ≈ 5090 的 1/3 粗估同设置约 **3 fps 量级**；1080p 会更慢。一段 5 s / 24 fps 的 1080p（120 帧）大约 1~3 分钟，可接受但不便宜。

---

## 4. 安全与合规

### 4.1 供应链
- 节点包**不托管**任何二进制（`.gitignore` 屏蔽 `*.dll/*.exe/*.zip`），安装时从上游 Release 现下 467 MB。
- **无哈希、无签名校验**（2.3 #1）；上游 release 也不提供 checksum。
- 解压后执行的是**上游预编译的 `nvngx.dll`**，而上游 git 里 `bin/` 是空的（只有 README 说明"运行时载荷随 release 分发、不提交源码"）→ **worker 本体闭源**，只能选择信任 Merserk（706 star 不等于代码审计）。

### 4.2 为什么杀软一定报
`paths.py:22-24` 自己写明：worker 是 exe 但必须叫 `nvngx.dll`。把可执行文件伪装成 NVIDIA DLL 名再运行，是 Defender/SmartScreen 的标准告警模式；README 的解法是"把 runtime 目录加白名单"，即**让你主动关掉一层防护**。
（上游也有实例：issue #39 有用户报 `rtx-video-worker.exe` 被判 `Gen:Variant.Jatommy.Jasper.2.2444W` 并隔离；维护者解释为无签名+新编译+低流行度导致的启发式误报，并给出 VirusTotal 0/70。**未发现任一仓库为恶意软件的独立证据**，但"报警→加白"这个操作本身要你自己承担。）

### 4.3 "signed snippet" 到底是什么（已查清，非推测）
- 「signed snippet」是**社区术语**，不是 NVIDIA 官方说法：NR 的代码片段由 NVIDIA 数字签名，运行时校验**调用者身份**；正规路径是由 NGX core（`_nvngx.dll`）把 snippet 交给合法 caller，绕过它直接调用会被拒。
  - 旁证：独立项目 kibblerz/DLSS5-Reshade-AIO 称 `nvngx.dll` 是 "the caller-identity bridge required by the NR snippet"；jpneagle/dlss5-webcam-demo 实测 `NVSDK_NGX_D3D12_Init_Ext rejects every combination of application id and API version`，并指出 "the snippet expects to be driven by the NGX core"。
- **它驱动的组件是泄露品**：2026-08-27/28《NBA 2K27》抢先体验版流出 `nvngx_dlssnr.dll`——**NVIDIA 官方数字签名**（签名日 2026-08-11）、版本 **310.8.0**、158.2 MB、约 **1.48 亿参数 FP8**、15 个 cubin **全部 sm_120**（所以天然只在 RTX 50 上跑）、且是开发中 build（残留 `.cursor/rules/…` 与内部代号）。技术拆解见 TechPowerUp。
- **NVIDIA 的态度**：**至今没有任何 DMCA、封禁或公开谴责**。最接近的表态是 2026-09-01 官方确认 NVIDIA App **不提供** per-game override，"游戏是否支持 DLSS 5 取决于开发者"。
- **结论（合规）**：这是"用从游戏包里提取的、未公开发布的 NVIDIA 签名二进制做非游戏用途"，受 NVIDIA RTX SDK License 约束，上游 README 自己写明"出现在便携包中**不**暗示再分发权"。**自用、能跑就跑；别分发、别产品化；也别指望长期可用**（驱动更新随时可能打破，已有 616.x 破坏该链路的实例）。

### 4.4 运行时代码攻击面
全仓无网络请求（`install_runtime.py` 除外）、无遥测、无 `eval/exec/pickle`、无 `shell=True`，子进程全为参数数组 → **Python 侧可认为干净**；真实攻击面是那 467 MB 二进制 + Windows 图形栈，无法从 Python 侧评估。

---

## 5. 上游项目背景（对比参考）

| | 节点包 ComfyUI-DLSS5-Enhancer | 上游 DLSS 5 Visual Enhancer |
|---|---|---|
| 定位 | ComfyUI 内两个处理节点 | Windows 便携 GUI（本地 Gradio） |
| Star / Fork | 129 / 7（2026-09-10） | 706 / 57 |
| 最近版本 | 1.1.0（09-02 后无提交） | v7.0（09-05，下载 8637 次） |
| 能力 | 图片批、视频文件；1x~3x | 图片/视频 + **帧插值（DLSSG，最高 480 fps）** + **Live 实时渲染（本地/直播/YouTube）** + **RTX VSR 放大** + **RTX Video HDR** + 文件夹批量直写 + ZIP 打包 + GPU 分选 |
| 许可 | MIT（仅自身代码） | MIT（仅自身代码；第三方二进制另算） |
| 平台 | Windows only | 64 位 Windows 11 + D3D12 |
| 维护状态 | 8 天零提交、issue 不回应 | 5 天 7 个版本，活跃 |

即：**上游本体已是"全功能版"，节点包是"把其中一条渲染链路搬进 ComfyUI"的子集**，还钉在 5 天前。节点包对你的价值只有"不用出工作流"；代价是功能少、版本旧、仍需要 Windows。

---

## 6. "它真的是 DLSS 5 吗？"（本次核查的关键问题）

### 6.1 证据链（支持"是真的"）
- 二进制协议、握手字段（含 `dlss_model_preset` 的 J/K/L/M = 10/11/12/13、`perf_quality` 枚举）与上游实现逐字一致 → 它确实在驱动同一个原生 worker。
- 成功判据是 ReShade 日志里的 feature-18 证据串，由 RenoDX add-on 打印。
- **最有力的一条**：它驱动/依赖的 `nvngx_dlssnr.dll` 是 **NVIDIA 官方签名的真实模型**（310.8.0、148M 参数 FP8、231 个 DLSSNR 内核、仅 sm_120）——"这只是一个 ReShade 着色器"或"只是 DLSS 4 换皮"的说法**不被证据支持**。
- 节点包 README 给出的功能性测量（preset M 明显多于 J/K、`nr_intensity` 在 1.0 夹紧、`nr_preset` 完全无效果）也只有在真实模型上才成立。

### 6.2 不确定与已知质量问题
- 没有任何独立第三方复现证明"输出确实来自该模型"；证据最终由同一个闭源 add-on 自己打印，属于**自证**。
- **HN 对这两个仓库零覆盖，Reddit/YouTube 无独立评测** → 缺乏外部 verdict（是"证据缺失"，不是否定）。
- 上游 issue 区有真实噪声报告：**#31** 视频输出 "wobble"（直线/网格区域最明显，疑似时序不一致）；**#24** RTX 5060 Ti 上 `0xC0000005`（616.x 驱动问题）；**#20** RTX 3080 Ti / 4060 Ti 报 "No supported NVIDIA RTX GPU was detected"。
- 社区对效果本身有争议：有实测称有明显闪烁、色调/光源漂移、人脸年龄变化、5090 上约 37.5% 性能损失；中文侧有"帧率腰斩""样本本就模糊时近乎滤镜"的说法。这些是**效果争议**，不是"造假"证据。

### 6.3 一处反向的"名不副实"
节点包 README 说游戏内引擎会提供"几何、贴图、光照缓冲"，**高于 NVIDIA 官方口径**（官方只说 color + motion vectors；ADLR 也只列 frame/motion vectors/temporal state/artistic controls）。这一句是宣传性拔高，不影响工程实现，但说明**它的文档不能全信**。

**定级：技术链路可信度高（有 NVIDIA 签名真实模型 + 可观测证据），"效果是否值得"存在明显争议，建议先看样片再决定。**

---

## 7. 在你的环境里能不能用（实测）

| 机器 | 硬件 / 系统 | 是否满足 |
|---|---|---|
| GPU 机 192.168.31.31 | RTX 5060 Ti 16 GB / 驱动 610.43.02 / **Ubuntu 24.04.3** / ComfyUI `ec803fc9`（2026-09-02，含 `comfy_api/latest`，V3 API 可用）/ **无 wine** | ❌ 平台不符（缺 Windows）；ComfyUI 版本与 V3 API 本身没问题 |
| DSH 机 192.168.31.76 | Intel 核显 + **GTX 970M（Maxwell）** / 无 wine | ❌ 双重不符（平台 + 显卡远低于 RTX 30 门槛） |

其它实测：
- Release 资产 `DLSS.5.Visual.Enhancer.v3.0.zip`（466.9 MB）在本机 **≈100 KB/s**（20 s 下 2.0 MB），`curl -I` 跟重定向会直接超时 → **467 MB ≈ 1.3 小时起**，中途可能断。真要下，建议走本机迅雷服务（有对应技能）而非裸 curl。

### 三条路线

| 路线 | 成本 | 评价 |
|---|---|---|
| **A. GPU 机装 Wine + vkd3d-proton 跑 worker** | 中 | **成功率低但没到绝望**：仓库有未合并 PR #4（ethanfel，2026-09-06，14 文件 +2018/−26），做法是**绕开 ReShade**，用 MinGW 交叉编译的 `native/dlss5nr_bridge.cpp`（+1299）直连 D3D12/NGX，`caller_shim.cpp`（+67）产出 `nvngx.dll_comfy.dll` 过 caller 校验，`frame_worker.cpp`（+107）沿用 v4 管道协议；并把 GPU 判定从型号正则改成 **compute capability**（`8.6→30 / 8.9→40 / 12.0→50`，顺带修好 A6000 等专业卡）。作者在 **RTX 5090 + 驱动 610.57.04 + Wine 11.17 + Proton CachyOS** 上验证过，但自述**仍是实验性**、未验证与 Windows 路径的像素对齐。PR 来源可追溯到 `kos94ok/ComfyUI-DLSS5-NR-Linux` ← `lisitskyaa/ComfyUI-DLSS5-NR`。**建议：先小成本试探（打这个 PR → selftest.py），失败就止损**；同时注意它 4 天无人回应、合并状态 clean 但停滞 |
| **B. GPU 机双系统 / Windows 虚拟机 + GPU 直通** | 高 | 能跑，但要重装或配 VFIO；单卡直通意味着 Linux 侧 ComfyUI 停摆。为一个"增强滤镜"改动整机形态不划算 |
| **C. 另找一台 Windows 跑上游 v7.0 独立程序** | 低（只需一台 RTX 30/40/50 的 Windows） | **最推荐**：功能是节点包的超集（帧插值 / RTX VSR / HDR / Live），不受"钉 v3.0"限制，产物拷回 ComfyUI 流水线即可 |
| **D. 什么都不做** | 0 | 如果你只是想减少 AI 视频的蜡感皮肤，现有 RTX VSR + FaceRefine 已覆盖一部分；DLSS5 NR 的差异（材质重建而非锐化）建议先看样片再决定 |

---

## 8. 给这个项目的改进建议（若你要提 issue/PR）

1. **安装器加哈希校验**：把 v3.0 资产 SHA-256 钉进仓库，并拒绝非白名单 `--url`（最高性价比的一处修复）。
2. **解绑 GPU 白名单**：照上游 v5.0 或 PR #4 的做法（compute capability 判定 / 检测到 RTX 即继续），并去掉 `lru_cache`（或把驱动+GPU 列表纳入 key）。
3. **加 GPU 选择参数**：协议头透传 GPU index（需上游配合）。
4. **统一失败策略**：图像节点也应"保留已完成帧"。
5. **对 v6+ runtime 给出明确提示**：现在只会说 "runtime is incomplete"，应提示"检测到 v6/v7 新布局，请使用 ≤ v5.0 或等待适配"。
6. **图像节点加显存预检**：按 `count × out_w × out_h × 4 × 4 B` 估算并提前报错。
7. 修正 README 第 79 行的 ComfyUI-Manager 安装指引（**该指引不成立**，也是 open issue #2）；`requirements.txt` 补 `typing_extensions`，并给一条含 opencv 的"全量安装"命令。

---

## 附录 A：核实方法与证据留痕

```
# 仓库元数据
curl -s https://api.github.com/repos/Blueforcer/ComfyUI-DLSS5-Enhancer
  -> created 2026-09-02T06:39:46Z, stars 129, forks 7, open_issues 4, pushed 2026-09-02T14:50:04Z
curl -s https://api.github.com/repos/Merserk/dlss5-visual-enhancer
  -> created 2026-08-30T19:45:52Z, stars 706, forks 57, license MIT, pushed 2026-09-08

# 提交历史：14 个 commit 全在 2026-09-02
git log --pretty='%h %ad %s' --date=short

# 协议一致性（上游 v7.0 源码）
grep -n "VIDEO_MAGIC\|SETUP_MAGIC\|VIDEO_HEADER_FORMAT\|SETUP_RESPONSE_FORMAT" dlss5-up/src/core/runtime.py
  -> 0x34563544 / 0x34505553 / "<14I4f" / "<12I"（与 v3.0 相同）

# 目录布局变化
curl -s https://raw.githubusercontent.com/Merserk/dlss5-visual-enhancer/3.0/src/runtime.py | grep "WORKER ="
  -> WORKER = RUNTIME / "nvngx.dll"                    # 扁平
curl -s https://raw.githubusercontent.com/Merserk/dlss5-visual-enhancer/v7.0/src/core/paths.py
  -> HOST_DIR=RUNTIME/"host"; DLSS_DIR=RUNTIME/"dlss"; DLSSNR_DIR=RUNTIME/"dlssnr"

# 安全面
grep -rnE "urllib|requests|socket|shell=True|eval\(|exec\(|pickle" dlss5/ nodes/
  -> 无命中（仅安装器使用 urllib）

# 注册表收录
curl -s https://raw.githubusercontent.com/Comfy-Org/ComfyUI-Manager/main/custom-node-list.json | grep -c dlss
  -> 0
curl -s -o /dev/null -w '%{http_code}' https://api.comfy.org/nodes/ComfyUI-DLSS5-Enhancer
  -> 404

# 本机下载实测
timeout 25 curl -sL -r 0-20000000 -o chunk.bin -w '%{size_download} %{speed_download}' <release asset>
  -> 2,039,808 bytes / 约 20 s ≈ 100 KB/s（未下完，超时中断）

# 环境
GPU 机: nvidia-smi -> RTX 5060 Ti, 610.43.02, 16311 MiB；Ubuntu 24.04.3；which wine -> 无
DSH 机: lspci -> Intel 4th Gen iGPU + GM204M [GTX 960 OEM / 970M]；which wine -> 无
```

## 附录 B：官方口径 / 生态 / 社区（检索结果）

### B1. NVIDIA DLSS 5 官方口径
- **发布**：2026-03-16 GTC 新闻稿（Jensen Huang 称 "the GPT moment for graphics"），当时口径 "arriving this fall"。
- **正式可用**：2026-09-01 随《NBA 2K27》上线，官方称支持 **全部 GeForce RTX 50 系列（含笔记本）+ GeForce NOW**。注意三处日期口径冲突：官方页面署 09-01 称"现已可用"、同页中文小标题写"9 月 4 日"、VideoCardz 写"9 月 3 日"。
- **官方定义**（NVIDIA ADLR 研究页，2026-09-01）：one-step pixel-space diffusion model；推理条件 = 当前渲染帧 + 引擎运动矢量 + 携带的时间状态 + 美术方向参数；在 RTX 50 上**本地运行**。
- **官方输入口径**：新闻稿原文 "DLSS 5 takes a game's color and motion vectors for each frame as input"。
- **是否 RTX 50 独占**：官方口径是 RTX 50 系；泄露 DLL 只有 sm_120 cubin（无 sm_75/80/86/89、无 PTX）与之吻合；NVIDIA 未公布 40/30 系计划。
- **有没有官方非游戏 API**：**没有**。官方集成走游戏引擎内 Streamline；公开 DLSS SDK `v310.9.1`（2026-09-08）release notes 只提 Ray Reconstruction Preset F，**未列 Neural Rendering**；2026-09-08 有开发者在 NVIDIA 论坛求 NR 的 UE 插件，**至今无官方回复**。

### B2. feature 18 / signed snippet / 组件泄露
- NGX 中 DLSS Neural Rendering 的 feature ID = **18**，模型 runtime = `nvngx_dlssnr.dll`；多个独立项目一致使用该编号。
- 「signed snippet」= 社区术语：NR snippet 由 NVIDIA 签名并校验调用者身份，NGX core（`_nvngx.dll`）负责转交，绕过会被拒（jpneagle 实测 `NVSDK_NGX_D3D12_Init_Ext` 拒绝所有 application id / API version 组合；kibblerz 称 `nvngx.dll` 是 "caller-identity bridge"）。
- **组件泄露**：2026-08-27/28《NBA 2K27》抢先体验版流出 `nvngx_dlssnr.dll` 310.8.0（NVIDIA 签名，2026-08-11 签；158.2 MB；~148M 参数 FP8；231 个 DLSSNR 内核；15 个 cubin 全 sm_120；开发中 build）。
- **NVIDIA 反应**：无 DMCA、无封禁、无公开表态；只有"NVIDIA App 不提供 per-game override，由开发者实现"的间接口径。

### B3. 社区反应
- **对这两个具体仓库**：HN Algolia 检索 `dlss5` / `ComfyUI DLSS` / `neural rendering comfyui` **无任何相关 story**；未检索到独立第三方评测。→ 缺乏独立 verdict（证据缺失）。
- **上游 issue 区真实问题**：#31 视频 "wobble"（直线/网格最明显）；#24 RTX 5060 Ti `0xC0000005` + **616.x 驱动破坏 ReShade+RenoDX+DLSS5，需回退 610.x**；#20 RTX 3080 Ti / 4060 Ti 报 "No supported NVIDIA RTX GPU was detected"；#39 `rtx-video-worker.exe` 被 Defender 误报（VT 0/70）。
- **"只是 ReShade 着色器 / DLSS 4 换皮"的说法**：**不被证据支持**（官方签名 DLL + 真实 FP8 模型 + 231 个 DLSSNR 内核）。
- **效果争议**：有实测称闪烁、色调/光源漂移、人脸年龄变化、5090 上约 37.5% 性能损失；中文侧有"帧率腰斩""样本本就模糊时近乎滤镜"的说法。

### B4. 收录状态
- ComfyUI-Manager `custom-node-list.json`（3,021,993 bytes）中 `dlss` = 0 次、`Blueforcer` = 0 次 → **未收录**（对应 open issue #2）。
- 官方 Comfy Registry：`/nodes/ComfyUI-DLSS5-Enhancer` → **404**（几个近义 id 也 404）。注：`?search=` 参数实测无效，故以精确 id 404 为准。

### B5. 本报告采信的外部来源
- NVIDIA 新闻稿 <https://nvidianews.nvidia.com/news/nvidia-dlss-5-delivers-ai-powered-breakthrough-in-visual-fidelity-for-games>
- NVIDIA GeForce 文章 <https://www.nvidia.com/en-us/geforce/news/dlss-5-3d-guided-neural-rendering/>
- NVIDIA ADLR DLSS 5 研究页 <https://research.nvidia.com/labs/adlr/DLSS5/>
- TechPowerUp 泄露 DLL 拆解 <https://www.techpowerup.com/352033/nvidia-dlss-5-dll-leaked-by-nba-2k27-early-access-build-heres-our-analysis>
- VideoCardz（无 per-game override）<https://videocardz.com/newz/nvidia-confirms-no-dlss-5-override-in-its-app-so-modders-already-built-their-own-tool>
- 独立实现参考 <https://github.com/kibblerz/DLSS5-Reshade-AIO>、<https://github.com/jpneagle/dlss5-webcam-demo>
- NVIDIA 开发者论坛求助帖 <https://forums.developer.nvidia.com/t/official-dlss-5-neural-rendering-plugin-access-for-unreal-engine-5-8-2/382731>
- 上游 issue/release <https://github.com/Merserk/dlss5-visual-enhancer/issues>、<https://api.github.com/repos/Merserk/dlss5-visual-enhancer/releases>
- 节点包 issue/PR <https://github.com/Blueforcer/ComfyUI-DLSS5-Enhancer/issues/1>、[/2](https://github.com/Blueforcer/ComfyUI-DLSS5-Enhancer/issues/2)、[/3](https://github.com/Blueforcer/ComfyUI-DLSS5-Enhancer/issues/3)、[/pull/4](https://github.com/Blueforcer/ComfyUI-DLSS5-Enhancer/pull/4)

---

*本报告由 DSH 会话生成；所有命令、API 返回与网页抓取均为 2026-09-10 当日实测。事实与推测已分别标注，第 6 节与附录 B 中带"推测/未验证"字样的结论请勿单独引用。*
