ShadPS4是一款专为精心打造的开源PS4模拟器,不仅可以精准模拟其运行环境。而且内置PS4游戏pkg文件解析器,支持DLC安装、存档同步及奖杯系统模拟,成功助力部分热门 PS4游戏在PC端顺利运行,感兴趣的用户可以在纯净版系统站内下载体验一下。

功能特色
1. 支持Windows、Linux、macOS三大系统,通过模块化架构适配不同硬件环境。
2. 采用Vulkan API与JIT即时编译技术,显著提升渲染效率,例如《血源诅咒》在RTX 4060显卡上可稳定1080p/60帧,部分游戏帧率突破原生限制。
3. 兼容键盘鼠标、Xbox手柄及DualShock控制器,支持自定义按键映射与组合键设置。
4. 开放MOD接口,允许玩家加载社区开发的画质增强模组(如“Remaster”项目),实现4K分辨率、抗锯齿等画面升级。
5. 内置PS4游戏pkg文件解析器,支持DLC安装、存档同步及奖杯系统模拟。
常见问题
如何选择中文
1. 打开软件后点击顶部菜单栏中的【settings】。

2. 然后选择【configure】点击。

3. 接着在语言项中选择简体中文即可。

模拟器闪退
1. 先看下方的系统配置,如果达标就可跳过这一步。
2. 可以把vc++运行库修复或者卸载重装一下。
3. 安装模拟器时路径里面不要有中文。
4. 提示OutOfDeviceMemory错误时是 VRAM(GPU 内存)不足导致的常见错误。在这种情况下,最好关闭可能正在运行的占用 VRAM 的应用程序。
5. 一些用户可能由于驱动程序过时而出现冻结,并且当模拟器在“保存配置文件”后尝试创建窗口时会冻结。
更新日志
V0.9.0
全新版本刚刚发布。与往常一样,我们在此版本中引入了许多新功能和错误修复,使更多游戏能够进入游戏,其中一些甚至可以畅玩。剩下的就交给您自己去探索吧,以下是简短的更新列表:
核心
sceKernelAssignDirectMemory修补程序。
导出eboot地址。
libkernel:各种文件系统修复。
仅在需要截断时执行早期读写打开操作。
模拟器:修复日志初始化顺序。
核心:修复模块加载地址。
添加 scePthreadSetaffinity 并模拟亲和性。
核心:内存修复。
libkernel:实现sceKernelMemoryPoolBatch。
核心:引入主机调用包装器。
内核:实现 scePthreadGetaffinit。
仅对整个页面进行Mprotect保护。
内核:macOS/Linux 实现 sceKernelUuidCreate。
实现sceKernelIsStack。
实现sceKernelMapDirectMemory2。
针对MapMemory错误的正确错误处理。
库
实现 sceImeDialogGetPanelSize。
VideoOut 事件清理。
实现 sceKernelGetModuleInfo、sceKernelGetModuleInfoInternal 和 sceKernelGetModuleList。
更新 ime_dialog.h。
实现 sceKernelPwritev。
sceNet的初步实现。
保存数据修复。
在执行来宾代码之前清除堆栈。
[库]存根 sceSigninDialog。
视频解码器(videodec)和视频解码器2(videodec2)的日志错误。
[库]sceNet。
sceKernelAddTimerEvent 实现。
equeue:清理计时器实现。
[库]配套 httpd。
SaveDataDialog:修复可能出现的空指针访问问题。
保存数据:请在param.sfo中指定安装目录,以选择游戏保存文件夹。
保存数据:修复了基于配置的保存数据目录使用缺失的问题。
修复“奖杯删除”手柄问题。
着色器重新编译器
在 VALU 实例中使用 GetSrc 函数,而不是假设向量寄存器(原为 vcc_lo)。
lower_buffer_format_to_raw:修复格式重映射的处理问题。
shader_recompiler:添加降低通道,以应对不支持 64 位浮点的情况。
为 32 位浮点数实现 IMAGE_ATOMIC_FMIN 和 IMAGE_ATOMIC_FMAX。
shader_recompiler:修复了一些缓冲区编号转换问题。
实现 SnormNz 转换。
shader_recompiler:扩展 num_conversion 位域。
添加操作码 IMAGE_SAMPLE_B_O。
shader_recompiler:始终将缓冲区标记为存储缓冲区。
将 -1 作为 V_CMP_NE_U64 参数处理。
避免在 S_*_LOAD_DWORD 中后置 SGPR 增量。
处理 VgtStreamoutFlush 事件。
shader_recompiler:修复从步进速率属性读取缓冲区类型的问题。
GPU
renderer_vulkan:将 Vulkan 版本恢复至 1.3。
pp_pass:使用正确的表面格式。
vk_rasterizer:修复蒙版跳过时更新错误的颜色附件的问题。
vk_presenter:使用正确的格式输出帧图像和视图。
vulkan:不使用 VK_EXT_extended_dynamic_state。
vulkan:使用空绑定处理不兼容的深度格式。
gnm:实现 sceGnmDrawIndexIndirectMulti。
liverpool:记录有关 SetQueueReg 的更多信息。
renderer_vulkan:正确启用 DualSrcBlend 功能。
buffer_cache:将 updateBuffer 调用拆分为 65536 字节的块。
vk_instance:启用 robustImageAccess2。
修复:PM4CmdWaitRegMem 内存地址。
amdgpu:处理 32 位 Unorm 格式。
GUI
kbm_gui 的多键。
qt:将物理设备枚举延迟到设置打开。
qt:更新保存数据目录打开以使用 PSF 中的名称。