Linux 平台编译 shadPS4 指南
编译环境说明
推荐使用 Clang 18 编译器,这是官方构建和持续集成使用的工具链。若选择 GCC 编译可能会遇到兼容性问题,如发现任何问题请及时反馈。特别提醒:提交 BUG 报告或 PR 前,请确保已使用 Clang 成功编译过项目。
准备工作
安装依赖项
Debian/Ubuntu 系统
sudo apt install build-essential clang git cmake libasound2-dev \
libpulse-dev libopenal-dev libssl-dev zlib1g-dev libedit-dev \
libudev-dev libevdev-dev libsdl2-dev libjack-dev libsndio-dev \
qt6-base-dev qt6-tools-dev qt6-multimedia-dev libvulkan-dev \
vulkan-validationlayers libpng-dev
Fedora 系统
sudo dnf install clang git cmake libatomic alsa-lib-devel \
pipewire-jack-audio-connection-kit-devel openal-devel \
openssl-devel libevdev-devel libudev-devel libXext-devel \
qt6-qtbase-devel qt6-qtbase-private-devel \
qt6-qtmultimedia-devel qt6-qtsvg-devel qt6-qttools-devel \
vulkan-devel vulkan-validation-layers libpng-devel
Arch Linux 系统
sudo pacman -S base-devel clang git cmake sndio jack2 openal \
qt6-base qt6-declarative qt6-multimedia qt6-tools sdl2 \
vulkan-validation-layers libpng
注意:AUR 中的
shadps4-git
包非官方维护,默认使用 GCC 编译,请谨慎使用。
OpenSUSE 系统
sudo zypper install clang git cmake libasound2 libpulse-devel \
libsndio7 libjack-devel openal-soft-devel libopenssl-devel \
zlib-devel libedit-devel systemd-devel libevdev-devel \
qt6-base-devel qt6-multimedia-devel qt6-svg-devel \
qt6-linguist-devel qt6-gui-private-devel vulkan-devel \
vulkan-validationlayers libpng-devel
NixOS 系统
nix-shell shell.nix
其他发行版解决方案
建议两种方案:
- 通过包管理器搜索对应名称的依赖包安装
- 使用 distrobox 创建基于上述发行版的容器(例如 Arch Linux 容器):
该方案特别推荐用于不可变文件系统发行版(如 Fedora Kinoite、SteamOS)。distrobox create --name archlinux --init --image archlinux:latest
获取源码
git clone --recursive https://github.com/shadps4-emu/shadPS4.git
cd shadPS4
编译选项
推荐方案:终端编译
生成构建目录(启用 Qt GUI):
cmake -S . -B build/ -DENABLE_QT_GUI=ON -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
禁用 Qt GUI 请移除
-DENABLE_QT_GUI=ON
参数,调试版本请添加-DCMAKE_BUILD_TYPE=Debug
开始编译:
cmake --build ./build --parallel$(nproc)
若系统资源紧张导致卡顿,请移除
--parallel$(nproc)
参数运行模拟器: • Qt GUI 版本:
./build/shadps4
• 命令行版本(需指定游戏路径):
./build/shadps4 /游戏路径/文件夹/eboot.bin
也可通过游戏 ID 启动(需在 config.toml 中配置游戏目录),例如美版《血源诅咒》ID 为 CUSA00900
图形化配置(cmake-gui)
- 安装 cmake-gui 工具(通常随 cmake 自动安装)
- 指定源码目录(如
/home/user/shadPS4
)和构建目录(如/home/user/shadPS4/build
) - 配置时选择:
• 生成器:Unix Makefiles
• 指定原生编译器:选择
/bin/clang
和/bin/clang++
- 修改红色标记的配置项后点击生成
- 返回终端执行上述编译命令
Visual Studio Code 方案(适合开发调试)
- 下载 VSCode 或安装发行版提供的 Code - OSS
- 安装 “CMake Tools” 扩展:
- 配置设置:
• 禁用
@ext:ms-vscode.cmake-tools configure
选项• 添加 Qt GUI 参数
-DENABLE_QT_GUI=ON
- 在 CMake 标签页确保配置如下:
- 依次点击:配置 → 构建 → 调试/运行
- 调试前请确认:
• 构建类型设为 Debug
• 启动目标指向
shadPS4/build/shadps4