【免费下载链接】nfsu2-web
nfsu2-web 是一个把《极品飞车:地下狂飙 2》(NFS Underground 2,2004)搬进浏览器的开源项目:游戏 x86 代码被静态转译为 C 再编译为 WebAssembly,Direct3D 9 跑在 WebGPU 上,声音走 Web Audio。加载失败、黑屏、掉线时,启动页会给出形如 GPU-ADAPTER-WIN、PAGE-NOT-ISOLATED、VAULT-WRONG-KEY 的短代码——这份 nfsu2-web 故障排查指南把 GPU-、PAGE-、VAULT- 三大类全部错误代码逐条速查,配合修复步骤,让你一篇修好加载失败和黑屏。
启动页是如何自检的
游戏由 web/start.sh 拉起的服务分发。页面先下载游戏模块,一两秒后 Play 按钮亮起;启动页会静默跑完一串自检(HTTPS 安全、交叉隔离、WebGPU、存储等),只在出问题时才显示提示,并附一个所有语言通用的短代码,方便你对照排查(自检逻辑见 checks.ts)。
看码修错的三步:
- 记下屏幕上的代码(如
GPU-ADAPTER-LINUX); - 对照下面的速查表执行对应修复;
- 仍不行就 F9 → Download log 下载日志,带着代码和日志去提问。
GPU- 类错误代码速查:显卡与 WebGPU 加载失败
GPU- 前缀 = 浏览器没能用上本机的图形能力(WebGPU),这是"加载失败 / 黑屏"的最大来源。
| 错误代码 | 含义 | 修复步骤 |
|---|---|---|
GPU-OFF(含 GPU-OFF-FIREFOX、GPU-OFF-IOS 等) | 浏览器没有 WebGPU | Chrome:更新浏览器;Linux 同时打开 chrome://flags/#enable-unsafe-webgpu。Firefox 在 Windows 与 Apple 芯片 Mac 上有;其他系统用 Chrome 或在 about:config 把 dom.webgpu.enabled 设为 true。iPhone/iPad:需 iOS 26 / iPadOS 26。 |
GPU-NOT-SECURE | 页面不在安全上下文 | 改用服务端的 https:// 地址打开;只有 localhost 可以不用 HTTPS。 |
GPU-ACCEL-OFF | Chrome 完全没用硬件加速 | 打开 chrome://settings/system 的 "Use graphics acceleration when available",重启 Chrome;原本开着说明显卡崩溃过,去更新显卡驱动。 |
GPU-ADAPTER-LINUX | Linux 上多半缺 Vulkan 驱动 | Chrome 在 Linux 靠 Vulkan 跑 WebGPU。Debian/Ubuntu:sudo apt install mesa-vulkan-drivers;Fedora:sudo dnf install mesa-vulkan-drivers;Arch:vulkan-intel 或 vulkan-radeon。装完彻底重启 Chrome。 |
GPU-ADAPTER-WIN | 显卡没有 DirectX 12 驱动 | Intel HD 4000 及更老的核显无法运行;较新显卡请从 Intel/AMD/NVIDIA 官网更新驱动后重启 Chrome。chrome://gpu 的 Dawn Info 区会列出每块显卡被拦的原因。 |
GPU-ADAPTER-WIN-ARM | 骁龙等 ARM 芯片的 Windows | Chrome 默认关闭 WebGPU:打开 chrome://flags/#enable-unsafe-webgpu 后重启浏览器。 |
GPU-ADAPTER-ANDROID | 手机/平板显卡在 Chrome 黑名单 | 先更新 Android 与 Chrome(Android 12+ 支持 Adreno/Mali/Intel,PowerVR 需 Android 16)。仍不行就在 Chrome 地址栏输入 chrome://flags/#enable-unsafe-webgpu 设为 Enabled 并重启——三星 Xclipse(部分 Galaxy)靠这招即可运行。 |
GPU-ADAPTER / GPU-ADAPTER-FIREFOX | 浏览器拒绝使用显卡 | 重启浏览器、更新显卡驱动(Mac 上更新 macOS)和浏览器;chrome://gpu 或 Firefox about:support 会写明原因。 |
GPU-ADAPTER-AFTER-LOST | 上次游戏 GPU-LOST 后显卡还没恢复 | Chrome 会把"挂过"的站点拉黑约两分钟,页面每 10 秒自动重试,Play 会自行恢复;一直不亮就彻底退出(所有窗口)再启动 Chrome。 |
GPU-SOFTWARE | 正在用 CPU 软件渲染(SwiftShader) | 能玩但约 13 fps。Linux(如 Steam Deck):再开 chrome://flags/#enable-vulkan 与 #default-angle-vulkan 重启;其他系统看 GPU-ACCEL-OFF。 |
GPU-NO-BC | 显卡不支持游戏的压缩纹理格式 | 无需处理:页面会在加载时自动解包纹理,多占约 200 MB 内存,加载画面可能短暂停顿。 |
GPU-INTEGRATED-FIREFOX | Firefox(Windows)正用核显跑 | 双显卡笔记本:Windows 设置 → 系统 → 显示 → 图形,为 Firefox(或 Chrome)选 High performance,再彻底重启浏览器。 |
GPU-RENDERER | "The game was stopped":显卡没能启动 | 重启浏览器再按 Play;反复出现就更新显卡驱动,并下载日志看其中的 [gpu] 行。 |
GPU-LOST | "The game was stopped":游戏中显卡掉线 | 按 Play:页面重载会重新拉起显卡,存档与设置都会保留。想留证就先下载日志再重载(重载后日志只剩较短副本)。频繁出现:重启浏览器并更新显卡驱动;若接着出现 GPU-ADAPTER-AFTER-LOST,按上表处理。 |
PAGE- 类错误代码速查:页面环境与加载失败
PAGE- 前缀 = 页面所在的浏览器环境不满足运行条件(HTTPS、隔离、内存、JIT 等)。
| 错误代码 | 页面提示 | 修复步骤 |
|---|---|---|
PAGE-NOT-SECURE | "Secure, isolated page" | 打开服务端 https:// 地址而不是 http;只有 localhost 可免 HTTPS。 |
PAGE-NOT-ISOLATED / MODULE-NOT-ISOLATED | 页面未交叉隔离(无 SharedArrayBuffer) | 多为浏览器扩展篡改了页面:先用访客/无痕窗口验证,再在普通窗口逐个关闭扩展。 |
PAGE-NO-MEMORY | Shared WebAssembly memory 不可用 | 浏览器给不出共享内存:关闭多余标签页,更新并重启浏览器。 |
PAGE-NO-JIT | JavaScript 优化器对该站点被禁用 | Chrome:设置 → 隐私和安全 → JavaScript 优化与安全中允许该站点(Android 的 Advanced Protection 会对所有站点禁用它);Edge:为该站点添加增强安全性例外。 |
PAGE-NO-WAITASYNC | "This browser is too old for the game" | 更新浏览器(Firefox 145+),或改用 Chrome。 |
VAULT- 类错误代码速查:云存档同步失败
VAULT- 前缀 = 云端存档(用口令保管的跨设备存档)出问题,代码本身就会说明发生了什么。
| 错误代码 | 含义 | 修复步骤 |
|---|---|---|
VAULT-WRONG-KEY | 口令打不开这份存档 | 检查口令是否输错。 |
VAULT-TOO-LARGE | 存档超过服务器保管上限 | 本地存档不受影响,云端同步会暂停;精简存档后再同步。 |
VAULT-HTTP-429 | 请求过于频繁 | 等一分钟后重试。 |
VAULT-HTTP-503 / VAULT-HTTP-507 | 服务器暂不收新存档 | 稍后再试。 |
VAULT-NO-ANSWER / VAULT-TIMEOUT | 服务器没有应答 | 检查网络后重试。 |
VAULT-LOAD-HALFWAY | 加载云端存档中途停止 | 开玩前重新加载;页面保留的本地副本可从 Put back 恢复。 |
VAULT-OFF / VAULT-PLAYING | 服务未开放 / 本浏览器正在跑游戏 | 等恢复;或等当前对局结束后再同步。 |
其余少见代码(VAULT-NOT-SAVES、VAULT-DAMAGED、VAULT-UNREADABLE、VAULT-INCOMPLETE、VAULT-PUT-BACK、VAULT-KEEP-COPY 等)的文案见 vault.ts 与 vault-ui.ts。
其他启动失败与存储错误代码
| 错误代码 | 含义 | 修复步骤 |
|---|---|---|
MODULE-LOAD | 游戏模块加载失败 | 页面会自动重试,也可按 Retry;模块缺失时先运行 web/start.sh 启动并构建服务。 |
GAME-START | "The game could not start" | 多为浏览器拒绝预留 1 GB 内存(常见于 2~4 GB 内存的手机):关闭其他应用后重载;日志的 [memory] 行写明浏览器拒绝了什么。 |
STORAGE-NONE | 该窗口无法保存文件 | 访客/隐私窗口不能存档:改用普通窗口。 |
STORAGE-OLD | 浏览器过旧(Safari 26 以前) | 更新到 iOS 26 / iPadOS 26 / macOS Safari 26。 |
STORAGE-ASK | 浏览器询问是否允许站点存数据 | 点允许,磁盘吃紧时存档才能保住。 |
BROWSER-CHROME-OLD / BROWSER-FIREFOX-OLD | 浏览器偏旧(警告) | 更新到 Chrome 140+ / Firefox 145+,游戏可能仍可玩。 |
BROWSER-OTHER | 页面不认识该浏览器(提示) | 其余检查全过就有机会能玩。 |
黑屏卡住怎么办:加载失败的分流排查
- 黑屏且无声:基本是 GPU 问题——先核对上面
GPU-表;GPU-LOST后黑屏按"先下载日志,再按 Play 重载"处理。 - 黑屏但有声音:多为显卡渲染异常,下载日志确认有无 WebGPU 报错。例如 9 代 Intel 核显(HD 510 等)存在已知的有声黑屏问题,日志会显示游戏在正常绘制但无 WebGPU 错误,目前尚无修复。
- 卡在加载画面:按 F9 → Quit game;仍卡住点 "Close the game now";再不行点 "Stop the game"。日志若以
[data]行结尾,说明游戏在等服务器数据,数据到位后会自动继续。 Port 8080 is in use(启动时):服务已在跑,直接打开地址即可;或换端口:web/start.sh --http-port 9080。
快速排错清单:6 步定位问题
- 看代码前缀:
GPU-→ 显卡/驱动;PAGE-→ 环境/扩展;VAULT-→ 云存档;MODULE-/GAME-START→ 内存或服务。 - 图形类先试:更新显卡驱动 + 彻底重启浏览器(所有窗口)。
- 打开
chrome://flags/#enable-unsafe-webgpu(Linux / 骁龙 / 三星 / 部分 Android)。 - 用无痕/访客窗口打开,排除扩展干扰(
PAGE-NOT-ISOLATED高发原因)。 - 关闭其他标签页、释放内存(
PAGE-NO-MEMORY、GAME-START)。 - 下载日志,重点搜
TRAP in thread(崩溃)、[watchdog] no Present(冻结)、GPU-、[gpu]、[memory]。
求助前必做:下载日志并看懂代码
- F9 → Download log(对局结束后也可在启动页点 Download log)保存日志。
- 提问时附上:错误代码 + 浏览器版本 + 设备型号 + 日志文件。
- 日志会自动脱敏:你的昵称、房间名、地址会替换为
you、player-3k9x、vlan-7q2m这类占位符,可直接原样发布。
已知常见问题(暂无修复,先对号入座)
- iPhone / iPad 内存不足被浏览器关闭:4 GB 机型(12/13/14 等)最明显,部分日志以
GPU-LOST结尾,尚无设置可修复。 - 华为 Maleoon 显卡:
enable-unsafe-webgpu能启动,但半分钟到几分钟内必GPU-LOST,无修复。 - 2~4 GB 内存的 Android 手机:浏览器无法预留 1 GB 内存,每次 Play 都起不来。
- 9 代 Intel 核显(HD 510 等):Chrome 与 Firefox 均有声黑屏,无修复。
总结
nfsu2-web 的每个错误都是一段短代码 + 可执行提示:GPU- 修驱动与 WebGPU 开关,PAGE- 修安全上下文与扩展,VAULT- 按提示等一等或查口令。记住"更新驱动 → 彻底重启浏览器 → 开 unsafe-webgpu → 无痕窗口验证 → 下载日志"这条主线,绝大多数加载失败与黑屏都能自行解决。
📌 延伸阅读:
- 官方玩家指南(错误表完整出处):docs/web/PLAYING.md
- 页面自检逻辑源码:web/src/app/checks.ts
- 云存档错误定义:web/src/app/vault.ts
- 启动脚本:web/start.sh
【免费下载链接】nfsu2-web
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考




