KytyPS5 完整指南:在 PC 上构建并运行 PS5 游戏
【免费下载链接】KytyPS5PlayStation 5 translation layer for Windows, Linux and macOS项目地址: https://gitcode.com/gh_mirrors/ky/KytyPS5
KytyPS5 是一款免费开源的 PS5 模拟器,用 C++ 编写,可在 Windows、Linux 和 macOS 上直接运行 PS5 游戏。它不依赖外部底层模拟模块,核心功能全部内置,目前能启动不少 2D 与 3D 作品。
动手前:环境与依赖清单
先把条件核对一遍,满足这些要求再动手最省事:
| 项目 | 要求 |
|---|---|
| 系统 | Windows 10 1803 以上、主流 Linux 发行版,或 Apple Silicon 的 macOS |
| 处理器 | 64 位 x86 CPU(macOS 上 x86-64 代码经 Rosetta 2 运行) |
| GPU | 支持 Vulkan 1.3 且驱动最新(macOS 的 Vulkan 由 MoltenVK 提供) |
| 编译器 | 必须用 Clang:Windows 是 clang-cl,Linux/macOS 是 clang,官方不支持 MSVC 的 cl.exe |
| 构建工具 | CMake 3.22+、Ninja、Git、Python 3(随附的 SPIRV-Tools 配置阶段会调用) |
| 图形启动器 | Qt 6(含 Concurrent、Network、Widgets 组件) |
| 辅助工具 | glslang(glslang或glslangValidator在 PATH 中) |
Windows 还需要 Visual Studio 2022(或 Build Tools)带"使用 C++ 的桌面开发"工作负载和"C++ Clang tools for Windows"组件。Linux 上如果漏装音频、Wayland、udev 的开发库,随附的 SDL3 会悄悄跳过这些后端——构建照样成功,但成品没有声音和手柄热插拔,这点 README 专门提了醒。
三平台构建实战
三个平台的步骤是同一套节奏:克隆仓库、拉子模块、配置、构建、安装 ⚙️ 按你所在的系统选对应小节即可。
git clone https://gitcode.com/gh_mirrors/ky/KytyPS5 cd KytyPS5 git submodule update --init --recursiveWindows 构建步骤(clang-cl)
打开 Visual Studio 2022 的 x64 原生工具命令提示符,进入仓库根目录,配置时记得把 Qt 路径换成你实际安装的版本:
cmake -S . -B _Build/windows -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=clang-cl -DCMAKE_CXX_COMPILER=clang-cl -DCMAKE_PREFIX_PATH="C:/Qt/6.x.x/msvc2022_64"接着构建启动器并生成可运行的安装目录,最终程序连同运行时依赖都落在_Build/windows/install:
cmake --build _Build/windows --target launcher cmake --install _Build/windows --prefix _Build/windows/installLinux 构建步骤
先装工具链和 SDL3 需要的系统库,一次装全,避免上面说的那个"静默缺后端"的坑:
sudo apt-get install --no-install-recommends \ clang lld ninja-build cmake git glslang-tools python3 pkg-config \ libgl1-mesa-dev libx11-dev libxcursor-dev libxext-dev libxfixes-dev \ libxi-dev libxrandr-dev libxss-dev libxtst-dev libxkbcommon-dev \ libasound2-dev libpulse-dev libudev-dev libdbus-1-dev libwayland-dev wayland-protocolsQt 6 用发行版自带的 qt6-base-dev 或官方安装都可以。然后配置、构建、安装(FFmpeg 是静态链接的,不需要系统包):
cmake -S . -B _Build/linux -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_PREFIX_PATH="$Qt6_DIR" cmake --build _Build/linux --target launcher --parallel cmake --install _Build/linux --prefix _Build/linux/install安装步骤会把 Qt 的库和插件一并拷到可执行文件旁边,所以_Build/linux/install不依赖系统上恰好有同版本的 Qt。只想构建模拟器内核和测试、不要启动器的话,关掉KYTY_BUILD_LAUNCHER再单独开一个构建目录即可。
macOS 构建要点(Rosetta 2 + MoltenVK)
macOS 构建目标是 x86-64,在 Apple Silicon 上靠 Rosetta 2 跑。前置条件:装好 Rosetta(softwareupdate --install-rosetta)、Xcode 或 Command Line Tools,再用 Homebrew 装cmake ninja glslang python。注意 Homebrew 的 Qt 只有 arm64,链接会失败,必须用官方 Qt 6。
cmake -S . -B _Build/macos -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES=x86_64 -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_PREFIX_PATH="$Qt6_DIR" cmake --build _Build/macos --target launcher --parallel cmake --install _Build/macos --prefix _Build/macos/install构建会自动给kyty_emulator重新签名它执行翻译代码所需的 JIT 权限,你不用手工签名主程序;Vulkan 则由 MoltenVK 提供——从它的发布包取libMoltenVK.dylib,放到程序旁(以及KytyPS5.app/Contents/Frameworks/里)再 ad-hoc 签名。官方发布归档里已带签名好的库,直接解压就能用。
第一次运行
构建成功后,最舒服的路径是图形启动器,命令行则是一条命令的事。先运行启动器(Windows 为kyty_launcher.exe,macOS 直接双击KytyPS5.app):
./_Build/linux/install/kyty_launcher然后按三步走 🚀
- 在全局设置里添加一个或多个游戏文件夹,启动器会递归搜索含
eboot.bin的游戏目录和.zar(ZArchive)转储 - 在游戏列表里选中目标游戏
- 点击运行即可
.zar转储是只读挂载、直接流式读取的,不用先解压。偏好命令行的话,最简用法就一个参数:
./_Build/linux/install/kyty_emulator --game "/games/你的游戏"游戏目录、ELF 文件、.zar档案都能传给它。想看图形、日志、校验、性能分析这些调试开关,跑一下kyty_emulator --help。
上图是 3D 动作游戏 Neptunia ReVerse 在模拟器中运行时的截图。
兼容性一览
看看目前能跑什么,官方截图是最直接的证据,以下条目都来自 README 的截图列表:
| 游戏 | 类型 | 代表画面 |
|---|---|---|
| Astro Bot | 3D 平台跳跃 | |
| SILENT HILL: The Short Message | 3D 恐怖 | |
| Cyberpunk 2077 | 3D 开放世界 | — |
| Demon's Souls | 3D 动作 RPG | — |
| MLB The Show 23 / UFC 6 | 体育竞技 | — |
| Saros / Neptunia ReVerse | 3D 动作 / 视觉小说 | — |
覆盖面从 2D 到 3A 级 3D 都在快速扩张,但别把某一版的结果当成定论 🔍 社区还维护着独立的游戏测试结果列表,核对时以你手上的版本为准。
五分钟看懂内部
能跑起来之后,拆骨架其实不难,三个目录就能抓住主干,每个用一句话概括:
- 加载器 src/loader/:输入是游戏的 ELF 文件(eboot.bin),处理是解析 ELF 段、做运行时链接和符号解析,输出是放进客人内存、随时可执行的代码
- 内核与系统库 src/kernel/、src/libs/:输入是客人程序发起的系统调用,处理是模拟 PS5 内核(内存地址空间、线程、信号量、文件系统)以及音频、控制器、字体、网络等系统模块,输出是宿主机的真实资源
- 图形管线 src/graphics/:输入是 PS5 那颗 RDNA 2 GPU 的 PM4 命令流和着色器字节码,处理是把着色器重编译成自定义 IR、经优化 pass 后发射 SPIR-V,输出是 Vulkan 1.3 渲染进窗口的画面
最后一条链路是项目里最复杂的部件,横跨客 GPU 命令处理、着色器重编译、宿主 Vulkan 后端三层,也是开发精力最集中的地方。
边界与下一步
深入之前,先弄清楚当前的边界在哪里。
- 成熟度:处于活跃开发,版本之间行为可能明显变化;Windows 和 Linux 是主力测试平台,macOS 仍是实验性支持
- 回归测试:tests/ 里有一批覆盖内存、着色器、资源追踪等关键路径的测试,一条命令构建并跑完:
cmake --build _Build/windows --target kyty_tests ctest --test-dir _Build/windows --output-on-failure- Bug 报告:官方最需要的贡献是带完整日志的报告,注明你测试的版本,套用 Game Emulation Status Report 模板提交
- 贡献门槛:PR 必须对应具体游戏的 bug 或启动问题,泛泛的重构或与游戏无关的捆绑提交会被自动关闭;AI 辅助的代码必须披露参与范围和人工审查、测试过程
- 合法性:项目采用 GPL-2.0 许可(见 LICENSE),与索尼无官方关联、不分发游戏,请只使用合法获取的游戏文件
结语
如果你想知道 PC 上 PS5 模拟目前推进到了哪一步,或者想读一套现代 C++ 着色器重编译器的完整实例,KytyPS5 现在就很值得动手:先编译跑通几款 2D 游戏热身,再顺着图形管线往深处走,门槛比预想的低 🎮
【免费下载链接】KytyPS5PlayStation 5 translation layer for Windows, Linux and macOS项目地址: https://gitcode.com/gh_mirrors/ky/KytyPS5
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考