C++ · 项目报告

deadinside28/bloodborne_pc

该仓库暂未提供 GitHub 项目描述。

已完成 打开 GitHub
D
608星标
56Fork
18Issue
GPL-2.0许可证

分析结果

项目分析

bbport 是一个面向 Linux x86-64 的《Bloodborne / 血源诅咒》原生 PC 移植运行时项目,目标是直接运行 PS4 版 Bloodborne CUSA03173 v1.09 的原始可执行文件,而不是作为通用 PS4 模拟器。项目通过离线转换 eboot、实现 Bloodborne 所需的少量 PS4 系统库/runtime,并基于 shadPS4 渲染器扩展 Vulkan 图形后端,实现声音、手柄、存档、补丁、FSR 3.1/4/4.1.1 时间上采样、解锁帧率、启动器和 Steam Deck AppImage。当前状态为 experimental/playable:可以启动、读档和游玩部分区域,但尚未验证完整通关,硬件兼容性也仍有限。

适用领域 游戏移植 / Linux 游戏运行时 / Vulkan 图形渲染 / PS4 游戏兼容层 / C++/C 系统开发 / GPU 性能优化 / FSR 时间上采样 / Steam Deck 游戏适配 / 游戏 Mod/补丁工具链
配置难度 高。该仓库面向有 Linux、Vulkan、C/C++ 构建经验和游戏 dump/Mod 经验的高级用户或开发者。普通玩家即使使用 launcher/AppImage,也需要准备正确版本的解密游戏目录,并理解 GPU、FSR、驱动、分辨率和补丁配置。若要参与开发,则需要理解 PS4 ABI/runtime 替代、Vulkan 渲染、shader recompiler、多线程 GPU command pipeline 和游戏补丁机制。
商业价值 未知
01

技术亮点

  • 不是通用模拟器,而是针对 Bloodborne v1.09 的专用 native port/runtime,游戏 x86-64 代码直接原生执行。
  • 无 CPU 指令级模拟或动态翻译,eboot 会离线转换为 flat memory image,并链接所需 PS4 libc 和 libSceFios2。
  • 基于 shadPS4 渲染器和 shader recompiler,但进行了大量针对 Bloodborne 的改造,包括多线程 GPU command processing、render-state/texture-set 缓存、motion vectors、FSR、capture 和 profiler。
  • 支持解锁帧率和社区补丁,README 给出的示例性能为 RX 7800 XT 上 4K FSR 4 Balanced 约 90 FPS,1440p FSR 4 Quality 约 150 FPS。
  • 针对 Bloodborne 无 velocity buffer 的问题自行计算 motion vectors:通过 depth、scene matrices 计算相机运动,通过上一帧顶点位置计算角色、布料、武器等对象运动。
  • 支持 FSR 3.1、FSR 4、FSR 4.1.1,其中 FSR 4.1.1 可从用户自己的 AMD DLL 捕获/构建资源并在 Vulkan 上原生 replay。
  • FSR 4/4.1.1 部分 pass 经过优化,README 声称在 RDNA3 上比 AMD 原 shader 更快且 bit-exact。
  • 提供游戏内菜单,可调整 upscaler、preset、sharpness、输出分辨率、色差、景深、动态模糊、SSAO、游戏 AA、SSR、LOD 等选项。
  • 提供 GTK4 launcher,支持 Mod、补丁、分辨率、帧率、自由相机、debug menu 等配置。
  • 提供 Steam Deck AppImage 打包方案,适合掌机和非开发环境部署。
  • GPL-2.0 许可证,便于开发者研究和二次开发,但需遵守 copyleft 条款。
02

目标用户

  • 拥有正版 Bloodborne PS4 游戏并能自行 dump CUSA03173 v1.09 文件的玩家
  • Linux 桌面玩家和 Steam Deck 用户
  • 对 Bloodborne 高帧率、4K、FSR 上采样感兴趣的发烧友
  • Vulkan、图形渲染、模拟器/兼容层开发者
  • 研究 PS4 游戏运行时替代、shader recompiler、GPU command stream 的开发者
  • Bloodborne Mod、调试菜单、自由相机和社区补丁用户
03

配置要求

  • 操作系统:Linux x86-64。
  • GPU:支持 Vulkan 1.3。README 中主要测试环境为 AMD Radeon RX 7800 XT + Mesa/RADV。
  • 游戏版本:必须是用户自己的 Bloodborne CUSA03173,版本 1.09,且需要解密 dump。
  • FSR 4/4.1.1 硬件特性:需要 Vulkan shader Float16、Int8/Int16、integer dot products、linear compute derivatives、extended storage image formats;FSR 4.1.1 还需要 VK_VALVE_shader_mixed_float_dot_product。
  • 不满足 FSR 4/4.1.1 条件时会在首帧前回退到 FSR 3.1,并在菜单中禁用不支持选项。
  • 输入:通过 SDL3 使用游戏手柄,也提供键盘 fallback。
  • 运行时环境变量:BB_GAME_DIR 用于指定游戏目录;NVIDIA AppImage 场景下可能需要 BB_NVIDIA_LIB_DIR;NixOS/Steam FUSE 问题下可能需要 TMPDIR、APPIMAGE_EXTRACT_AND_RUN、NO_CLEANUP。
  • 配置文件:bbport.ini 保存设置;user/ 默认保存存档与 shader cache;launcher 可选择其他数据目录。
  • Mod 支持:launcher 可配置 loose-file mod 文件夹;也支持 CUSA03173-mods overlay;第三方 XML 补丁放入数据目录 patches/。
  • 自由相机和 Debug Menu 需要在 launcher 或游戏内菜单启用并重启;Debug Menu 还需要用户自行安装 DbgFont14h.ccm 和 DbgFont14h.tpf 到游戏 dvdroot_ps4/font/。
04

适用场景

  • 在 Linux PC 上运行 PS4 版 Bloodborne,而不依赖完整通用 PS4 模拟器
  • 以 30/60/90 FPS 或更高解锁帧率游玩 Bloodborne
  • 在 720p、1080p、1440p、4K 输出下使用 FSR 3.1、FSR 4 或 FSR 4.1.1 进行时间上采样
  • 在 Steam Deck 上通过 AppImage 启动 Bloodborne
  • 通过 GTK4 launcher 配置分辨率、帧率、FSR 预设、锐化、特效、Mod 和补丁
  • 加载 loose-file Mod、shadPS4 格式 XML 补丁、自由相机和游戏 Debug Menu
  • 研究针对单个游戏定制的高性能 native port/runtime 设计
  • 分析 shadPS4 渲染器在特定游戏上的深度改造和性能优化方法
05

部署与配置

  • 准备 Linux x86-64 环境和支持 Vulkan 1.3 的 GPU。
  • 准备自己解密 dump 的 Bloodborne 游戏目录:CUSA03173,版本必须为 1.09,目录内应包含 eboot.bin、sce_module 等文件。项目不提供任何游戏文件。
  • 安装构建依赖:GCC、CMake、Ninja、Python 3、glslang、SDL3、Vulkan headers,以及 shell.nix 中列出的库;如果使用 Nix,可通过 shell.nix 自动进入依赖环境。
  • 克隆仓库:git clone --recursive <repository> bbport && cd bbport。
  • 构建项目:bash build.sh。该步骤会生成 out/bb-probe 和 out/gpu/libbbgpu.so 等产物。
  • 运行游戏:BB_GAME_DIR=/path/to/CUSA03173 bash run.sh。
  • 也可以启动图形化 launcher:bash launcher/bb-launcher.sh,然后选择游戏目录、设置参数并点击 Start。
  • 如需添加桌面菜单项,可运行 launcher/install-desktop.sh。
  • 默认情况下,游戏目录期望位于仓库旁边的 ../CUSA03173;存档和 shader cache 默认写入 user/;设置写入 bbport.ini。
  • 如需 FSR 4 资源,可运行 bash tools/fetch_fsr4_assets.sh。FSR 3.1 不需要额外模型资源。
  • 如需 FSR 4.1.1,需要用户自己的 AMD DLL 和 Proton/GE-Proton,然后运行 bash tools/fsr4cap/build_assets.sh <amd_fidelityfx_upscaler_dx12.dll> <amd_fidelityfx_loader_dx12.dll>。
  • 如需 Steam Deck/AppImage:bash build.sh && bash packaging/appimage.sh,产物位于 dist/Bloodborne-bbport-x86_64.AppImage。
06

风险与注意事项

  • 项目明确处于 experimental/playable 状态,尚未验证完整通关,可能存在崩溃、图形错误、存档问题或流程阻断。
  • 测试覆盖有限,README 中充分测试的主要是 Linux + AMD RX 7800 XT + Mesa/RADV,其他 GPU、驱动和发行版兼容性不确定。
  • 只支持 Bloodborne CUSA03173 v1.09,不是通用 PS4 模拟器,也不适合运行其他 PS4 游戏或其他版本。
  • 项目不包含游戏文件,用户必须自行合法获取和 dump;涉及商业游戏运行,使用者需要自行承担版权和地区法律风险。
  • FSR 4/4.1.1 对 GPU Vulkan 特性要求较高,NVIDIA 或旧显卡可能只能使用 FSR 3.1,甚至可能出现黑屏等问题。
  • 构建和运行链路较复杂,包含 C/C++、Vulkan、Python 脚本、shader 工具、Nix/系统依赖、Proton/DLL 资源捕获等,对普通玩家门槛较高。
  • GPU occlusion queries 仍使用 synthetic pixel counters,IT_SET_PREDICATION 未实现,某些渲染或可见性逻辑可能不完整。
  • 使用 Mod、第三方补丁、自由相机、Debug Menu 可能带来不稳定或冲突,例如自由相机与 Enemy Control 冲突。
  • GPL-2.0 对闭源商业集成不友好,如果企业想集成或分发衍生版本,需要评估许可证合规。
  • 项目与 Sony、FromSoftware、AMD 无关联,也明确要求不要向 shadPS4 社区咨询本项目问题,支持渠道主要依赖其 Discord。

历史记录

热榜历史快照

2026-10-06 第19名 新收录 · github_search