AnyPS5实现GPU着色器指令全覆盖,但原生运行仍难

AnyPS5实现GPU着色器指令全覆盖。其解码器已识别RDNA全部1166条指令,但这仅指能识别而非正确翻译,目前唯一确认可玩的是2D游戏《梦见莎拉》,原生运行仍具挑战。

AnyPS5 达成 GPU 着色器指令全覆盖里程碑,但 PS5 游戏原生运行仍具挑战

开源项目 AnyPS5 近日宣布实现了一项关键技术突破:其阴影解码器已识别 AMD RDNA 1 和 RDNA 2 指令集中的全部 1,166 条指令,标志着该项目在 Windows 和 Linux PC 上原生运行 PlayStation 5 游戏的努力中达到了 100% 的 GPU 着色器指令覆盖率。然而,这一数据需要谨慎解读,它并不等同于 PS5 GPU 已获得完全支持,更不意味着用户现在即可在 PC 上流畅运行 PS5 游戏。

1166条RDNA指令全覆盖

核心差异在于 AnyPS5 对“实现”的定义。目前,“实现”仅指解码器能够识别这些指令,这虽是重要第一步,但并不保证每条指令都能正确翻译为 SPIR-V 格式,也无法确保其在所有场景下的行为与主机端一致。以网络库 libSceHttp 为例,尽管其报告实现了 95%,但技术债务文档明确指出,当前版本实际上并未发送任何 HTTP 请求至网络层。

技术原理:二进制转换而非传统仿真

AnyPS5 的技术路径并非传统的模拟器架构,而是基于“通过二进制转换和 API 重新实现的原生移植”。该项目直接读取现有的 PS5 可执行文件(采用标准 ELF 格式),将其转换为原生的 x86-64 Linux ELF 或 Windows PE 可执行文件。此过程无需游戏源代码,也不从头重建游戏逻辑,而是适配现有机器代码,并为游戏所需的 PS5 系统库提供原生替代方案。

在图形处理层面,由于 PS5 游戏使用索尼专有的 AGC 图形接口及 AMD RDNA 特定着色器指令,而非 PC 通用的图形 API,AnyPS5 采取了一种混合策略:重新实现必要的图形行为,将 RDNA 着色器程序转换为 SPIR-V,并通过 Vulkan 接口执行。CPU 代码通常在兼容的 x86-64 主机上可直接执行,同时项目提供了 --to-intel 选项,用于将部分 AMD 指令转换为 Intel 处理器支持的指令集。

开发进度与兼容性现状

除 GPU 着色器外,其他模块的开发仍在进行中。进度追踪数据显示,在代码库声明的 3,044 个系统库函数中,已有 2,578 个得到实现,完成率为 84.69%。需要注意的是,该统计未涵盖 PS5 固件中的所有函数,且已实现函数的行为复现程度尚待验证。一款游戏要完整运行,还需依赖图形状态、纹理格式、同步机制、内存管理、音频及其他系统服务的协同工作。

(图片来源:Asteristic 游戏工作室)

目前,AnyPS5 官方兼容性列表中唯一确认可玩的标题是《梦见莎拉》(Dreaming Sarah),这是一款技术复杂度较低的 2D 平台游戏。开发者正致力于解决更复杂游戏(如《幽灵》)中的渲染、稳定性和性能问题。虽然首次成功渲染 3D 场景或开场动画被视为进展,但这与完整通关游戏仍有巨大差距。

此外,AnyPS5 并非开箱即用的破解工具。用户需自行提取游戏 ELF 文件、相关模块及资源,并构建正确的主机端兼容性库方可启动流程。

硬件要求与社区贡献

硬件需求因游戏而异,但内存占用是一个显著瓶颈。项目在 Windows 平台上警告称,单个游戏可能需要高达 13,824 MB (约 13.5 GB) 的直接存储分配,若全额分配将立即触及系统提交限制。这意味着配置 16GB RAM 且页面文件较小的旧款 PC 难以胜任此类任务。

尽管面临诸多技术挑战,AnyPS5 取得的进展值得肯定。识别 RDNA 列表中的每一条指令是实现广泛兼容性的关键步骤。该项目由超过 100 名人类贡献者共同维护,同时也获得了包括 Claude 在内的 AI 助手辅助。随着开发速度的加快,未来或许能在 Rockstar 正式发布 PC 版之前,通过 AnyPS5 在 PC 上体验《GTA VI》的 PS5 版本。

评论 0

0/500

评论需审核后展示,请文明发言

💬
还没有评论,来说两句

相关阅读